66 lines
2.1 KiB
YAML
66 lines
2.1 KiB
YAML
services:
|
|
m3u-editor:
|
|
image: sparkison/m3u-editor:${IMAGE_TAG:-latest}
|
|
container_name: m3u-editor
|
|
environment:
|
|
# Timezone
|
|
- TZ=Etc/UTC
|
|
|
|
# Application URL (change to your domain or IP)
|
|
- APP_URL=${APP_URL:-http://localhost}
|
|
- APP_PORT=${APP_PORT:-36400}
|
|
|
|
# Postgres Configuration
|
|
- ENABLE_POSTGRES=true # Use embedded Postgres, disable to use your own Postgres service
|
|
- PG_DATABASE=${PG_DATABASE:-m3ue}
|
|
- PG_USER=${PG_USER:-m3ue}
|
|
- PG_PASSWORD=${PG_PASSWORD:-changeme}
|
|
- PG_PORT=${PG_PORT:-5432}
|
|
|
|
# Database Connection (m3u-editor)
|
|
- DB_CONNECTION=pgsql
|
|
- DB_HOST=localhost
|
|
- DB_PORT=${PG_PORT:-5432}
|
|
- DB_DATABASE=${PG_DATABASE:-m3ue}
|
|
- DB_USERNAME=${PG_USER:-m3ue}
|
|
- DB_PASSWORD=${PG_PASSWORD:-changeme}
|
|
|
|
# Redis configuration
|
|
- REDIS_ENABLED=true # Enable embedded Redis
|
|
- REDIS_SERVER_PORT=${REDIS_PORT:-36790}
|
|
- REDIS_HOST=${REDIS_HOST:-localhost}
|
|
- REDIS_PASSWORD=${M3U_PROXY_TOKEN:-changeme} # Must match what start-container sets
|
|
|
|
# M3U Proxy Configuration (External)
|
|
- M3U_PROXY_ENABLED=true # Use embedded m3u-proxy instance
|
|
- M3U_PROXY_PORT=${M3U_PROXY_PORT:-38085}
|
|
- M3U_PROXY_HOST=${M3U_PROXY_HOST:-localhost} # Internal network hostname of m3u-proxy container
|
|
- M3U_PROXY_TOKEN=${M3U_PROXY_TOKEN:-changeme}
|
|
volumes:
|
|
# Persistent configuration data
|
|
- data:/var/www/config
|
|
|
|
# PostgreSQL data persistence
|
|
- pgdata:/var/lib/postgresql/data
|
|
|
|
# User-uploaded assets (logos, images, etc.)
|
|
# Without this, uploaded assets are lost on container recreation
|
|
- storage:/var/www/html/storage/app/public
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${APP_PORT:-36400}:${APP_PORT:-36400}" # Main application port
|
|
# - "${PG_PORT:-5432}:${PG_PORT:-5432}" # Uncomment to expose PostgreSQL
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-f", "http://127.0.0.1:${APP_PORT:-36400}/up" ]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 60s
|
|
volumes:
|
|
pgdata:
|
|
driver: local
|
|
storage:
|
|
driver: local
|
|
data:
|
|
driver: local
|
|
|