summaryrefslogtreecommitdiffstats
path: root/snapcraft.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'snapcraft.yaml')
-rw-r--r--snapcraft.yaml125
1 files changed, 125 insertions, 0 deletions
diff --git a/snapcraft.yaml b/snapcraft.yaml
new file mode 100644
index 00000000..6dcc735f
--- /dev/null
+++ b/snapcraft.yaml
@@ -0,0 +1,125 @@
+name: wekan
+version: "0.26-SNAPSHOT"
+summary: The open-source Trello-like kanban
+description: |
+ Wekan is an open-source and collaborative kanban board application.
+
+ 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.
+ Depending on target environment, some configuration settings might need to be adjusted.
+ For full list of configuration options call:
+ $ wekan.help
+
+confinement: strict
+grade: stable
+
+architectures:
+ - amd64
+
+plugs:
+ mongodb-plug:
+ interface: content
+ target: $SNAP_DATA/shared
+
+slots:
+ mongodb-slot:
+ interface: content
+ write:
+ - $SNAP_DATA/share
+
+apps:
+ wekan:
+ command: wekan-control
+ daemon: simple
+ plugs: [network, network-bind]
+
+ mongodb:
+ command: mongodb-control
+ daemon: simple
+ plugs: [network, network-bind]
+
+ help:
+ command: wekan-help
+
+ database-backup:
+ command: mongodb-backup
+ plugs: [network, network-bind]
+
+ database-list-backups:
+ command: ls -ald $SNAP_COMMON/db-backups/*
+
+ database-restore:
+ command: mongodb-restore
+ plugs: [network, network-bind]
+
+parts:
+ mongodb:
+ source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.14.tgz
+ plugin: dump
+ stage-packages: [libssl1.0.0]
+ filesets:
+ mongo:
+ - usr
+ - bin
+ - lib
+ stage:
+ - $mongo
+ prime:
+ - $mongo
+
+ wekan:
+ source: .
+ plugin: nodejs
+ node-engine: 4.8.1
+ node-packages:
+ - npm@4.6.1
+ - node-gyp
+ - node-pre-gyp
+ - fibers@1.0.15
+ build-packages:
+ - python
+ - g++
+ - capnproto
+ - nodejs
+ - nodejs-legacy
+ - curl
+ prepare: |
+ echo "Cleaning environment first"
+ rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
+ echo "installing meteor first"
+ curl https://install.meteor.com/ -o install_meteor.sh
+ sed -i "s|RELEASE=.*|RELEASE=\"1.4.4.1\"|g" install_meteor.sh
+ chmod +x install_meteor.sh
+ sh install_meteor.sh
+ rm install_meteor.sh
+ mkdir -p packages
+ git clone https://github.com/wekan/flow-router.git packages/kadira-flow-router
+ git clone https://github.com/meteor-useraccounts/core.git packages/meteor-useraccounts-core
+ build: |
+ rm -rf package-lock.json .build
+ meteor add standard-minifier-js --allow-superuser
+ meteor npm install --allow-superuser
+ meteor build .build --directory --allow-superuser
+ cp fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
+ 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
+ cd .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
+ rm -rf node_modules/bcrypt
+ npm install bcrypt
+ cd ../../../../
+ npm install
+ install: |
+ cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
+ cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
+ organize:
+ README: README.wekan
+
+ helpers:
+ source: snap-src
+ plugin: dump
+ organize:
+ wekan-control: bin/wekan-control
+ mongodb-control: bin/mongodb-control
+ wekan-read-settings: bin/wekan-read-settings
+ wekan-help: bin/wekan-help
+ mongodb-backup: bin/mongodb-backup
+ mongodb-restore: bin/mongodb-restore
+ config: bin/config