mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 23:40:13 +01:00
.devcontainer now ready for Wekan Development in Docker Container
Check .devcontainer/docker-compose.yml to fit your environment Enter this commands to start Wekan Development: $ cd .devcontainer $ docker-compose build $ docker-compose up -d Visit localhost:3000 or whatever you entered in ROOT_URL Code changes triggers a rebuild / redeploy
This commit is contained in:
parent
6bf6bcb192
commit
5697b89817
4 changed files with 103 additions and 19 deletions
|
|
@ -1,10 +1,6 @@
|
||||||
FROM quay.io/wekan/ubuntu:hirsute-20210522
|
FROM debian
|
||||||
LABEL maintainer="sgr"
|
LABEL maintainer="sgr"
|
||||||
|
|
||||||
# 2020-12-03:
|
|
||||||
# - Above Ubuntu base image copied from Docker Hub ubuntu:groovy-20201125.2
|
|
||||||
# to Quay to avoid Docker Hub rate limits.
|
|
||||||
|
|
||||||
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"
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
|
@ -146,11 +142,11 @@ RUN set -o xtrace \
|
||||||
# Install NodeJS
|
# Install NodeJS
|
||||||
RUN set -o xtrace \
|
RUN set -o xtrace \
|
||||||
&& cd /tmp \
|
&& cd /tmp \
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-$ARCHITECTURE.tar.xz" \
|
&& curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-$ARCHITECTURE.tar.xz" \
|
||||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
|
&& curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/SHASUMS256.txt.asc" \
|
||||||
&& grep " node-v$NODE_VERSION-$ARCHITECTURE.tar.xz\$" SHASUMS256.txt.asc | sha256sum -c - \
|
&& grep " node-$NODE_VERSION-$ARCHITECTURE.tar.xz\$" SHASUMS256.txt.asc | sha256sum -c - \
|
||||||
&& tar -xJf "node-v$NODE_VERSION-$ARCHITECTURE.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
&& tar -xJf "node-$NODE_VERSION-$ARCHITECTURE.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
||||||
&& rm "node-v$NODE_VERSION-$ARCHITECTURE.tar.xz" SHASUMS256.txt.asc \
|
&& rm "node-$NODE_VERSION-$ARCHITECTURE.tar.xz" SHASUMS256.txt.asc \
|
||||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
|
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
|
||||||
&& mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp /root/.node-gyp/${NODE_VERSION} /home/wekan/.config \
|
&& mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp /root/.node-gyp/${NODE_VERSION} /home/wekan/.config \
|
||||||
&& npm install -g npm@${NPM_VERSION} \
|
&& npm install -g npm@${NPM_VERSION} \
|
||||||
|
|
@ -172,17 +168,65 @@ RUN set -o xtrace \
|
||||||
|
|
||||||
ENV PATH=$PATH:/home/wekan/.meteor/
|
ENV PATH=$PATH:/home/wekan/.meteor/
|
||||||
|
|
||||||
# Copy source dir
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
RUN echo "export PATH=$PATH" >> /etc/environment
|
RUN echo "export PATH=$PATH" >> /etc/environment
|
||||||
|
|
||||||
RUN set -o xtrace \
|
USER wekan
|
||||||
&& mkdir /home/wekan/app
|
|
||||||
|
|
||||||
COPY ${SRC_PATH} /home/wekan/app/
|
# Copy source dir
|
||||||
|
RUN set -o xtrace \
|
||||||
|
&& mkdir -p /home/wekan/app/.meteor \
|
||||||
|
&& mkdir -p /home/wekan/app/packages
|
||||||
|
|
||||||
|
COPY \
|
||||||
|
.meteor/.finished-upgraders \
|
||||||
|
.meteor/.id \
|
||||||
|
.meteor/cordova-plugins \
|
||||||
|
.meteor/packages \
|
||||||
|
.meteor/platforms \
|
||||||
|
.meteor/release \
|
||||||
|
.meteor/versions \
|
||||||
|
/home/wekan/app/.meteor/
|
||||||
|
|
||||||
|
COPY \
|
||||||
|
package.json \
|
||||||
|
settings.json \
|
||||||
|
/home/wekan/app/
|
||||||
|
|
||||||
|
COPY \
|
||||||
|
packages \
|
||||||
|
/home/wekan/app/packages/
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
RUN set -o xtrace \
|
RUN set -o xtrace \
|
||||||
&& chown -R wekan:wekan /home/wekan/app /home/wekan/.meteor
|
&& chown -R wekan:wekan /home/wekan/app /home/wekan/.meteor
|
||||||
|
|
||||||
USER wekan
|
USER wekan
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
set -o xtrace && \
|
||||||
|
sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js && \
|
||||||
|
cd /home/wekan/.meteor && \
|
||||||
|
/home/wekan/.meteor/meteor -- help;
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
set -o xtrace && \
|
||||||
|
# Build app
|
||||||
|
cd /home/wekan/app && \
|
||||||
|
/home/wekan/.meteor/meteor add standard-minifier-js && \
|
||||||
|
/home/wekan/.meteor/meteor npm install && \
|
||||||
|
/home/wekan/.meteor/meteor build --directory /home/wekan/app_build
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
set -o xtrace && \
|
||||||
|
cd /home/wekan/app_build/bundle/programs/server/ && \
|
||||||
|
chmod u+w package.json npm-shrinkwrap.json && \
|
||||||
|
npm install
|
||||||
|
|
||||||
|
ENV PORT=3000
|
||||||
|
EXPOSE $PORT
|
||||||
|
WORKDIR /home/wekan/app
|
||||||
|
|
||||||
|
CMD ["/home/wekan/.meteor/meteor", "run", "--verbose", "--settings", "settings.json"]
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- wekan-dev-db:/data/db
|
- wekan-dev-db:/data/db
|
||||||
- wekan-dev-db-dump:/dump
|
- wekan-dev-db-dump:/dump
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
|
||||||
wekan-dev:
|
wekan-dev:
|
||||||
container_name: wekan-dev-app
|
container_name: wekan-dev-app
|
||||||
|
|
@ -35,9 +36,13 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
- wekandb-dev
|
- wekandb-dev
|
||||||
volumes:
|
volumes:
|
||||||
- ..:/app:delegated
|
- ../client:/home/wekan/app/client
|
||||||
command:
|
- ../models:/home/wekan/app/models
|
||||||
sleep infinity
|
- ../config:/home/wekan/app/config
|
||||||
|
- ../i18n:/home/wekan/app/i18n
|
||||||
|
- ../server:/home/wekan/app/server
|
||||||
|
- ../public:/home/wekan/app/public
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
wekan-dev-db:
|
wekan-dev-db:
|
||||||
|
|
|
||||||
34
.dockerignore
Normal file
34
.dockerignore
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
*~
|
||||||
|
*.swp
|
||||||
|
.meteor-spk
|
||||||
|
*.sublime-workspace
|
||||||
|
tmp/
|
||||||
|
node_modules/
|
||||||
|
npm-debug.log
|
||||||
|
.gitmodules
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
.build/*
|
||||||
|
**/parts/
|
||||||
|
**/stage
|
||||||
|
**/prime
|
||||||
|
**/*.snap
|
||||||
|
snap/.snapcraft/
|
||||||
|
.idea
|
||||||
|
.DS_Store
|
||||||
|
.DS_Store?
|
||||||
|
.build*
|
||||||
|
*.browserify.js.cached
|
||||||
|
*.browserify.js.map
|
||||||
|
.build*
|
||||||
|
versions.json
|
||||||
|
.versions
|
||||||
|
.npm
|
||||||
|
.build*
|
||||||
|
._*
|
||||||
|
.Trashes
|
||||||
|
Thumbs.db
|
||||||
|
ehthumbs.db
|
||||||
|
.eslintcache
|
||||||
|
.meteor/local
|
||||||
|
.devcontainer/docker-compose.extend.yml
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -32,3 +32,4 @@ ehthumbs.db
|
||||||
.eslintcache
|
.eslintcache
|
||||||
.meteor/local
|
.meteor/local
|
||||||
.devcontainer/docker-compose.extend.yml
|
.devcontainer/docker-compose.extend.yml
|
||||||
|
.devcontainer/volumes*/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue