snapcraft.yaml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. name: wekan
  2. version: '6.21'
  3. base: core20
  4. summary: 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. - build-on: amd64
  15. run-on: amd64
  16. - build-on: arm64
  17. run-on: arm64
  18. - build-on: ppc64el
  19. run-on: ppc64el
  20. - build-on: s390x
  21. run-on: s390x
  22. plugs:
  23. mongodb-plug:
  24. interface: content
  25. target: $SNAP_DATA/shared
  26. hooks:
  27. configure:
  28. plugs:
  29. - network
  30. - network-bind
  31. slots:
  32. mongodb-slot:
  33. interface: content
  34. write:
  35. - $SNAP_DATA/share
  36. apps:
  37. wekan:
  38. command: wekan-control
  39. daemon: simple
  40. plugs: [network, network-bind, mount-observe, system-observe, bluetooth-control]
  41. restart-condition: on-failure
  42. mongodb:
  43. command: mongodb-control
  44. daemon: simple
  45. plugs: [network, network-bind, mount-observe, system-observe, bluetooth-control]
  46. restart-condition: on-failure
  47. caddy:
  48. command: caddy-control
  49. daemon: simple
  50. plugs: [network, network-bind]
  51. help:
  52. command: wekan-help
  53. database-backup:
  54. command: mongodb-backup
  55. plugs: [network, network-bind, mount-observe, system-observe, bluetooth-control]
  56. database-list-backups:
  57. command: ls -al $SNAP_COMMON/db-backups/
  58. database-restore:
  59. command: mongodb-restore
  60. plugs: [network, network-bind, mount-observe, system-observe, bluetooth-control]
  61. parts:
  62. mongodb:
  63. plugin: dump
  64. source:
  65. - on amd64: https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-amd64/mongodb-org-server_4.4.13_amd64.deb
  66. - on arm64: https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-arm64/mongodb-org-server_4.4.13_arm64.deb
  67. - on ppc64el: https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-ppc64el/mongodb-org-server_4.4.13_ppc64el.deb
  68. - on s390x: https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-s390x/mongodb-org-server_4.4.13_s390x.deb
  69. stage-packages:
  70. - libssl1.1
  71. - libcurl3-dev
  72. - libcurl4-openssl-dev
  73. filesets:
  74. mongo:
  75. - usr
  76. - bin
  77. - lib
  78. stage:
  79. - $mongo
  80. prime:
  81. - $mongo
  82. wekan:
  83. #plugin: npm
  84. plugin: dump
  85. source:
  86. # Fixed URLs to some allowed GitHub releases URL.
  87. # Non-GitHub build server file urls are not allowed at 2022-03-02 and later.
  88. - on amd64: https://github.com/wekan/wekan/releases/download/v6.20/wekan-6.20-amd64.zip
  89. - on arm64: https://github.com/wekan/wekan/releases/download/v6.20/wekan-6.20-arm64.zip
  90. - on ppc64el: https://github.com/wekan/wekan/releases/download/v6.20/wekan-6.20-ppc64el.zip
  91. - on s390x: https://github.com/wekan/wekan/releases/download/v6.20/wekan-6.20-s390x.zip
  92. # npm-node-version: 14.19.1
  93. # node-packages:
  94. # - node-gyp
  95. # - node-pre-gyp
  96. # - fibers
  97. # build-packages:
  98. # - npm
  99. # - build-essential
  100. # - ca-certificates
  101. # - apt-utils
  102. # - python
  103. # - python3
  104. # - g++
  105. # - capnproto
  106. # - curl
  107. # - execstack
  108. # - nodejs
  109. # - npm
  110. # - p7zip-full
  111. # stage-packages:
  112. # - libfontconfig1
  113. override-build: |
  114. cp -r bundle/* $SNAPCRAFT_PART_INSTALL/
  115. cp bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
  116. rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
  117. snapcraftctl build
  118. organize:
  119. README: README.wekan
  120. prime:
  121. - -lib/node_modules/node-pre-gyp/node_modules/tar/lib/.unpack.js.swp
  122. - -lib/node_modules/weka*
  123. helpers:
  124. source: snap-src
  125. plugin: dump
  126. caddy:
  127. plugin: dump
  128. ## Caddy v1 is not developed anymore. TODO: Sometime migrate to Caddy v2.
  129. ## https://caddy.community/t/caddyfile-v1-adapter/9129
  130. ## https://github.com/caddyserver/caddy/tree/v1
  131. #source: https://caddyserver.com/download/linux/amd64?license=personal&telemetry=off
  132. #source-type: tar
  133. # Using last working binary that was downloaded from above URL to Wekan Snap,
  134. # and .txt files from https://github.com/caddyserver/caddy/tree/v1/dist
  135. source: https://wekan.github.io/caddy-v1-linux-amd64.7z
  136. source-type: 7z
  137. organize:
  138. caddy: bin/caddy
  139. CHANGES.txt: CADDY_CHANGES.txt
  140. EULA.txt: CADDY_EULA.txt
  141. LICENSES.txt: CADDY_LICENSES.txt
  142. README.txt: CADDY_README.txt
  143. stage:
  144. - -init
  145. caddy2:
  146. plugin: dump
  147. source:
  148. # Fixed URLs to some allowed GitHub releases URL.
  149. # Non-GitHub build server file urls are not allowed at 2022-03-02 and later.
  150. - on amd64: https://github.com/wekan/wekan/releases/download/v6.20/caddy-v2-amd64.zip
  151. - on arm64: https://github.com/wekan/wekan/releases/download/v6.20/caddy-v2-arm64.zip
  152. - on ppc64el: https://github.com/wekan/wekan/releases/download/v6.20/caddy-v2-ppc64el.zip
  153. - on s390x: https://github.com/wekan/wekan/releases/download/v6.20/caddy-v2-s390x.zip
  154. source-type: zip
  155. organize:
  156. caddy: bin/caddy
  157. CHANGES.txt: CADDY_CHANGES.txt
  158. EULA.txt: CADDY_EULA.txt
  159. LICENSES.txt: CADDY_LICENSES.txt
  160. README.txt: CADDY_README.txt
  161. stage:
  162. - -init