snapcraft.yaml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. name: wekan
  2. version: "0.28-SNAPSHOT"
  3. summary: The open-source Trello-like 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. architectures:
  13. - amd64
  14. plugs:
  15. mongodb-plug:
  16. interface: content
  17. target: $SNAP_DATA/shared
  18. slots:
  19. mongodb-slot:
  20. interface: content
  21. write:
  22. - $SNAP_DATA/share
  23. apps:
  24. wekan:
  25. command: wekan-control
  26. daemon: simple
  27. plugs: [network, network-bind]
  28. mongodb:
  29. command: mongodb-control
  30. daemon: simple
  31. plugs: [network, network-bind]
  32. help:
  33. command: wekan-help
  34. database-backup:
  35. command: mongodb-backup
  36. plugs: [network, network-bind]
  37. database-list-backups:
  38. command: ls -ald $SNAP_COMMON/db-backups/*
  39. database-restore:
  40. command: mongodb-restore
  41. plugs: [network, network-bind]
  42. parts:
  43. mongodb:
  44. source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.14.tgz
  45. plugin: dump
  46. stage-packages: [libssl1.0.0]
  47. filesets:
  48. mongo:
  49. - usr
  50. - bin
  51. - lib
  52. stage:
  53. - $mongo
  54. prime:
  55. - $mongo
  56. wekan:
  57. source: .
  58. plugin: nodejs
  59. node-engine: 4.8.4
  60. node-packages:
  61. - npm@4.6.1
  62. - node-gyp
  63. - node-pre-gyp
  64. - fibers@1.0.15
  65. build-packages:
  66. - python
  67. - g++
  68. - capnproto
  69. - nodejs
  70. - nodejs-legacy
  71. - curl
  72. prepare: |
  73. echo "Cleaning environment first"
  74. rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
  75. echo "installing meteor first"
  76. curl https://install.meteor.com/ -o install_meteor.sh
  77. sed -i "s|RELEASE=.*|RELEASE=\"1.4.4.1\"|g" install_meteor.sh
  78. chmod +x install_meteor.sh
  79. sh install_meteor.sh
  80. rm install_meteor.sh
  81. cd ~/.meteor/packages
  82. git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
  83. git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
  84. sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/.meteor/packages/meteor-useraccounts-core/package.js
  85. build: |
  86. rm -rf package-lock.json .build
  87. meteor add standard-minifier-js --allow-superuser
  88. meteor npm install --allow-superuser
  89. meteor build .build --directory --allow-superuser
  90. cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
  91. sed -i "s|build\/Release\/bson|browser_build\/bson|g" .build/bundle/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/node_modules/bson/ext/index.js
  92. cd .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
  93. rm -rf node_modules/bcrypt
  94. npm install bcrypt
  95. cd ../../../../
  96. npm install
  97. install: |
  98. cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
  99. cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
  100. organize:
  101. README: README.wekan
  102. helpers:
  103. source: snap-src
  104. plugin: dump
  105. organize:
  106. wekan-control: bin/wekan-control
  107. mongodb-control: bin/mongodb-control
  108. wekan-read-settings: bin/wekan-read-settings
  109. wekan-help: bin/wekan-help
  110. mongodb-backup: bin/mongodb-backup
  111. mongodb-restore: bin/mongodb-restore
  112. config: bin/config