Files
few-line-engine/docker-compose.yml

71 lines
1.6 KiB
YAML

version: "3.8"
services:
# MariaDB Database
mariadb:
image: mariadb:10.11
container_name: low-code-engine-mariadb
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-rootpassword}
MYSQL_DATABASE: ${DB_DATABASE:-low_code_engine}
MYSQL_USER: ${DB_USERNAME:-app_user}
MYSQL_PASSWORD: ${DB_PASSWORD:-app_password}
ports:
- "${DB_PORT:-3306}:3306"
volumes:
- mariadb_data:/var/lib/mysql
- ./docker/mariadb/init:/docker-entrypoint-initdb.d
networks:
- app-network
healthcheck:
test:
[
"CMD",
"mysqladmin",
"ping",
"-h",
"localhost",
"-u",
"root",
"-p${DB_ROOT_PASSWORD:-rootpassword}",
]
timeout: 5s
retries: 10
interval: 10s
# NestJS Application
app:
build:
context: .
dockerfile: Dockerfile
target: development
container_name: low-code-engine-app
restart: unless-stopped
environment:
NODE_ENV: ${NODE_ENV:-development}
DB_HOST: mariadb
DB_PORT: 3306
DB_USERNAME: ${DB_USERNAME:-app_user}
DB_PASSWORD: ${DB_PASSWORD:-app_password}
DB_DATABASE: ${DB_DATABASE:-low_code_engine}
ports:
- "${APP_PORT:-3000}:3000"
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
networks:
- app-network
depends_on:
mariadb:
condition: service_healthy
command: yarn start:dev
volumes:
mariadb_data:
driver: local
networks:
app-network:
driver: bridge