fix(server): Dockerfile
This commit is contained in:
@@ -35,17 +35,10 @@ TENANT_DB_NAME_PERFIX=bigcapital_tenant_
|
|||||||
BASE_URL=http://example.com
|
BASE_URL=http://example.com
|
||||||
JWT_SECRET=b0JDZW56RnV6aEthb0RGPXVEcUI
|
JWT_SECRET=b0JDZW56RnV6aEthb0RGPXVEcUI
|
||||||
|
|
||||||
# Jobs MongoDB
|
|
||||||
MONGODB_DATABASE_URL=mongodb://localhost/bigcapital
|
|
||||||
|
|
||||||
# App proxy
|
# App proxy
|
||||||
PUBLIC_PROXY_PORT=80
|
PUBLIC_PROXY_PORT=80
|
||||||
PUBLIC_PROXY_SSL_PORT=443
|
PUBLIC_PROXY_SSL_PORT=443
|
||||||
|
|
||||||
# Agendash
|
|
||||||
AGENDASH_AUTH_USER=agendash
|
|
||||||
AGENDASH_AUTH_PASSWORD=123123
|
|
||||||
|
|
||||||
# Sign-up restrictions
|
# Sign-up restrictions
|
||||||
SIGNUP_DISABLED=false
|
SIGNUP_DISABLED=false
|
||||||
SIGNUP_ALLOWED_DOMAINS=
|
SIGNUP_ALLOWED_DOMAINS=
|
||||||
|
|||||||
@@ -32,11 +32,9 @@ services:
|
|||||||
- '3000'
|
- '3000'
|
||||||
links:
|
links:
|
||||||
- mysql
|
- mysql
|
||||||
- mongo
|
|
||||||
- redis
|
- redis
|
||||||
depends_on:
|
depends_on:
|
||||||
- mysql
|
- mysql
|
||||||
- mongo
|
|
||||||
- redis
|
- redis
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
networks:
|
networks:
|
||||||
@@ -66,16 +64,9 @@ services:
|
|||||||
# Authentication
|
# Authentication
|
||||||
- JWT_SECRET=${JWT_SECRET}
|
- JWT_SECRET=${JWT_SECRET}
|
||||||
|
|
||||||
# MongoDB
|
|
||||||
- MONGODB_DATABASE_URL=mongodb://mongo/bigcapital
|
|
||||||
|
|
||||||
# Application
|
# Application
|
||||||
- BASE_URL=${BASE_URL}
|
- BASE_URL=${BASE_URL}
|
||||||
|
|
||||||
# Agendash
|
|
||||||
- AGENDASH_AUTH_USER=${AGENDASH_AUTH_USER}
|
|
||||||
- AGENDASH_AUTH_PASSWORD=${AGENDASH_AUTH_PASSWORD}
|
|
||||||
|
|
||||||
# Sign-up restrictions
|
# Sign-up restrictions
|
||||||
- SIGNUP_DISABLED=${SIGNUP_DISABLED}
|
- SIGNUP_DISABLED=${SIGNUP_DISABLED}
|
||||||
- SIGNUP_ALLOWED_DOMAINS=${SIGNUP_ALLOWED_DOMAINS}
|
- SIGNUP_ALLOWED_DOMAINS=${SIGNUP_ALLOWED_DOMAINS}
|
||||||
@@ -122,7 +113,7 @@ services:
|
|||||||
- S3_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}
|
- S3_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}
|
||||||
- S3_ENDPOINT=${S3_ENDPOINT}
|
- S3_ENDPOINT=${S3_ENDPOINT}
|
||||||
- S3_BUCKET=${S3_BUCKET}
|
- S3_BUCKET=${S3_BUCKET}
|
||||||
|
|
||||||
# Stripe
|
# Stripe
|
||||||
- STRIPE_PAYMENT_SECRET_KEY=${STRIPE_PAYMENT_SECRET_KEY}
|
- STRIPE_PAYMENT_SECRET_KEY=${STRIPE_PAYMENT_SECRET_KEY}
|
||||||
- STRIPE_PAYMENT_PUBLISHABLE_KEY=${STRIPE_PAYMENT_PUBLISHABLE_KEY}
|
- STRIPE_PAYMENT_PUBLISHABLE_KEY=${STRIPE_PAYMENT_PUBLISHABLE_KEY}
|
||||||
@@ -166,17 +157,6 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- bigcapital_network
|
- bigcapital_network
|
||||||
|
|
||||||
mongo:
|
|
||||||
container_name: bigcapital-mongo
|
|
||||||
restart: on-failure
|
|
||||||
build: ./docker/mongo
|
|
||||||
expose:
|
|
||||||
- '27017'
|
|
||||||
volumes:
|
|
||||||
- mongo:/var/lib/mongodb
|
|
||||||
networks:
|
|
||||||
- bigcapital_network
|
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
container_name: bigcapital-redis
|
container_name: bigcapital-redis
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
@@ -202,10 +182,6 @@ volumes:
|
|||||||
name: bigcapital_prod_mysql
|
name: bigcapital_prod_mysql
|
||||||
driver: local
|
driver: local
|
||||||
|
|
||||||
mongo:
|
|
||||||
name: bigcapital_prod_mongo
|
|
||||||
driver: local
|
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
name: bigcapital_prod_redis
|
name: bigcapital_prod_redis
|
||||||
driver: local
|
driver: local
|
||||||
|
|||||||
@@ -24,25 +24,13 @@ services:
|
|||||||
restart_policy:
|
restart_policy:
|
||||||
condition: unless-stopped
|
condition: unless-stopped
|
||||||
|
|
||||||
mongo:
|
|
||||||
build: ./docker/mongo
|
|
||||||
expose:
|
|
||||||
- '27017'
|
|
||||||
volumes:
|
|
||||||
- mongo:/var/lib/mongodb
|
|
||||||
ports:
|
|
||||||
- '27017:27017'
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: unless-stopped
|
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
build:
|
build:
|
||||||
context: ./docker/redis
|
context: ./docker/redis
|
||||||
expose:
|
expose:
|
||||||
- "6379"
|
- '6379'
|
||||||
ports:
|
ports:
|
||||||
- "6379:6379"
|
- '6379:6379'
|
||||||
volumes:
|
volumes:
|
||||||
- redis:/data
|
- redis:/data
|
||||||
deploy:
|
deploy:
|
||||||
@@ -52,7 +40,7 @@ services:
|
|||||||
gotenberg:
|
gotenberg:
|
||||||
image: gotenberg/gotenberg:7
|
image: gotenberg/gotenberg:7
|
||||||
ports:
|
ports:
|
||||||
- "9000:3000"
|
- '9000:3000'
|
||||||
|
|
||||||
# Volumes
|
# Volumes
|
||||||
volumes:
|
volumes:
|
||||||
@@ -60,10 +48,6 @@ volumes:
|
|||||||
name: bigcapital_dev_mysql
|
name: bigcapital_dev_mysql
|
||||||
driver: local
|
driver: local
|
||||||
|
|
||||||
mongo:
|
|
||||||
name: bigcapital_dev_mongo
|
|
||||||
driver: local
|
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
name: bigcapital_dev_redis
|
name: bigcapital_dev_redis
|
||||||
driver: local
|
driver: local
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
FROM mongo:5.0
|
|
||||||
@@ -35,17 +35,10 @@ TENANT_DB_NAME_PERFIX=bigcapital_tenant_
|
|||||||
BASE_URL=http://example.com
|
BASE_URL=http://example.com
|
||||||
JWT_SECRET=b0JDZW56RnV6aEthb0RGPXVEcUI
|
JWT_SECRET=b0JDZW56RnV6aEthb0RGPXVEcUI
|
||||||
|
|
||||||
# Jobs MongoDB
|
|
||||||
MONGODB_DATABASE_URL=mongodb://localhost/bigcapital
|
|
||||||
|
|
||||||
# App proxy
|
# App proxy
|
||||||
PUBLIC_PROXY_PORT=80
|
PUBLIC_PROXY_PORT=80
|
||||||
PUBLIC_PROXY_SSL_PORT=443
|
PUBLIC_PROXY_SSL_PORT=443
|
||||||
|
|
||||||
# Agendash
|
|
||||||
AGENDASH_AUTH_USER=agendash
|
|
||||||
AGENDASH_AUTH_PASSWORD=123123
|
|
||||||
|
|
||||||
# Sign-up restrictions
|
# Sign-up restrictions
|
||||||
SIGNUP_DISABLED=false
|
SIGNUP_DISABLED=false
|
||||||
SIGNUP_ALLOWED_DOMAINS=
|
SIGNUP_ALLOWED_DOMAINS=
|
||||||
|
|||||||
100
packages/server/Dockerfile
Normal file
100
packages/server/Dockerfile
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
FROM node:18.16.0-alpine as build
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
ARG MAIL_HOST= \
|
||||||
|
MAIL_USERNAME= \
|
||||||
|
MAIL_PASSWORD= \
|
||||||
|
MAIL_PORT= \
|
||||||
|
MAIL_SECURE= \
|
||||||
|
MAIL_FROM_NAME= \
|
||||||
|
MAIL_FROM_ADDRESS= \
|
||||||
|
# Database
|
||||||
|
DB_HOST= \
|
||||||
|
DB_USER= \
|
||||||
|
DB_PASSWORD= \
|
||||||
|
DB_CHARSET= \
|
||||||
|
# System database.
|
||||||
|
SYSTEM_DB_NAME= \
|
||||||
|
SYSTEM_DB_PASSWORD= \
|
||||||
|
SYSTEM_DB_USER= \
|
||||||
|
SYSTEM_DB_HOST= \
|
||||||
|
SYSTEM_DB_CHARSET= \
|
||||||
|
# Tenant databases.
|
||||||
|
TENANT_DB_USER= \
|
||||||
|
TENANT_DB_PASSWORD= \
|
||||||
|
TENANT_DB_HOST= \
|
||||||
|
TENANT_DB_NAME_PERFIX= \
|
||||||
|
TENANT_DB_CHARSET= \
|
||||||
|
# Authentication
|
||||||
|
JWT_SECRET= \
|
||||||
|
# Application
|
||||||
|
BASE_URL= \
|
||||||
|
# Sign-up restriction
|
||||||
|
SIGNUP_DISABLED= \
|
||||||
|
SIGNUP_ALLOWED_DOMAINS= \
|
||||||
|
SIGNUP_ALLOWED_EMAILS=
|
||||||
|
|
||||||
|
ENV MAIL_HOST=$MAIL_HOST \
|
||||||
|
MAIL_USERNAME=$MAIL_USERNAME \
|
||||||
|
MAIL_PASSWORD=$MAIL_PASSWORD \
|
||||||
|
MAIL_PORT=$MAIL_PORT \
|
||||||
|
MAIL_SECURE=$MAIL_SECURE \
|
||||||
|
MAIL_FROM_NAME=$MAIL_FROM_NAME \
|
||||||
|
MAIL_FROM_ADDRESS=$MAIL_FROM_ADDRESS \
|
||||||
|
# Database
|
||||||
|
DB_HOST=$DB_HOST \
|
||||||
|
DB_USER=$DB_USER \
|
||||||
|
DB_PASSWORD=$DB_PASSWORD \
|
||||||
|
DB_CHARSET=$DB_CHARSET \
|
||||||
|
# System database.
|
||||||
|
SYSTEM_DB_HOST=$SYSTEM_DB_HOST \
|
||||||
|
SYSTEM_DB_USER=$SYSTEM_DB_USER \
|
||||||
|
SYSTEM_DB_PASSWORD=$SYSTEM_DB_PASSWORD \
|
||||||
|
SYSTEM_DB_NAME=$SYSTEM_DB_NAME \
|
||||||
|
SYSTEM_DB_CHARSET=$SYSTEM_DB_CHARSET \
|
||||||
|
# Tenant databases.
|
||||||
|
TENANT_DB_NAME_PERFIX=$TENANT_DB_NAME_PERFIX \
|
||||||
|
TENANT_DB_HOST=$TENANT_DB_HOST \
|
||||||
|
TENANT_DB_PASSWORD=$TENANT_DB_PASSWORD \
|
||||||
|
TENANT_DB_USER=$TENANT_DB_USER \
|
||||||
|
TENANT_DB_CHARSET=$TENANT_DB_CHARSET \
|
||||||
|
# Authentication
|
||||||
|
JWT_SECRET=$JWT_SECRET \
|
||||||
|
# Application
|
||||||
|
BASE_URL=$BASE_URL \
|
||||||
|
# Sign-up restriction
|
||||||
|
SIGNUP_DISABLED=$SIGNUP_DISABLED \
|
||||||
|
SIGNUP_ALLOWED_DOMAINS=$SIGNUP_ALLOWED_DOMAINS \
|
||||||
|
SIGNUP_ALLOWED_EMAILS=$SIGNUP_ALLOWED_EMAILS
|
||||||
|
|
||||||
|
# New Relic config file.
|
||||||
|
ENV NEW_RELIC_NO_CONFIG_FILE=true
|
||||||
|
|
||||||
|
# Create app directory.
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
RUN chown node:node /
|
||||||
|
|
||||||
|
# Install pnpm
|
||||||
|
RUN npm install -g pnpm
|
||||||
|
|
||||||
|
# Copy application dependency manifests to the container image.
|
||||||
|
COPY --chown=node:node ./ ./
|
||||||
|
|
||||||
|
# Install application dependencies
|
||||||
|
RUN apk update
|
||||||
|
RUN apk add python3 build-base chromium
|
||||||
|
|
||||||
|
# Set PYHTON env
|
||||||
|
ENV PYTHON=/usr/bin/python3
|
||||||
|
|
||||||
|
# Install packages dependencies for production.
|
||||||
|
RUN pnpm install
|
||||||
|
|
||||||
|
COPY --chown=node:node ./packages/server ./packages/server
|
||||||
|
|
||||||
|
# # Creates a "dist" folder with the production build
|
||||||
|
RUN pnpm run build:server --skip-nx-cache
|
||||||
|
|
||||||
|
CMD [ "node", "./packages/server/build/index.js" ]
|
||||||
Reference in New Issue
Block a user