build: fixes & tweaks to dockerfile/compose file
This commit is contained in:
parent
b2e03567d3
commit
7f37f0c372
2 changed files with 35 additions and 16 deletions
22
Dockerfile
22
Dockerfile
|
@ -1,11 +1,25 @@
|
||||||
FROM node:20
|
FROM node:20
|
||||||
|
|
||||||
|
RUN mkdir /zeppelin
|
||||||
|
RUN chown node:node /zeppelin
|
||||||
|
|
||||||
USER node
|
USER node
|
||||||
|
|
||||||
COPY --chown=node:node . /zeppelin
|
ARG API_URL
|
||||||
|
|
||||||
|
# Install dependencies before copying over any other files
|
||||||
|
COPY --chown=node:node package.json package-lock.json /zeppelin
|
||||||
|
RUN mkdir /zeppelin/backend
|
||||||
|
COPY --chown=node:node backend/package.json /zeppelin/backend
|
||||||
|
RUN mkdir /zeppelin/shared
|
||||||
|
COPY --chown=node:node shared/package.json /zeppelin/shared
|
||||||
|
RUN mkdir /zeppelin/dashboard
|
||||||
|
COPY --chown=node:node dashboard/package.json /zeppelin/dashboard
|
||||||
|
|
||||||
# Install dependencies for all packages
|
|
||||||
WORKDIR /zeppelin
|
WORKDIR /zeppelin
|
||||||
RUN npm ci
|
RUN npm install
|
||||||
|
|
||||||
|
COPY --chown=node:node . /zeppelin
|
||||||
|
|
||||||
# Build backend
|
# Build backend
|
||||||
WORKDIR /zeppelin/backend
|
WORKDIR /zeppelin/backend
|
||||||
|
@ -17,4 +31,4 @@ RUN npm run build
|
||||||
|
|
||||||
# Prune dev dependencies
|
# Prune dev dependencies
|
||||||
WORKDIR /zeppelin
|
WORKDIR /zeppelin
|
||||||
RUN npm prune --production
|
RUN npm prune --omit=dev
|
||||||
|
|
|
@ -17,7 +17,7 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- mysql-data:/var/lib/mysql
|
- mysql-data:/var/lib/mysql
|
||||||
# - ./docker/production/data/mysql:/var/lib/mysql
|
# - ./docker/production/data/mysql:/var/lib/mysql
|
||||||
command: --authentication-policy=mysql_native_password
|
#command: --authentication-policy=mysql_native_password
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: "/usr/bin/mysql --user=root --password=\"${STANDALONE_MYSQL_ROOT_PASSWORD}\" --execute \"SHOW DATABASES;\""
|
test: "/usr/bin/mysql --user=root --password=\"${STANDALONE_MYSQL_ROOT_PASSWORD}\" --execute \"SHOW DATABASES;\""
|
||||||
interval: 5s
|
interval: 5s
|
||||||
|
@ -37,23 +37,28 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
mysql:
|
mysql:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
build:
|
build: &build
|
||||||
context: .
|
context: .
|
||||||
|
args:
|
||||||
|
# Used at compile-time by dashboard
|
||||||
|
API_URL:
|
||||||
environment:
|
environment:
|
||||||
HOST_MODE: standalone
|
HOST_MODE: standalone
|
||||||
working_dir: /zeppelin
|
env_file:
|
||||||
|
- .env
|
||||||
|
working_dir: /zeppelin/backend
|
||||||
command: ["npm", "run", "migrate-prod"]
|
command: ["npm", "run", "migrate-prod"]
|
||||||
|
|
||||||
api:
|
api:
|
||||||
depends_on:
|
depends_on:
|
||||||
migrate:
|
migrate:
|
||||||
condition: service_completed_successfully
|
condition: service_completed_successfully
|
||||||
build:
|
build: *build
|
||||||
context: .
|
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
HOST_MODE: standalone
|
HOST_MODE: standalone
|
||||||
DEBUG: ${DEBUG-}
|
env_file:
|
||||||
|
- .env
|
||||||
working_dir: /zeppelin/backend
|
working_dir: /zeppelin/backend
|
||||||
command: ["npm", "run", "start-api-prod"]
|
command: ["npm", "run", "start-api-prod"]
|
||||||
|
|
||||||
|
@ -61,12 +66,12 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
migrate:
|
migrate:
|
||||||
condition: service_completed_successfully
|
condition: service_completed_successfully
|
||||||
build:
|
build: *build
|
||||||
context: .
|
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
HOST_MODE: standalone
|
HOST_MODE: standalone
|
||||||
DEBUG: ${DEBUG-}
|
env_file:
|
||||||
|
- .env
|
||||||
working_dir: /zeppelin/backend
|
working_dir: /zeppelin/backend
|
||||||
command: ["npm", "run", "start-bot-prod"]
|
command: ["npm", "run", "start-bot-prod"]
|
||||||
|
|
||||||
|
@ -74,11 +79,11 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
migrate:
|
migrate:
|
||||||
condition: service_completed_successfully
|
condition: service_completed_successfully
|
||||||
build:
|
build: *build
|
||||||
context: .
|
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
HOST_MODE: standalone
|
HOST_MODE: standalone
|
||||||
DEBUG: ${DEBUG-}
|
env_file:
|
||||||
|
- .env
|
||||||
working_dir: /zeppelin/dashboard
|
working_dir: /zeppelin/dashboard
|
||||||
command: ["node", "serve.js"]
|
command: ["node", "serve.js"]
|
||||||
|
|
Loading…
Add table
Reference in a new issue