Database now uses native MariaDB (lthn_io database). Container connects via host.docker.internal:3306. Claims persisted in proper RDBMS that survives container rebuilds. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
# Production deployment for lthn.io
|
|
# FrankenPHP + Octane + Supervisor
|
|
#
|
|
# Usage:
|
|
# docker compose up -d --build
|
|
#
|
|
# Rebuilds pick up code changes from the working directory.
|
|
|
|
services:
|
|
app:
|
|
build: .
|
|
container_name: lthn-io
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
environment:
|
|
APP_ENV: production
|
|
APP_DEBUG: "false"
|
|
OCTANE_SERVER: frankenphp
|
|
CACHE_STORE: file
|
|
SESSION_DRIVER: file
|
|
DB_CONNECTION: mariadb
|
|
DB_HOST: host.docker.internal
|
|
DB_PORT: 3306
|
|
DB_DATABASE: lthn_io
|
|
DB_USERNAME: claude
|
|
DB_PASSWORD: claude
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
volumes:
|
|
- ./.env:/app/.env:ro
|
|
labels:
|
|
traefik.enable: "true"
|
|
traefik.http.routers.lthn-io.rule: "Host(`lthn.io`) || Host(`testnet.lthn.io`) || Host(`api.lthn.io`) || Host(`docs.lthn.io`) || Host(`explorer.lthn.io`)"
|
|
traefik.http.routers.lthn-io.entrypoints: websecure
|
|
traefik.http.routers.lthn-io.tls: "true"
|
|
traefik.http.services.lthn-io.loadbalancer.server.port: "80"
|
|
traefik.docker.network: proxy
|
|
networks:
|
|
- proxy
|
|
- noc-net
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
noc-net:
|
|
external: true
|