123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- name: wekan
- version: '7.91'
- 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.91/wekan-7.91-amd64.zip
- unzip wekan-7.91-amd64.zip
- rm wekan-7.91-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
|