mirror of https://github.com/wekan/wekan
The Open Source kanban (built with Meteor). Keep variable/table/field names camelCase. For translations, only add Pull Request changes to wekan/i18n/en.i18n.json , other translations are done at https://transifex.com/wekan/wekan only.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
248 lines
9.1 KiB
248 lines
9.1 KiB
name: wekan
|
|
version: '7.90'
|
|
base: core20
|
|
summary: Open Source 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
|
|
|
|
hooks:
|
|
configure:
|
|
plugs:
|
|
- network
|
|
- network-bind
|
|
|
|
slots:
|
|
mongodb-slot:
|
|
interface: content
|
|
write:
|
|
- $SNAP_DATA/share
|
|
|
|
apps:
|
|
wekan:
|
|
command: ./bin/wekan-control
|
|
daemon: simple
|
|
plugs: [network, network-bind]
|
|
|
|
mongodb:
|
|
command: ./bin/mongodb-control
|
|
daemon: simple
|
|
plugs: [network, network-bind]
|
|
|
|
caddy:
|
|
command: ./bin/caddy-control
|
|
daemon: simple
|
|
plugs: [network, network-bind]
|
|
|
|
help:
|
|
command: ./bin/wekan-help
|
|
|
|
database-backup:
|
|
command: ./bin/mongodb-backup
|
|
plugs: [network, network-bind]
|
|
|
|
database-list-backups:
|
|
command: ./bin/database-list-backups
|
|
|
|
database-restore:
|
|
command: ./bin/mongodb-restore
|
|
plugs: [network, network-bind]
|
|
|
|
parts:
|
|
mongodb:
|
|
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.23.tgz
|
|
plugin: dump
|
|
stage-packages:
|
|
- libssl1.1
|
|
- libcurl4
|
|
- libstemmer0d
|
|
- zlib1g
|
|
- libsnappy1v5
|
|
- libyaml-cpp0.6
|
|
- libpcre3
|
|
- libpcrecpp0v5
|
|
- libboost-system1.71.0
|
|
- libboost-iostreams1.71.0
|
|
- libboost-filesystem1.71.0
|
|
- libboost-program-options1.71.0
|
|
- libgoogle-perftools4
|
|
filesets:
|
|
mongo:
|
|
- bin
|
|
- usr
|
|
stage:
|
|
- $mongo
|
|
prime:
|
|
- $mongo
|
|
|
|
mongosh:
|
|
source: https://downloads.mongodb.com/compass/mongodb-mongosh_2.1.1_amd64.deb
|
|
plugin: dump
|
|
|
|
mongotools:
|
|
source: https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2004-x86_64-100.9.4.tgz
|
|
plugin: dump
|
|
|
|
# mongodb44:
|
|
# source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-4.4.18.tgz
|
|
# plugin: dump
|
|
# organize:
|
|
# bin: mongo44bin
|
|
# usr: mongo44usr
|
|
# stage:
|
|
# - -init
|
|
|
|
wekan:
|
|
source: .
|
|
plugin: npm
|
|
npm-node-version: 14.21.3
|
|
## Node.js 14.21.4 from Meteor only exists URL below where it's downloaded and installed.
|
|
## It does not exists in that npm-node-version above.
|
|
#npm-packages:
|
|
# - node-gyp
|
|
# - node-pre-gyp
|
|
# - fibers
|
|
build-packages:
|
|
- build-essential
|
|
- ca-certificates
|
|
- apt-utils
|
|
# - python2
|
|
- python3
|
|
- g++
|
|
- capnproto
|
|
- curl
|
|
- wget
|
|
- unzip
|
|
- execstack
|
|
- nodejs
|
|
- npm
|
|
# - p7zip-full
|
|
stage-packages:
|
|
- libfontconfig1
|
|
override-build: |
|
|
echo "Cleaning environment first"
|
|
#rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
|
|
rm -rf .build
|
|
#echo "Using http npm packages so speedup install process https://stackoverflow.com/questions/39760113/callback-called-more-than-once-while-running-npm-install"
|
|
#echo "registry=http://registry.npmjs.org/" > ~/.npmrc
|
|
#echo "Installing npm, node-gyp, node-pre-gyp, fibers"
|
|
#npm -g install n --unsafe-perm
|
|
#n 14.21.4
|
|
#npm -g install node-gyp --unsafe-perm
|
|
#npm -g install node-pre-gyp --unsafe-perm
|
|
#npm -g install fibers --unsafe-perm
|
|
##echo "Installing meteor"
|
|
##curl https://install.meteor.com/ -o install_meteor.sh
|
|
##chmod +x install_meteor.sh
|
|
##sh install_meteor.sh
|
|
##rm install_meteor.sh
|
|
#npm -g install meteor --unsafe-perm --allow-superuser
|
|
#rm -rf .build
|
|
##chmod u+w *.json
|
|
#npm install --unsafe-perm
|
|
##npm install
|
|
##meteor build .build --directory --allow-superuser
|
|
# Remove legacy webbroser bundle, so that Wekan works also at Android Firefox, iOS Safari, etc.
|
|
##rm -rf .build/bundle/programs/web.browser.legacy
|
|
# Change to directory .build/bundle/programs/server
|
|
##cd .build/bundle/programs/server
|
|
##chmod u+w *.json
|
|
#npm install --unsafe-perm
|
|
##npm install
|
|
##cd node_modules/fibers
|
|
##node build.js
|
|
##cd ../../../../../..
|
|
# Cleanup
|
|
mkdir .build
|
|
cd .build
|
|
wget https://github.com/wekan/wekan/releases/download/v7.90/wekan-7.90-amd64.zip
|
|
unzip wekan-7.90-amd64.zip
|
|
rm wekan-7.90-amd64.zip
|
|
cd ..
|
|
##cd .build/bundle
|
|
##find . -type d -name '*-garbage*' | xargs rm -rf
|
|
##find . -name '*phantom*' | xargs rm -rf
|
|
##find . -name '.*.swp' | xargs rm -f
|
|
##find . -name '*.swp' | xargs rm -f
|
|
##cd ../..
|
|
# Add fibers multi arch
|
|
#cd .build/bundle/programs/server/node_modules/fibers/bin
|
|
#curl https://releases.wekan.team/fibers-multi.7z -o fibers-multi.7z
|
|
#7z x fibers-multi.7z
|
|
#rm fibers-multi.7z
|
|
#cd ../../../../../../..
|
|
# Copy to Snap
|
|
wget https://github.com/wekan/node-v14-esm/releases/download/v14.21.4/node-v14.21.4-linux-x64.tar.xz
|
|
tar -xf node-v14.21.4-linux-x64.tar.xz node-v14.21.4-linux-x64/bin/node
|
|
rm node-v14.21.4-linux-x64.tar.xz
|
|
mkdir $SNAPCRAFT_PART_INSTALL/bin
|
|
cp -p node-v14.21.4-linux-x64/bin/node $SNAPCRAFT_PART_INSTALL/bin/
|
|
rm -rf node-v14.21.4-linux-x64
|
|
cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
|
|
cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
|
|
rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
|
|
# Migrate MongoDB 3 to 6
|
|
wget https://github.com/wekan/migratemongo/archive/refs/heads/main.zip
|
|
unzip main.zip
|
|
mv migratemongo-main migratemongo
|
|
cp -pR migratemongo $SNAPCRAFT_PART_INSTALL/
|
|
rm -rf migratemongo
|
|
rm main.zip
|
|
#rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
|
|
# Delete phantomjs that is in accounts-lockout
|
|
#rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/lucasantoniassi_accounts-lockout/node_modules/phantomjs-prebuilt
|
|
# Delete temporary files
|
|
#rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/tar/lib/.mkdir.js.swp
|
|
#rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
|
|
#rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
|
|
# Meteor 1.8.x additional .swp remove
|
|
#rm -f $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
|
|
# Delete fibers for other archs
|
|
#rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/fibers/bin/linux-ia32*
|
|
# ostrio tmp remove
|
|
#rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/ostrio_files/node_modules/request-libcurl/.node_modules-garbage*
|
|
|
|
organize:
|
|
README: README.wekan
|
|
prime:
|
|
- -lib/node_modules/node-pre-gyp/node_modules/tar/lib/.unpack.js.swp
|
|
- -lib/node_modules/weka*
|
|
|
|
helpers:
|
|
source: snap-src
|
|
plugin: dump
|
|
|
|
caddy:
|
|
plugin: dump
|
|
## Caddy v1 is not developed anymore. TODO: Sometime migrate to Caddy v2.
|
|
## https://caddy.community/t/caddyfile-v1-adapter/9129
|
|
## https://github.com/caddyserver/caddy/tree/v1
|
|
#source: https://caddyserver.com/download/linux/amd64?license=personal&telemetry=off
|
|
#source-type: tar
|
|
# Using last working binary that was downloaded from above URL to Wekan Snap,
|
|
# and .txt files from https://github.com/caddyserver/caddy/tree/v1/dist
|
|
source: https://wekan.github.io/caddy-v1-linux-amd64.7z
|
|
source-type: 7z
|
|
organize:
|
|
caddy: bin/caddy
|
|
CHANGES.txt: license/CADDY_CHANGES.txt
|
|
EULA.txt: license/CADDY_EULA.txt
|
|
LICENSES.txt: license/CADDY_LICENSES.txt
|
|
README.txt: license/CADDY_README.txt
|
|
stage:
|
|
- -init
|
|
|