build: fixes & tweaks to dockerfile/compose file

This commit is contained in:
Dragory 2024-03-30 15:46:15 +00:00
parent b2e03567d3
commit 7f37f0c372
No known key found for this signature in database
2 changed files with 35 additions and 16 deletions

View file

@ -1,11 +1,25 @@
FROM node:20
RUN mkdir /zeppelin
RUN chown node:node /zeppelin
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
RUN npm ci
RUN npm install
COPY --chown=node:node . /zeppelin
# Build backend
WORKDIR /zeppelin/backend
@ -17,4 +31,4 @@ RUN npm run build
# Prune dev dependencies
WORKDIR /zeppelin
RUN npm prune --production
RUN npm prune --omit=dev

View file

@ -17,7 +17,7 @@ services:
volumes:
- mysql-data:/var/lib/mysql
# - ./docker/production/data/mysql:/var/lib/mysql
command: --authentication-policy=mysql_native_password
#command: --authentication-policy=mysql_native_password
healthcheck:
test: "/usr/bin/mysql --user=root --password=\"${STANDALONE_MYSQL_ROOT_PASSWORD}\" --execute \"SHOW DATABASES;\""
interval: 5s
@ -37,23 +37,28 @@ services:
depends_on:
mysql:
condition: service_healthy
build:
build: &build
context: .
args:
# Used at compile-time by dashboard
API_URL:
environment:
HOST_MODE: standalone
working_dir: /zeppelin
env_file:
- .env
working_dir: /zeppelin/backend
command: ["npm", "run", "migrate-prod"]
api:
depends_on:
migrate:
condition: service_completed_successfully
build:
context: .
build: *build
restart: on-failure
environment:
HOST_MODE: standalone
DEBUG: ${DEBUG-}
env_file:
- .env
working_dir: /zeppelin/backend
command: ["npm", "run", "start-api-prod"]
@ -61,12 +66,12 @@ services:
depends_on:
migrate:
condition: service_completed_successfully
build:
context: .
build: *build
restart: on-failure
environment:
HOST_MODE: standalone
DEBUG: ${DEBUG-}
env_file:
- .env
working_dir: /zeppelin/backend
command: ["npm", "run", "start-bot-prod"]
@ -74,11 +79,11 @@ services:
depends_on:
migrate:
condition: service_completed_successfully
build:
context: .
build: *build
restart: on-failure
environment:
HOST_MODE: standalone
DEBUG: ${DEBUG-}
env_file:
- .env
working_dir: /zeppelin/dashboard
command: ["node", "serve.js"]