snapcraft.yaml 4.0 KB

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