wekan/snapcraft.yaml

157 lines
5 KiB
YAML
Raw Normal View History

name: wekan
version: 0
version-script: git describe --dirty --tags | cut -c 2-
summary: The open-source Trello-like kanban
description: |
Wekan is an open-source and collaborative kanban board application.
Whether youre 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]
caddy:
command: caddy-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:
2017-12-19 21:38:20 +02:00
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.18.tgz
plugin: dump
stage-packages: [libssl1.0.0]
filesets:
mongo:
- usr
- bin
- lib
stage:
- $mongo
prime:
- $mongo
wekan:
source: .
plugin: nodejs
node-engine: 8.9.3
node-packages:
- npm@5.5.1
- node-gyp
- node-pre-gyp
- fibers@2.0.0
build-packages:
- ca-certificates
- apt-utils
- python
- g++
- capnproto
2017-12-19 21:38:20 +02:00
- npm
- curl
- paxctl
prepare: |
echo "Cleaning environment first"
rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
echo "Applying paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303"
paxctl -mC `which node`
2017-12-19 21:38:20 +02:00
echo "Installing meteor"
curl https://install.meteor.com/ -o install_meteor.sh
sed -i "s|RELEASE=.*|RELEASE=\"1.6.0.1\"|g" install_meteor.sh
chmod +x install_meteor.sh
sh install_meteor.sh
rm install_meteor.sh
2018-01-06 20:29:16 +02:00
mkdir packages
cd packages
git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
2018-01-06 20:29:16 +02:00
sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' meteor-useraccounts-core/package.js
cd ..
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
2017-06-28 14:31:57 +03:00
cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
cd .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
rm -rf node_modules/bcrypt
2018-01-06 20:29:16 +02:00
meteor npm install --save bcrypt
cd ../../../../
npm install
2018-01-06 20:29:16 +02:00
meteor npm install --save bcrypt
install: |
cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
organize:
README: README.wekan
helpers:
source: snap-src
plugin: dump
go:
plugin: nil
prepare: |
gov=$(echo "$(go version | awk '{ print $3}' | sed 's/^..//') 1.7" | awk '{if ($1 < $2) print "old";}')
echo "$(go version)"
if [ "${gov}" = "old" ]; then \
echo "updating to new go"; \
curl https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz -o go1.9.2.linux-amd64.tar.gz; \
tar -xvf go1.9.2.linux-amd64.tar.gz; \
rm -rf /usr/lib/go; \
mv go /usr/lib/; \
ln -sf ../lib/go/bin/go /usr/bin/go; \
fi
caddy:
plugin: go
go-importpath: github.com/mholt/caddy
source: https://github.com/mholt/caddy.git
source-type: git
source-commit: 53e117802fedd5915eeb32907873d8786a4b2936
after:
- go
prime:
- bin/caddy