using yarn and building complete docker images

This commit is contained in:
Manuel Romero
2020-02-10 12:11:38 +01:00
parent f606c0fdf6
commit fb16ddd698
10 changed files with 9653 additions and 13236 deletions

View File

@@ -1,5 +1,3 @@
FROM node:13.8-alpine
RUN apk add yarn
WORKDIR /var/www/app
WORKDIR /var/www/app

View File

@@ -38,7 +38,7 @@ services:
app:
build: .
image: qlikgear/qmi-cloud-app:1.0.0
image: qlikgear/qmi-cloud-app:latest
container_name: qmi-cloud-app
restart: on-failure
secrets:
@@ -48,7 +48,6 @@ services:
#- HOSTNAME_URL=https://qmi-cloud:3100
- REDIS_URL=redis://redis
- MONGO_URI=mongodb://root:example@mongo/qmi?authSource=admin
#- MONGO_URI=mongodb+srv://qlik:Qlik1234@ottawatest1-6ddq5.azure.mongodb.net/qmi?retryWrites=true&w=majority
command:
- ./server/wait-for.sh
- --timeout=20
@@ -71,7 +70,7 @@ services:
worker:
build: .
image: qlikgear/qmi-cloud-worker:1.0.0
image: qlikgear/qmi-cloud-worker:latest
container_name: qmi-cloud-worker
restart: on-failure
deploy:
@@ -81,7 +80,6 @@ services:
- MONGO_URI=mongodb://root:example@mongo/qmi?authSource=admin
- PROJECT_PATH=${PWD}
- SSHPATH=/Users/aor/.ssh
#- MONGO_URI=mongodb+srv://qlik:Qlik1234@ottawatest1-6ddq5.azure.mongodb.net/qmi?retryWrites=true&w=majority
command: "sh -c 'npm run worker:dev'"
volumes:
- .:/var/www/app

18
docker-server/Dockerfile Normal file
View File

@@ -0,0 +1,18 @@
FROM node:13.8-alpine
RUN apk --no-cache add yarn
WORKDIR /var/www/app
ADD ./package.json ./
ADD ./yarn.lock ./
RUN yarn install --production
ADD ./server ./server
ADD ./dist ./dist
EXPOSE 3000
EXPOSE 3100
CMD ["node", "-r", "esm", "server/server"]

1
docker-server/build.sh Executable file
View File

@@ -0,0 +1 @@
docker build -f ./Dockerfile -t qlikgear/qmi-cloud-app:latest ../

14
docker-worker/Dockerfile Normal file
View File

@@ -0,0 +1,14 @@
FROM node:13.8-alpine
RUN apk --no-cache add yarn
WORKDIR /var/www/app
ADD ./package.json ./
ADD ./yarn.lock ./
RUN yarn install --production
ADD ./server ./server
CMD ["node", "-r", "esm", "server/workers/worker.js"]

1
docker-worker/build.sh Executable file
View File

@@ -0,0 +1 @@
docker build -f ./Dockerfile -t qlikgear/qmi-cloud-worker:latest ../

13226
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -29,8 +29,6 @@
"cookie-parser": "^1.4.4",
"core-js": "^2.5.4",
"dockerode": "^3.0.2",
"ejs": ">= 0.0.0",
"ejs-locals": ">= 0.0.0",
"esm": "^3.2.25",
"express": "^4.17.1",
"express-session": "^1.17.0",

103
stack.yaml Normal file
View File

@@ -0,0 +1,103 @@
version: '3.7'
volumes:
redisdb:
mongodb:
networks:
backend:
secrets:
qmicloud_config:
file: ./secrets.json
services:
redis:
image: redis
container_name: qmi-cloud-redis
volumes:
- redisdb:/data
entrypoint: redis-server --appendonly yes
restart: on-failure
networks:
- backend
mongo:
image: mongo:4.2
container_name: qmi-cloud-mongo
restart: on-failure
volumes:
- mongodb:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
networks:
- backend
app:
image: qlikgear/qmi-cloud-app:latest
container_name: qmi-cloud-app
restart: on-failure
secrets:
- source: qmicloud_config
target: config.json
environment:
- HOSTNAME_URL=https://qmi-tf:3100
- REDIS_URL=redis://redis
- MONGO_URI=mongodb://root:example@mongo/qmi?authSource=admin
command:
- ./server/wait-for.sh
- --timeout=20
- mongo:27017
- --
- sh
- -c
- npm run start
volumes:
- ./logs:/logs
depends_on:
- mongo
- redis
ports:
- "3000:3000"
- "3100:3100"
networks:
- backend
worker:
image: qlikgear/qmi-cloud-worker:latest
container_name: qmi-cloud-worker
restart: on-failure
deploy:
replicas: 2
environment:
- REDIS_URL=redis://redis
- MONGO_URI=mongodb://root:example@mongo/qmi?authSource=admin
- PROJECT_PATH=${PWD}
- SSHPATH=/Users/aor/.ssh
#command: "sh -c 'npm run worker:dev'"
volumes:
- ./logs:/logs
- /var/run/docker.sock:/home/docker.sock
depends_on:
- mongo
- redis
networks:
- backend
mongo-express:
image: mongo-express:0.54.0
container_name: qmi-cloud-mongo-express
restart: on-failure
ports:
- 8081:8081
depends_on:
- mongo
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
ME_CONFIG_BASICAUTH_USERNAME: qlik
ME_CONFIG_BASICAUTH_PASSWORD: Qlik1234
networks:
- backend

9512
yarn.lock Normal file

File diff suppressed because it is too large Load Diff