snapcraft.yaml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. name: wekan
  2. version: 0
  3. version-script: git describe --tags | cut -c 2-
  4. summary: The open-source kanban
  5. description: |
  6. Wekan is an open-source and collaborative kanban board application.
  7. Whether you’re maintaining a personal todo list, planning your holidays with some friends, or working in a team on your next revolutionary idea, Kanban boards are an unbeatable tool to keep your things organized. They give you a visual overview of the current state of your project, and make you productive by allowing you to focus on the few items that matter the most.
  8. Depending on target environment, some configuration settings might need to be adjusted.
  9. For full list of configuration options call:
  10. $ wekan.help
  11. confinement: strict
  12. grade: stable
  13. architectures:
  14. - amd64
  15. plugs:
  16. mongodb-plug:
  17. interface: content
  18. target: $SNAP_DATA/shared
  19. hooks:
  20. configure:
  21. plugs:
  22. - network
  23. - network-bind
  24. slots:
  25. mongodb-slot:
  26. interface: content
  27. write:
  28. - $SNAP_DATA/share
  29. apps:
  30. wekan:
  31. command: wekan-control
  32. daemon: simple
  33. plugs: [network, network-bind]
  34. mongodb:
  35. command: mongodb-control
  36. daemon: simple
  37. plugs: [network, network-bind]
  38. caddy:
  39. command: caddy-control
  40. daemon: simple
  41. plugs: [network, network-bind]
  42. help:
  43. command: wekan-help
  44. database-backup:
  45. command: mongodb-backup
  46. plugs: [network, network-bind]
  47. database-list-backups:
  48. command: ls -al $SNAP_COMMON/db-backups/
  49. database-restore:
  50. command: mongodb-restore
  51. plugs: [network, network-bind]
  52. parts:
  53. mongodb:
  54. source: https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.2/multiverse/binary-amd64/mongodb-org-server_4.2.2_amd64.deb
  55. #https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.14.tgz
  56. #https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.22.tgz
  57. plugin: dump
  58. stage-packages:
  59. - libssl1.0.0
  60. - libcurl3
  61. filesets:
  62. mongo:
  63. - usr
  64. - bin
  65. - lib
  66. stage:
  67. - $mongo
  68. prime:
  69. - $mongo
  70. wekan:
  71. source: .
  72. plugin: nodejs
  73. node-engine: 12.14.1
  74. node-packages:
  75. - node-gyp
  76. - node-pre-gyp
  77. - fibers
  78. build-packages:
  79. - ca-certificates
  80. - apt-utils
  81. - build-essential
  82. - python
  83. - python3
  84. - g++
  85. - capnproto
  86. - curl
  87. - libcurl3
  88. - execstack
  89. - nodejs
  90. - npm
  91. stage-packages:
  92. - libfontconfig1
  93. override-build: |
  94. echo "Cleaning environment first"
  95. rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
  96. rm -rf .build
  97. echo "Installing meteor"
  98. curl https://install.meteor.com/ -o install_meteor.sh
  99. chmod +x install_meteor.sh
  100. sh install_meteor.sh
  101. rm install_meteor.sh
  102. rm -rf .build
  103. meteor add standard-minifier-js --allow-superuser
  104. meteor npm install --allow-superuser
  105. meteor npm install --allow-superuser --save babel-runtime
  106. meteor build .build --directory --allow-superuser
  107. cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
  108. cd .build/bundle/programs/server
  109. npm install
  110. npm install --allow-superuser --save babel-runtime
  111. # Change back to Wekan source directory
  112. cd ../../../..
  113. cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
  114. cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
  115. rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
  116. rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
  117. rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/tar/lib/.mkdir.js.swp
  118. rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
  119. rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
  120. rm -f $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
  121. organize:
  122. README: README.wekan
  123. prime:
  124. - -lib/node_modules/node-pre-gyp/node_modules/tar/lib/.unpack.js.swp
  125. helpers:
  126. source: snap-src
  127. plugin: dump
  128. caddy:
  129. plugin: dump
  130. source: https://caddyserver.com/download/linux/amd64?license=personal&telemetry=off
  131. source-type: tar
  132. organize:
  133. caddy: bin/caddy
  134. CHANGES.txt: CADDY_CHANGES.txt
  135. EULA.txt: CADDY_EULA.txt
  136. LICENSES.txt: CADDY_LICENSES.txt
  137. README.txt: CADDY_README.txt
  138. stage:
  139. - -init