snapcraft.yaml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. name: wekan
  2. version: "0.29-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.15.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. mkdir packages
  82. cd packages
  83. git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
  84. git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
  85. sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/.meteor/packages/meteor-useraccounts-core/package.js
  86. cd ..
  87. build: |
  88. rm -rf package-lock.json .build
  89. meteor add standard-minifier-js --allow-superuser
  90. meteor npm install --allow-superuser
  91. meteor build .build --directory --allow-superuser
  92. cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
  93. 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
  94. cd .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
  95. rm -rf node_modules/bcrypt
  96. npm install bcrypt
  97. cd ../../../../
  98. npm install
  99. install: |
  100. cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
  101. cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
  102. organize:
  103. README: README.wekan
  104. helpers:
  105. source: snap-src
  106. plugin: dump
  107. organize:
  108. wekan-control: bin/wekan-control
  109. mongodb-control: bin/mongodb-control
  110. wekan-read-settings: bin/wekan-read-settings
  111. wekan-help: bin/wekan-help
  112. mongodb-backup: bin/mongodb-backup
  113. mongodb-restore: bin/mongodb-restore
  114. config: bin/config