snapcraft.yaml 4.6 KB

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