Update to Meteor 1.9-beta.4, Node.js 12.13.1 and MongoDB 4.2.1.

Remove MongoDB option --smallfiles that is not supported in MongoDB 4.2.1.
Add MongoDB option --quiet to docker-compose.yml.
Update snap fibers to 4.0.1.

Thanks to xet7 !
This commit is contained in:
Lauri Ojansivu 2019-12-05 10:00:07 +02:00
parent 1b12d3f04f
commit 467a3be850
19 changed files with 73 additions and 557 deletions

View file

@ -1,4 +1,4 @@
FROM ubuntu:disco FROM ubuntu:rolling
LABEL maintainer="sgr" LABEL maintainer="sgr"
ENV BUILD_DEPS="gnupg gosu bsdtar wget curl bzip2 g++ build-essential python git ca-certificates iproute2" ENV BUILD_DEPS="gnupg gosu bsdtar wget curl bzip2 g++ build-essential python git ca-certificates iproute2"
@ -6,10 +6,10 @@ ENV DEBIAN_FRONTEND=noninteractive
ENV \ ENV \
DEBUG=false \ DEBUG=false \
NODE_VERSION=8.16.2 \ NODE_VERSION=12.13.1 \
METEOR_RELEASE=1.8.1 \ METEOR_RELEASE=1.9-beta.4 \
USE_EDGE=false \ USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \ METEOR_EDGE=1.9-beta.4 \
NPM_VERSION=latest \ NPM_VERSION=latest \
FIBERS_VERSION=4.0.1 \ FIBERS_VERSION=4.0.1 \
ARCHITECTURE=linux-x64 \ ARCHITECTURE=linux-x64 \

View file

@ -3,10 +3,10 @@ version: '3.7'
services: services:
wekandb-dev: wekandb-dev:
image: mongo:4.0.12 image: mongo:4.2.1
container_name: wekan-dev-db container_name: wekan-dev-db
restart: unless-stopped restart: unless-stopped
command: mongod --smallfiles --oplogSize 128 command: mongod --oplogSize 128
networks: networks:
- wekan-dev-tier - wekan-dev-tier
expose: expose:

View file

@ -6,9 +6,9 @@
meteor-base@1.4.0 meteor-base@1.4.0
# Build system # Build system
ecmascript@0.13.0 ecmascript@0.14.0-beta190.4
standard-minifier-css@1.5.4 standard-minifier-css@1.6.0-beta190.4
standard-minifier-js@2.5.0 standard-minifier-js@2.6.0-beta190.4
mquandalle:jade mquandalle:jade
# Polyfills # Polyfills
@ -22,7 +22,7 @@ dburles:collection-helpers
idmontie:migrations idmontie:migrations
matb33:collection-hooks matb33:collection-hooks
matteodem:easy-search matteodem:easy-search
mongo@1.7.0 mongo@1.8.0-beta190.4
mquandalle:collection-mutations mquandalle:collection-mutations
# Account system # Account system

View file

@ -1 +1 @@
METEOR@1.8.2 METEOR@1.9-beta.4

View file

@ -1,7 +1,7 @@
3stack:presence@1.1.2 3stack:presence@1.1.2
accounts-base@1.4.5 accounts-base@1.5.0-beta190.4
accounts-oauth@1.1.16 accounts-oauth@1.1.16
accounts-password@1.5.1 accounts-password@1.5.2
aldeed:collection2@2.10.0 aldeed:collection2@2.10.0
aldeed:collection2-core@1.2.0 aldeed:collection2-core@1.2.0
aldeed:schema-deny@1.1.0 aldeed:schema-deny@1.1.0
@ -12,8 +12,8 @@ allow-deny@1.1.0
arillo:flow-router-helpers@0.5.2 arillo:flow-router-helpers@0.5.2
audit-argument-checks@1.0.7 audit-argument-checks@1.0.7
autoupdate@1.6.0 autoupdate@1.6.0
babel-compiler@7.4.0 babel-compiler@7.5.0-beta190.4
babel-runtime@1.4.0 babel-runtime@1.5.0-beta190.4
base64@1.0.12 base64@1.0.12
binary-heap@1.0.11 binary-heap@1.0.11
blaze@2.3.3 blaze@2.3.3
@ -23,7 +23,7 @@ browser-policy-common@1.0.11
browser-policy-framing@1.1.0 browser-policy-framing@1.1.0
caching-compiler@1.2.1 caching-compiler@1.2.1
caching-html-compiler@1.1.3 caching-html-compiler@1.1.3
callback-hook@1.2.0 callback-hook@1.3.0-beta190.4
cfs:access-point@0.1.49 cfs:access-point@0.1.49
cfs:base-package@0.0.30 cfs:base-package@0.0.30
cfs:collection@0.5.5 cfs:collection@0.5.5
@ -57,10 +57,10 @@ deps@1.0.12
diff-sequence@1.1.1 diff-sequence@1.1.1
dynamic-import@0.5.1 dynamic-import@0.5.1
easylogic:summernote@0.8.8 easylogic:summernote@0.8.8
ecmascript@0.13.0 ecmascript@0.14.0-beta190.4
ecmascript-runtime@0.7.0 ecmascript-runtime@0.7.0
ecmascript-runtime-client@0.9.0 ecmascript-runtime-client@0.10.0-beta190.4
ecmascript-runtime-server@0.8.0 ecmascript-runtime-server@0.9.0-beta190.4
ejson@1.1.0 ejson@1.1.0
email@1.2.3 email@1.2.3
es5-shim@4.8.0 es5-shim@4.8.0
@ -101,16 +101,16 @@ meteorhacks:collection-utils@1.2.0
meteorhacks:picker@1.0.3 meteorhacks:picker@1.0.3
meteorhacks:subs-manager@1.6.4 meteorhacks:subs-manager@1.6.4
meteorspark:util@0.2.0 meteorspark:util@0.2.0
minifier-css@1.4.3 minifier-css@1.5.0-beta190.4
minifier-js@2.5.0 minifier-js@2.6.0-beta190.4
minifiers@1.1.8-faster-rebuild.0 minifiers@1.1.8-faster-rebuild.0
minimongo@1.4.5 minimongo@1.4.5
mobile-status-bar@1.0.14 mobile-status-bar@1.0.14
modern-browsers@0.1.4 modern-browsers@0.1.4
modules@0.14.0 modules@0.15.0-beta190.4
modules-runtime@0.11.0 modules-runtime@0.12.0-beta190.4
momentjs:moment@2.24.0 momentjs:moment@2.24.0
mongo@1.7.0 mongo@1.8.0-beta190.4
mongo-decimal@0.1.1 mongo-decimal@0.1.1
mongo-dev-server@1.1.0 mongo-dev-server@1.1.0
mongo-id@1.0.7 mongo-id@1.0.7
@ -127,7 +127,7 @@ mquandalle:mousetrap-bindglobal@0.0.1
mquandalle:perfect-scrollbar@0.6.5_2 mquandalle:perfect-scrollbar@0.6.5_2
msavin:usercache@1.8.0 msavin:usercache@1.8.0
npm-bcrypt@0.9.3 npm-bcrypt@0.9.3
npm-mongo@3.2.0 npm-mongo@3.3.0-beta190.4
oauth@1.2.8 oauth@1.2.8
oauth2@1.2.1 oauth2@1.2.1
observe-sequence@1.0.16 observe-sequence@1.0.16
@ -167,8 +167,8 @@ softwarerero:accounts-t9n@1.3.11
spacebars@1.0.15 spacebars@1.0.15
spacebars-compiler@1.1.3 spacebars-compiler@1.1.3
srp@1.0.12 srp@1.0.12
standard-minifier-css@1.5.4 standard-minifier-css@1.6.0-beta190.4
standard-minifier-js@2.5.0 standard-minifier-js@2.6.0-beta190.4
staringatlights:fast-render@3.2.0 staringatlights:fast-render@3.2.0
staringatlights:inject-data@2.3.0 staringatlights:inject-data@2.3.0
tap:i18n@1.8.2 tap:i18n@1.8.2
@ -186,7 +186,7 @@ useraccounts:core@1.14.2
useraccounts:flow-routing@1.14.2 useraccounts:flow-routing@1.14.2
useraccounts:unstyled@1.14.2 useraccounts:unstyled@1.14.2
verron:autosize@3.0.8 verron:autosize@3.0.8
webapp@1.7.5 webapp@1.8.0-beta190.4
webapp-hashing@1.0.9 webapp-hashing@1.0.9
wekan-accounts-cas@0.1.0 wekan-accounts-cas@0.1.0
wekan-accounts-oidc@1.0.10 wekan-accounts-oidc@1.0.10

View file

@ -1,9 +1,9 @@
dist: disco dist: rolling
sudo: required sudo: required
env: env:
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0 TRAVIS_DOCKER_COMPOSE_VERSION: 3.7.0
TRAVIS_NODE_VERSION: 8.16.2 TRAVIS_NODE_VERSION: 12.13.1
TRAVIS_NPM_VERSION: latest TRAVIS_NPM_VERSION: latest
before_install: before_install:

View file

@ -6,10 +6,10 @@ LABEL maintainer="wekan"
# ENV BUILD_DEPS="paxctl" # ENV BUILD_DEPS="paxctl"
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
DEBUG=false \ DEBUG=false \
NODE_VERSION=v8.16.2 \ NODE_VERSION=12.13.1 \
METEOR_RELEASE=1.8.1 \ METEOR_RELEASE=1.9-beta.4 \
USE_EDGE=false \ USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \ METEOR_EDGE=1.9-beta.4 \
NPM_VERSION=latest \ NPM_VERSION=latest \
FIBERS_VERSION=4.0.1 \ FIBERS_VERSION=4.0.1 \
ARCHITECTURE=linux-x64 \ ARCHITECTURE=linux-x64 \
@ -130,8 +130,8 @@ RUN \
ln -sf $(which bsdtar) $(which tar) && \ ln -sf $(which bsdtar) $(which tar) && \
\ \
# Download nodejs # Download nodejs
wget https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \ wget https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \
wget https://nodejs.org/dist/${NODE_VERSION}/SHASUMS256.txt.asc && \ wget https://nodejs.org/dist/v${NODE_VERSION}/SHASUMS256.txt.asc && \
#--------------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------------
# Node Fibers 100% CPU usage issue: # Node Fibers 100% CPU usage issue:
# https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161 # https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161
@ -146,7 +146,7 @@ RUN \
#echo "1ed54adb8497ad8967075a0b5d03dd5d0a502be43d4a4d84e5af489c613d7795 node-v8.12.0-linux-x64.tar.gz" >> SHASUMS256.txt.asc && \ #echo "1ed54adb8497ad8967075a0b5d03dd5d0a502be43d4a4d84e5af489c613d7795 node-v8.12.0-linux-x64.tar.gz" >> SHASUMS256.txt.asc && \
\ \
# Verify nodejs authenticity # Verify nodejs authenticity
grep ${NODE_VERSION}-${ARCHITECTURE}.tar.gz SHASUMS256.txt.asc | shasum -a 256 -c - && \ grep v${NODE_VERSION}-${ARCHITECTURE}.tar.gz SHASUMS256.txt.asc | shasum -a 256 -c - && \
#export GNUPGHOME="$(mktemp -d)" && \ #export GNUPGHOME="$(mktemp -d)" && \
#\ #\
# Try other key servers if ha.pool.sks-keyservers.net is unreachable # Try other key servers if ha.pool.sks-keyservers.net is unreachable
@ -173,12 +173,12 @@ RUN \
rm -f SHASUMS256.txt.asc && \ rm -f SHASUMS256.txt.asc && \
\ \
# Install Node # Install Node
tar xvzf node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \ tar xvzf node-v${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \
rm node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \ rm node-v${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \
mv node-${NODE_VERSION}-${ARCHITECTURE} /opt/nodejs && \ mv node-v${NODE_VERSION}-${ARCHITECTURE} /opt/nodejs && \
ln -s /opt/nodejs/bin/node /usr/bin/node && \ ln -s /opt/nodejs/bin/node /usr/bin/node && \
ln -s /opt/nodejs/bin/npm /usr/bin/npm && \ ln -s /opt/nodejs/bin/npm /usr/bin/npm && \
mkdir -p /opt/nodejs/lib/node_modules/fibers/.node-gyp /root/.node-gyp/8.16.1 /home/wekan/.config && \ mkdir -p /opt/nodejs/lib/node_modules/fibers/.node-gyp /root/.node-gyp/${NODE_VERSION} /home/wekan/.config && \
chown wekan --recursive /home/wekan/.config && \ chown wekan --recursive /home/wekan/.config && \
\ \
#DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303 #DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
@ -275,7 +275,7 @@ RUN \
# Cleanup # Cleanup
apt-get remove --purge -y ${BUILD_DEPS} && \ apt-get remove --purge -y ${BUILD_DEPS} && \
apt-get autoremove -y && \ apt-get autoremove -y && \
npm uninstall -g api2html &&\ #npm uninstall -g api2html &&\
rm -R /var/lib/apt/lists/* && \ rm -R /var/lib/apt/lists/* && \
rm -R /home/wekan/.meteor && \ rm -R /home/wekan/.meteor && \
rm -R /home/wekan/app && \ rm -R /home/wekan/app && \

View file

@ -1,4 +1,4 @@
version: '2' version: '3.7'
# Note: Do not add single quotes '' to variables. Having spaces still works without quotes where required. # Note: Do not add single quotes '' to variables. Having spaces still works without quotes where required.
#--------------------------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------------------------
@ -93,14 +93,14 @@ services:
#------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------
# ==== MONGODB AND METEOR VERSION ==== # ==== MONGODB AND METEOR VERSION ====
# a) For Wekan Meteor 1.8.x version at master branch, use mongo 4.x # a) For Wekan Meteor 1.8.x version at master branch, use mongo 4.x
image: mongo:4.0.12 image: mongo:4.2.1
# b) For Wekan Meteor 1.6.x version at devel branch. # b) For Wekan Meteor 1.6.x version at devel branch.
# Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x # Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x
#image: mongo:3.2.21 #image: mongo:3.2.21
#------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------
container_name: wekan-db container_name: wekan-db
restart: always restart: always
command: mongod --smallfiles --oplogSize 128 command: mongod --oplogSize 128 --quiet
networks: networks:
- wekan-tier - wekan-tier
expose: expose:
@ -129,17 +129,17 @@ services:
#------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------
# ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ==== # ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
# ==== and use commands: docker-compose up -d --build # ==== and use commands: docker-compose up -d --build
#build: build:
# context: . context: .
# dockerfile: Dockerfile dockerfile: Dockerfile
# args: args:
# - NODE_VERSION=${NODE_VERSION} - NODE_VERSION=${NODE_VERSION}
# - METEOR_RELEASE=${METEOR_RELEASE} - METEOR_RELEASE=${METEOR_RELEASE}
# - NPM_VERSION=${NPM_VERSION} - NPM_VERSION=${NPM_VERSION}
# - ARCHITECTURE=${ARCHITECTURE} - ARCHITECTURE=${ARCHITECTURE}
# - SRC_PATH=${SRC_PATH} - SRC_PATH=${SRC_PATH}
# - METEOR_EDGE=${METEOR_EDGE} - METEOR_EDGE=${METEOR_EDGE}
# - USE_EDGE=${USE_EDGE} - USE_EDGE=${USE_EDGE}
#------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------
ports: ports:
# Docker outsideport:insideport. Do not add anything extra here. # Docker outsideport:insideport. Do not add anything extra here.

View file

@ -11,10 +11,10 @@ cd C:\repos
REM Install chocolatey REM Install chocolatey
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
choco install -y git curl python2 dotnet4.5.2 nano mongodb-3 mongoclient meteor choco install -y git curl python2 dotnet4.5.2 nano mongodb-4 mongoclient meteor
curl -O https://nodejs.org/dist/v8.16.2/node-v8.16.2-x64.msi curl -O https://nodejs.org/dist/v8.16.2/node-v12.13.1-x64.msi
call node-v8.16.2-x64.msi call node-v12.13.1-x64.msi
call npm config -g set msvs_version 2015 call npm config -g set msvs_version 2015
call meteor npm config -g set msvs_version 2015 call meteor npm config -g set msvs_version 2015

View file

@ -5,7 +5,7 @@ echo " with 'sudo dpkg-reconfigure locales' , so that MongoDB works correct
echo " You can still use any other locale as your main locale." echo " You can still use any other locale as your main locale."
#Below script installs newest node 8.x for Debian/Ubuntu/Mint. #Below script installs newest node 8.x for Debian/Ubuntu/Mint.
#NODE_VERSION=8.16.0 #NODE_VERSION=12.13.1
#X64NODE="https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz" #X64NODE="https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz"
function pause(){ function pause(){
@ -79,7 +79,7 @@ do
curl -0 -L https://npmjs.org/install.sh | sudo sh curl -0 -L https://npmjs.org/install.sh | sudo sh
sudo chown -R $(id -u):$(id -g) $HOME/.npm sudo chown -R $(id -u):$(id -g) $HOME/.npm
sudo npm -g install n sudo npm -g install n
sudo n 8.16.2 sudo n 12.13.1
#curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - #curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
#sudo apt-get install -y nodejs #sudo apt-get install -y nodejs
elif [[ "$OSTYPE" == "darwin"* ]]; then elif [[ "$OSTYPE" == "darwin"* ]]; then
@ -106,10 +106,10 @@ do
exit; exit;
fi fi
## Latest npm with Meteor 1.8.x ## Latest npm with Meteor 1.9.x
npm_call -g install npm npm_call -g install npm
npm_call -g install node-gyp npm_call -g install node-gyp
# Latest fibers for Meteor 1.8.x # Latest fibers for Meteor 1.9.x
sudo mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp sudo mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp
npm_call -g install fibers@4.0.1 npm_call -g install fibers@4.0.1
# Install Meteor, if it's not yet installed # Install Meteor, if it's not yet installed

View file

@ -1,262 +0,0 @@
name: wekan
version: '0'
version-script: git describe --dirty --tags | cut -c 2-
summary: The open-source 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
hooks:
configure:
plugs:
- network
- network-bind
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 -al $SNAP_COMMON/db-backups/
database-restore:
command: mongodb-restore
plugs: [network, network-bind]
parts:
mongodb:
source: https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-server_4.0.11_amd64.deb
plugin: dump
stage-packages: [libssl-dev]
filesets:
mongo:
- usr
- bin
- lib
# stage:
# - $mongo
# prime:
# - $mongo
wekan:
source: .
plugin: nodejs
node-engine: 8.16.0
# node-packages:
# - node-gyp
# - node-pre-gyp
# - fibers@4.0.1
build-packages:
- ca-certificates
- apt-utils
- bsdtar
- gnupg
- bzip2
## - python3
- g++
- build-essential
- git
# - capnproto
- curl
- libcurl3
- php-curl
# - execstack
# - nodejs
# - npm
## - python3-pip
## - python3-venv
stage-packages:
- libfontconfig1
override-build: |
set -o xtrace
echo "Cleaning environment first"
rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
# Meteor installer doesn't work with the default tar binary, so using bsdtar while installing.
# https://github.com/coreos/bugs/issues/1095#issuecomment-350574389
cp $(which tar) $(which tar)~
ln -sf $(which bsdtar) $(which tar)
# Create the OpenAPI specification
rm -rf .build
mkdir .build
##mkdir -p .build/python
##cd .build/python
##python3 -m venv env
##. ./env/bin/activate
##pip3 install -U setuptools wheel
##git clone --depth 1 -b master https://github.com/Kronuz/esprima-python
##cd esprima-python
##python3 setup.py install
##cd ../../..
##mkdir -p ./public/api
##python3 ./openapi/generate_openapi.py --release $(git describe --tags --abbrev=0) > ./public/api/wekan.yml
# we temporary need api2html and mkdirp
##npm install -g --unsafe-perm api2html@0.3.0
##npm install -g --unsafe-perm mkdirp
##api2html -c ./public/logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml
##npm uninstall -g --unsafe-perm mkdirp
##npm uninstall -g --unsafe-perm api2html
# Node Fibers 100% CPU usage issue:
# https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161
# https://github.com/meteor/meteor/issues/9796#issuecomment-381676326
# https://github.com/sandstorm-io/sandstorm/blob/0f1fec013fe7208ed0fd97eb88b31b77e3c61f42/shell/server/00-startup.js#L99-L129
# Also see beginning of wekan/server/authentication.js
# import Fiber from "fibers";
# Fiber.poolSize = 1e9;
# OLD: Download node version 8.12.0 prerelease build => Official node 8.12.0 has been released
# Description at https://releases.wekan.team/node.txt
##echo "375bd8db50b9c692c0bbba6e96d4114cd29bee3770f901c1ff2249d1038f1348 node" >> node-SHASUMS256.txt.asc
##curl https://releases.wekan.team/node -o node
# Verify Fibers patched node authenticity
##echo "Fibers 100% CPU issue patched node authenticity:"
##grep node node-SHASUMS256.txt.asc | shasum -a 256 -c -
##rm -f node-SHASUMS256.txt.asc
##chmod +x node
##mv node `which node`
# DOES NOT WORK: paxctl fix.
# Removed from build-packages: - paxctl
#echo "Applying paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303"
#paxctl -mC `which node`
#echo "Installing npm"
#curl -L https://www.npmjs.com/install.sh | sh
echo "Installing meteor"
curl https://install.meteor.com/ -o install_meteor.sh
#sed -i "s|RELEASE=.*|RELEASE=\"1.8.1-beta.0\"|g" install_meteor.sh
chmod +x install_meteor.sh
sh install_meteor.sh
rm install_meteor.sh
# REPOS BELOW ARE INCLUDED TO WEKAN REPO
#if [ ! -d "packages" ]; then
# mkdir packages
#fi
#if [ ! -d "packages/kadira-flow-router" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
# cd ..
#fi
#if [ ! -d "packages/meteor-useraccounts-core" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
# sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' meteor-useraccounts-core/package.js
# cd ..
#fi
#if [ ! -d "packages/meteor-accounts-cas" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas
# cd ..
#fi
#if [ ! -d "packages/wekan-ldap" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
# cd ..
#fi
#if [ ! -d "packages/wekan-scrollbar" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
# cd ..
#fi
#if [ ! -d "packages/wekan_accounts-oidc" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git
# mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan-accounts-oidc
# mv meteor-accounts-oidc/packages/switch_oidc wekan-oidc
# rm -rf meteor-accounts-oidc
# cd ..
#fi
#if [ ! -d "packages/markdown" ]; then
# cd packages
# git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
# cd ..
#fi
rm -rf package-lock.json .build
#meteor add standard-minifier-js --allow-superuser
meteor npm install --allow-superuser --unsafe-perm
meteor build .build --directory --allow-superuser
cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
# Disable code coverage on Snap, because it crashes Wekan starting.
# https://github.com/wekan/wekan/issues/2533#issuecomment-513506939
#sed -i 's|Profile(fileInfo.path, func).apply(global, args);|//Profile(fileInfo.path, func).apply(global, args);|g' .build/bundle/programs/server/boot.js
# although it did not help, it said unable to find main function.
# Other option to fix would be to drop indexes at start of snap:
# https://stackoverflow.com/questions/24241742/drop-all-indexes-from-all-collections-in-a-mongodb-database-using-the-command-li
#Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
#https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
#https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
#cd .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
#rm -rf node_modules/bcrypt
#meteor npm install --save bcrypt
# Change from npm-bcrypt directory back to .build/bundle/programs/server directory.
#cd ../../../../
# Change to directory .build/bundle/programs/server
cd .build/bundle/programs/server
npm install --unsafe-perm
#meteor npm install --save bcrypt
# Change back to Wekan source directory
cd ../../../..
cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
# rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
#rm $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
# rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
# rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
# Put back the original tar
mv $(which tar)~ $(which tar)
organize:
README: README.wekan
prime:
- -lib/node_modules/node-pre-gyp/node_modules/tar/lib/.unpack.js.swp
helpers:
source: snap-src
plugin: dump
caddy:
plugin: dump
source: https://caddyserver.com/download/linux/amd64?license=personal&telemetry=off
source-type: tar
organize:
caddy: bin/caddy
CHANGES.txt: CADDY_CHANGES.txt
EULA.txt: CADDY_EULA.txt
LICENSES.txt: CADDY_LICENSES.txt
README.txt: CADDY_README.txt
stage:
- -init

View file

@ -1,43 +0,0 @@
#!/bin/bash
echo "Building Wekan."
cd ~/repos/wekan
#rm -rf packages
#mkdir -p ~/repos/wekan/packages
#cd ~/repos/wekan/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
#git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git
#git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
#git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
#git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git
#git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
#mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan_accounts-oidc
#mv meteor-accounts-oidc/packages/switch_oidc wekan_oidc
#
#if [[ "$OSTYPE" == "darwin"* ]]; then
# echo "sed at macOS";
# sed -i '' 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
#else
# echo "sed at ${OSTYPE}"
# sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
#fi
#
cd ~/repos/wekan
rm -rf node_modules
meteor npm install
rm -rf .build
meteor build .build --directory
cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
#Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
#https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
#https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
#cd ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
#rm -rf node_modules/bcrypt
#meteor npm install bcrypt
cd ~/repos/wekan/.build/bundle/programs/server
rm -rf node_modules
meteor npm install
#meteor npm install bcrypt
cd ~/repos
echo Building Wekan Done.

View file

@ -1,136 +0,0 @@
#!/bin/bash
echo "Note: If you use other locale than en_US.UTF-8 , you need to additionally install en_US.UTF-8"
echo " with 'sudo dpkg-reconfigure locales' , so that MongoDB works correctly."
echo " You can still use any other locale as your main locale."
X64NODE="https://releases.wekan.team/node-v8.11.3-linux-x64.tar.gz"
function pause(){
read -p "$*"
}
echo
PS3='Please enter your choice: '
options=("Install Wekan dependencies" "Build Wekan" "Quit")
select opt in "${options[@]}"
do
case $opt in
"Install Wekan dependencies")
if [[ "$OSTYPE" == "linux-gnu" ]]; then
echo "Linux";
if [ "$(grep -Ei 'buntu|mint' /etc/*release)" ]; then
sudo apt install -y build-essential git curl wget
# sudo apt -y install nodejs npm
# sudo npm -g install n
# sudo n 8.16.2
fi
# if [ "$(grep -Ei 'debian' /etc/*release)" ]; then
# sudo apt install -y build-essential git curl wget
# echo "Debian, or Debian on Windows Subsystem for Linux"
# curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
# sudo apt install -y nodejs
# fi
# TODO: Add Sandstorm for version of Node.js install
#MACHINE_TYPE=`uname -m`
#if [ ${MACHINE_TYPE} == 'x86_64' ]; then
# # 64-bit stuff here
# wget ${X64NODE}
# sudo tar -C /usr/local --strip-components 1 -xzf ${X64NODE}
#elif [ ${MACHINE_TYPE} == '32bit' ]; then
# echo "TODO: 32-bit Linux install here"
# exit
#fi
elif [[ "$OSTYPE" == "darwin"* ]]; then
echo "macOS";
pause '1) Install XCode 2) Install Node 8.x from https://nodejs.org/en/ 3) Press [Enter] key to continue.'
elif [[ "$OSTYPE" == "cygwin" ]]; then
# POSIX compatibility layer and Linux environment emulation for Windows
echo "TODO: Add Cygwin";
exit;
elif [[ "$OSTYPE" == "msys" ]]; then
# Lightweight shell and GNU utilities compiled for Windows (part of MinGW)
echo "TODO: Add msys on Windows";
exit;
elif [[ "$OSTYPE" == "win32" ]]; then
# I'm not sure this can happen.
echo "TODO: Add Windows";
exit;
elif [[ "$OSTYPE" == "freebsd"* ]]; then
echo "TODO: Add FreeBSD";
exit;
else
echo "Unknown"
echo ${OSTYPE}
exit;
fi
## Latest npm with Meteor 1.6
sudo npm -g install npm
sudo npm -g install node-gyp
# Latest fibers for Meteor 1.6
sudo npm -g install fibers@2.0.0
# Install Meteor, if it's not yet installed
curl https://install.meteor.com | bash
# mkdir ~/repos
# cd ~/repos
# git clone https://github.com/wekan/wekan.git
# cd wekan
# git checkout devel
break
;;
"Build Wekan")
echo "Building Wekan."
cd ~/repos/wekan
rm -rf packages
mkdir -p ~/repos/wekan/packages
cd ~/repos/wekan/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
git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git
git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git
git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan_accounts-oidc
mv meteor-accounts-oidc/packages/switch_oidc wekan_oidc
rm -rf meteor-accounts-oidc
if [[ "$OSTYPE" == "darwin"* ]]; then
echo "sed at macOS";
sed -i '' 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
else
echo "sed at ${OSTYPE}"
sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
fi
cd ~/repos/wekan
rm -rf node_modules
meteor npm install
rm -rf .build
meteor build .build --directory
cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
#Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
#https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
#https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
#cd ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
#rm -rf node_modules/bcrypt
#meteor npm install bcrypt
cd ~/repos/wekan/.build/bundle/programs/server
rm -rf node_modules
meteor npm install
#meteor npm install bcrypt
cd ~/repos
echo Done.
break
;;
"Quit")
break
;;
*) echo invalid option;;
esac
done

View file

@ -1 +1 @@
meteor-spk pack wekan-1.11.spk meteor-spk pack wekan-$1.spk

View file

@ -1 +1 @@
sudo snap install --dangerous wekan_1.23-17-g9c94ea5_amd64.snap sudo snap install --dangerous wekan_$1.snap

View file

@ -1,42 +0,0 @@
## Most of these are uncommented, because they are already installed.
#sudo rm -rf /usr/local/lib/node_modules
#sudo rm -rf ~/.npm
#sudo apt install build-essential c++ capnproto npm git curl
#sudo npm -g install n
#sudo n 4.8.6
#sudo npm -g install npm@4.6.1
#sudo npm -g install node-gyp
#sudo npm -g install node-pre-gyp
#sudo npm -g install fibers@1.0.15
sudo rm -rf wekan
git clone https://github.com/wekan/wekan
cd ~/repos
#curl https://install.meteor.com -o ./install_meteor.sh
#sed -i "s|RELEASE=.*|RELEASE=${METEOR_RELEASE}\"\"|g" ./install_meteor.sh
#echo "Starting meteor ${METEOR_RELEASE} installation... \n"
#chown wekan:wekan ./install_meteor.sh
#sh ./install_meteor.sh
mkdir -p ~/repos/wekan/packages
cd ~/repos/wekan/packages
rm -rf kadira-flow-router
rm -rf meteor-useraccounts-core
git clone https://github.com/wekan/flow-router.git kadira-flow-router
git clone https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
cd ~/repos/wekan
rm -rf node_modules
npm install
rm -rf .build
meteor build .build --directory
cp -f 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" ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/node_modules/bson/ext/index.js
cd ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
rm -rf node_modules/bcrypt
meteor npm install --save bcrypt
cd ~/repos/wekan/.build/bundle/programs/server
rm -rf node_modules
npm install
meteor npm install --save bcrypt
cd ~/repos
echo Done.

View file

@ -52,14 +52,14 @@ if [ -z "$MONGO_URL" ]; then
## OLD: Logging to file. ## OLD: Logging to file.
#mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS --smallfiles #mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS --smallfiles
## NEW: Logging to syslog, that usually has already log rotation. ## NEW: Logging to syslog, that usually has already log rotation.
mongod --dbpath $SNAP_COMMON --syslog --journal $BIND_OPTIONS --smallfiles --quiet mongod --dbpath $SNAP_COMMON --syslog --journal $BIND_OPTIONS --quiet
else else
## OLD: Logging to file. ## OLD: Logging to file.
#mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $MONGO_URL --smallfiles #mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $MONGO_URL --smallfiles
## NEW: Logging to syslog, that usually has already log rotation. ## NEW: Logging to syslog, that usually has already log rotation.
mongod --dbpath $SNAP_COMMON --syslog --journal $MONGO_URL --smallfiles --quiet mongod --dbpath $SNAP_COMMON --syslog --journal $MONGO_URL --quiet
fi fi

View file

@ -65,7 +65,7 @@ apps:
parts: parts:
mongodb: mongodb:
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.22.tgz source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.2.1.tgz
plugin: dump plugin: dump
stage-packages: [libssl1.0.0] stage-packages: [libssl1.0.0]
filesets: filesets:
@ -81,11 +81,11 @@ parts:
wekan: wekan:
source: . source: .
plugin: nodejs plugin: nodejs
node-engine: 8.16.2 node-engine: 12.13.1
node-packages: node-packages:
- node-gyp - node-gyp
- node-pre-gyp - node-pre-gyp
- fibers@2.0.0 - fibers@4.0.1
build-packages: build-packages:
- ca-certificates - ca-certificates
- apt-utils - apt-utils

View file

@ -2,14 +2,13 @@
set -euxo pipefail set -euxo pipefail
BUILD_DEPS="bsdtar gnupg wget curl bzip2 python git ca-certificates perl-Digest-SHA" BUILD_DEPS="bsdtar gnupg wget curl bzip2 python git ca-certificates perl-Digest-SHA"
NODE_VERSION=v8.16.2 NODE_VERSION=v12.13.1
#METEOR_RELEASE=1.6.0.1 - for Stacksmith, meteor-1.8 branch that could have METEOR@1.8.1-beta.8 or newer #METEOR_RELEASE=1.9-beta.4 - for Stacksmith
USE_EDGE=false USE_EDGE=false
METEOR_EDGE=1.5-beta.17 METEOR_EDGE=1.9-beta.4
NPM_VERSION=latest NPM_VERSION=latest
FIBERS_VERSION=4.0.1 FIBERS_VERSION=4.0.1
ARCHITECTURE=linux-x64 ARCHITECTURE=linux-x64
#NODE_VERSION=v10.14.1
sudo yum groupinstall -y 'Development Tools' sudo yum groupinstall -y 'Development Tools'
sudo yum install -y http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm sudo yum install -y http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm