Files
isop-mirror/docker/docker-compose.yml

84 lines
2.3 KiB
YAML

services:
isop-frontend:
container_name: isop-frontend
build:
context: ../frontend
dockerfile: Dockerfile
restart: unless-stopped
environment:
NUXT_PUBLIC_SANCTUM_BASE_URL: ${BACKEND_URL:-https://backend.example.com}
NUXT_PUBLIC_SANCTUM_ORIGINAL: ${FRONTEND_URL:-https://example.com}
ports:
- 80:80
depends_on:
- isop-backend
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost"]
start_period: 10s
interval: 1m
timeout: 5s
retries: 5
isop-backend:
container_name: isop-backend
build:
context: ../backend
dockerfile: Dockerfile
restart: unless-stopped
environment:
APP_NAME: ISOP
APP_ENV: production
APP_KEY: SOME-KEY
APP_DEBUG: false
APP_URL: ${FRONTEND_URL:-https://example.com}
FRONTEND_URL: ${FRONTEND_URL:-https://example.com}
SANCTUM_STATEFUL_DOMAINS: ${BACKEND_URL:-https://backend.example.com},${FRONTEND_URL:-https://example.com}
SESSION_DOMAIN: ${SESSION_DOMAIN:-.example.com} # Note the first dot
APP_LOCALE: sk
APP_FALLBACK_LOCALE: en_US
MAIL_MAILER: smtp
MAIL_HOST: smtp.example.com
MAIL_PORT: 2525
MAIL_USERNAME: username
MAIL_PASSWORD: password
MAIL_FROM_ADDRESS: "noreply@example.com"
MAIL_FROM_NAME: "ISOP"
DB_CONNECTION: mariadb
DB_HOST: isop-database
DB_PORT: 3306
DB_DATABASE: isop
DB_USERNAME: root
DB_PASSWORD: admin
ports:
- 8111:80
depends_on:
isop-database:
condition: service_healthy
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost/api"]
start_period: 10s
interval: 1m
timeout: 5s
retries: 5
isop-database:
container_name: isop-database
image: mariadb:11.8.2-noble
restart: unless-stopped
cap_add:
# Allow memory binding
- SYS_NICE
environment:
MARIADB_DATABASE: "isop"
MARIADB_ROOT_PASSWORD: "admin"
volumes:
- ./mariadb_data:/var/lib/mysql
healthcheck:
test: [ "CMD", "healthcheck.sh", "--su-mysql", "--connect", "--innodb_initialized" ]
start_period: 10s
interval: 1m
timeout: 5s
retries: 3