nordicstorium/docker-compose.yml

73 lines
1.9 KiB
YAML

services:
nordicstorium-app:
build: .
container_name: nordicstorium-app
restart: unless-stopped
ports:
- "3000:3000"
environment:
NODE_ENV: development
DB_HOST: nordicstorium-db
DB_PORT: 3306
DB_NAME: nordic_storium
DB_USER: nordic_app_user
DB_PASSWORD: ${APP_DB_PASSWORD}
DATABASE_URL: "mysql://nordic_app_user:${APP_DB_PASSWORD}@nordicstorium-db:3306/nordic_storium"
JWT_SECRET: ${JWT_SECRET}
volumes:
- ./:/app
- /app/node_modules
- /app/.next
depends_on:
nordicstorium-db:
condition: service_healthy
nordicstorium-db:
image: mariadb:10.11.4
container_name: nordicstorium-db
restart: unless-stopped
ports:
- "3306:3306"
environment:
MARIADB_ROOT_PASSWORD: ${ROOT_DB_PASSWORD}
MARIADB_DATABASE: nordic_storium
MARIADB_USER: nordic_app_user
MARIADB_PASSWORD: ${APP_DB_PASSWORD}
MARIADB_ROOT_HOST: "%"
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --skip-name-resolve
- --bind-address=0.0.0.0
volumes:
- nordicstorium-mysql-data:/var/lib/mysql
- ./schemas:/docker-entrypoint-initdb.d
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect"]
start_period: 30s
interval: 10s
timeout: 5s
retries: 5
nordicstorium-phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
container_name: nordicstorium-phpmyadmin
restart: unless-stopped
ports:
- "8081:80"
environment:
PMA_HOST: nordicstorium-db
PMA_PORT: 3306
PMA_ARBITRARY: 0
UPLOAD_LIMIT: 50M
# Remove auto-login - user must login manually
# PMA_USER and PMA_PASSWORD are NOT set - this forces login
volumes:
- phpmyadmin-sessions:/sessions
depends_on:
nordicstorium-db:
condition: service_healthy
volumes:
nordicstorium-mysql-data:
phpmyadmin-sessions: