65 lines
2.1 KiB
YAML
65 lines
2.1 KiB
YAML
version: '3.7'
|
|
|
|
services:
|
|
basic-nestjs-app:
|
|
image: "${DOCKER_IMAGE_NAME}"
|
|
container_name: "basic-nestjs-app"
|
|
privileged: false
|
|
# NOTE: Docker image user is 'node:node (1000:1000)'
|
|
user: "1000:1000"
|
|
build:
|
|
context: .
|
|
dockerfile: ./Dockerfile.dev
|
|
args:
|
|
org_label_schema_name: "${DOCKER_IMAGE_NAME}"
|
|
environment:
|
|
ENABLE_DUMMY_DAEMON: "${ENABLE_DUMMY_DAEMON}"
|
|
ports:
|
|
- "${PUB_APP_PORT}:3000"
|
|
# - "${PUB_HTTP_PORT}:80"
|
|
# - "${PUB_HTTPS_PORT}:443"
|
|
volumes:
|
|
# For application development:
|
|
- "./.env-app:/home/node/app/.env"
|
|
- "./src:/home/node/app/src"
|
|
- "./.vscode:/home/node/app/.vscode"
|
|
- "./.git:/home/node/app/.git"
|
|
- "./.eslintrc.js:/home/node/app/.eslintrc.js"
|
|
- "./.gitignore:/home/node/app/.gitignore"
|
|
- "./.prettierrc:/home/node/app/.prettierrc"
|
|
- "./nest-cli.json:/home/node/app/nest-cli.json"
|
|
- "./package.json:/home/node/app/package.json"
|
|
- "./tsconfig.build.json:/home/node/app/tsconfig.build.json"
|
|
- "./tsconfig.json:/home/node/app/tsconfig.json"
|
|
- "./yarn.lock:/home/node/app/yarn.lock"
|
|
# In order syncing in git, mount need files as read-only
|
|
- "./.gitlab-ci.yml:/home/node/app/.gitlab-ci.yml:ro"
|
|
- "./Dockerfile:/home/node/app/Dockerfile:ro"
|
|
- "./Dockerfile.dev:/home/node/app/Dockerfile.dev:ro"
|
|
- "./docker-compose.yml:/home/node/app/docker-compose.yml:ro"
|
|
- "./image_files:/home/node/app/image_files:ro"
|
|
|
|
# --- For Attach VSCode in container
|
|
# - "basic-nestjs-app-data-vscode-server:/home/node/.vscode-server"
|
|
- "./data/vscode-server:/home/node/.vscode-server"
|
|
|
|
|
|
# Disable Healthcheck
|
|
healthcheck:
|
|
test: ["NONE"]
|
|
|
|
# Without this, will get error when start up in WSL2
|
|
network_mode: bridge
|
|
|
|
links:
|
|
- "db"
|
|
db:
|
|
image: mariadb:10.11
|
|
restart: always
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: example
|
|
|
|
# Note: Don't use named volume since the container is running as non-root
|
|
# volumes:
|
|
# basic-nestjs-app-data-vscode-server:
|