lthn.io/docker-compose.yml
Claude 924e8e223f
fix: switch from SQLite to MariaDB for production
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>
2026-04-04 11:39:13 +01:00

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