typescript-express-starter
Version:
Quick and Easy TypeScript Express Starter
58 lines (53 loc) • 1.3 kB
YAML
version: '3.8'
services:
app:
build:
context: .
dockerfile: Dockerfile.dev
container_name: ${COMPOSE_PROJECT_NAME:-app}-dev
ports:
- '${PORT:-3000}:3000'
volumes:
# 소스 코드 핫 리로드
- .:/app
- /app/node_modules
# 로그 디렉토리 영속화
- ./logs:/app/logs
environment:
- NODE_ENV=development
- DATABASE_URL=${DATABASE_URL}
- JWT_SECRET=${JWT_SECRET}
- LOG_LEVEL=debug
depends_on:
mysql:
condition: service_healthy
restart: unless-stopped
networks:
- backend
mysql:
container_name: ${COMPOSE_PROJECT_NAME:-app}-mysql
image: mysql:8.0
ports:
- '3306:3306'
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword}
MYSQL_DATABASE: ${MYSQL_DATABASE:-app_db}
MYSQL_USER: ${MYSQL_USER:-user}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-password}
volumes:
- mysqldata:/var/lib/mysql
- ./database/mysql/init:/docker-entrypoint-initdb.d
healthcheck:
test: ['CMD', 'mysqladmin', 'ping', '-h', 'localhost']
interval: 10s
timeout: 5s
retries: 5
restart: always
networks:
- backend
networks:
backend:
driver: bridge
volumes:
mysqldata:
driver: local