71 lines
1.6 KiB
YAML
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
|