old-snapcraft.yaml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. name: wekan
  2. version: git
  3. summary: The open-source kanban
  4. description: |
  5. Wekan is an open-source and collaborative kanban board application.
  6. 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.
  7. Depending on target environment, some configuration settings might need to be adjusted.
  8. For full list of configuration options call:
  9. $ wekan.help
  10. confinement: strict
  11. grade: stable
  12. base: core18
  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: [libssl1.0.0, libcurl3]
  59. filesets:
  60. mongo:
  61. - usr
  62. - bin
  63. - lib
  64. stage:
  65. - $mongo
  66. prime:
  67. - $mongo
  68. wekan:
  69. source: .
  70. plugin: nodejs
  71. node-engine: 14.19.0
  72. node-packages:
  73. - node-gyp
  74. - node-pre-gyp
  75. - fibers
  76. build-packages:
  77. - ca-certificates
  78. - apt-utils
  79. - build-essential
  80. - python
  81. - python3
  82. - g++
  83. - capnproto
  84. - curl
  85. - libcurl3
  86. - execstack
  87. - nodejs
  88. - npm
  89. stage-packages:
  90. - libfontconfig1
  91. override-build: |
  92. echo "Cleaning environment first"
  93. rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
  94. rm -rf .build
  95. echo "Installing meteor"
  96. curl https://install.meteor.com/ -o install_meteor.sh
  97. chmod +x install_meteor.sh
  98. sh install_meteor.sh
  99. rm install_meteor.sh
  100. rm -rf .build
  101. meteor add standard-minifier-js --allow-superuser
  102. meteor npm install --allow-superuser
  103. meteor npm install --allow-superuser --save babel-runtime
  104. meteor build .build --directory --allow-superuser
  105. cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
  106. cd .build/bundle/programs/server
  107. npm install
  108. npm install --allow-superuser --save babel-runtime
  109. # Change back to Wekan source directory
  110. cd ../../../..
  111. cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
  112. cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
  113. rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
  114. 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
  115. rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/tar/lib/.mkdir.js.swp
  116. rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
  117. rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
  118. rm -f $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
  119. organize:
  120. README: README.wekan
  121. prime:
  122. - -lib/node_modules/node-pre-gyp/node_modules/tar/lib/.unpack.js.swp
  123. helpers:
  124. source: snap-src
  125. plugin: dump
  126. caddy:
  127. plugin: dump
  128. source: https://caddyserver.com/download/linux/amd64?license=personal&telemetry=off
  129. source-type: tar
  130. organize:
  131. caddy: bin/caddy
  132. CHANGES.txt: CADDY_CHANGES.txt
  133. EULA.txt: CADDY_EULA.txt
  134. LICENSES.txt: CADDY_LICENSES.txt
  135. README.txt: CADDY_README.txt
  136. stage:
  137. - -init