| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| services: |
| |
| |
| |
| postgres: |
| image: postgres:16 |
| container_name: streamcore-postgres |
| restart: unless-stopped |
| environment: |
| |
| POSTGRES_USER: streamcore |
| POSTGRES_PASSWORD: StreamCore_DB_2024_Production! |
| POSTGRES_DB: streamcore |
| volumes: |
| - postgres-data:/var/lib/postgresql/data |
| ports: |
| - "5433:5432" |
| networks: |
| - streamcore-network |
| healthcheck: |
| test: [ "CMD-SHELL", "pg_isready -U streamcore -d streamcore" ] |
| interval: 5s |
| timeout: 5s |
| retries: 10 |
| start_period: 10s |
|
|
| |
| |
| |
| backend: |
| build: |
| context: ./backend |
| container_name: streamcore-backend |
| restart: unless-stopped |
| environment: |
| |
| SERVER_ADDRESS: "0.0.0.0:3000" |
|
|
| |
| DATABASE_URL: "postgres://streamcore:StreamCore_DB_2024_Production!@postgres:5432/streamcore" |
|
|
| |
| PUBLIC_BASE_URL: "https://apistreamcore.syruum.com" |
| CORS_ALLOWED_ORIGINS: "https://streamcore.syruum.com,https://apistreamcore.syruum.com,http://localhost:5000,http://localhost:3000" |
|
|
| |
| JWT_SECRET: "${JWT_SECRET:-ae85a308c80be3b2006da9126620c5fbc2ceadeadbe9c8e9040e9ad0c5d362c8}" |
| ADMIN_DEFAULT_PASSWORD: "${ADMIN_DEFAULT_PASSWORD:-22333265}" |
|
|
| |
| STRIPE_SECRET_KEY: "sk_test_placeholder" |
| STRIPE_WEBHOOK_SECRET: "whsec_placeholder" |
| STRIPE_CURRENCY: "usd" |
| STRIPE_SUCCESS_URL: "https://streamcore.syruum.com/credits/success" |
| STRIPE_CANCEL_URL: "https://streamcore.syruum.com/credits/cancel" |
|
|
| |
| BACKUP_ENABLED: "true" |
| BACKUP_DIR: "/data/backups" |
| BACKUP_RETENTION_DAYS: "30" |
| BACKUP_INTERVAL_HOURS: "24" |
|
|
| |
| CONTENT_OVERVIEW_MULTIPLIER: "x1" |
| SKIP_MIGRATIONS: "false" |
| RUST_LOG: "iptv_backend=info,tower_http=warn,sqlx=warn" |
| DEBUG_MODE: "false" |
|
|
| |
| |
| VIRTUAL_HOST: "apistreamcore.syruum.com" |
| VIRTUAL_PORT: "3000" |
| LETSENCRYPT_HOST: "apistreamcore.syruum.com" |
| LETSENCRYPT_EMAIL: "admin@syruum.com" |
| volumes: |
| - backend-data:/data |
| - /media:/media |
| ports: |
| - "3000:3000" |
| networks: |
| - streamcore-network |
| depends_on: |
| postgres: |
| condition: service_healthy |
|
|
| |
| |
| |
| frontend: |
| build: |
| context: ./frontend |
| args: |
| |
| APP_NAME: "StreamCore" |
| |
| NEXT_PUBLIC_API_URL: "https://apistreamcore.syruum.com" |
| container_name: streamcore-frontend |
| restart: unless-stopped |
| environment: |
| |
| INTERNAL_API_URL: "http://backend:3000" |
| |
| NEXT_PUBLIC_API_URL: "https://apistreamcore.syruum.com" |
| NEXT_PUBLIC_APP_NAME: "StreamCore" |
|
|
| |
| STREAMCORE_PROXY_ALLOWED_HOSTS: "*" |
| STREAMCORE_PROXY_REQUIRE_AUTH: "false" |
| STREAMCORE_PROXY_ALLOW_PRIVATE: "true" |
|
|
| |
| |
| VIRTUAL_HOST: "streamcore.syruum.com" |
| VIRTUAL_PORT: "5000" |
| LETSENCRYPT_HOST: "streamcore.syruum.com" |
| LETSENCRYPT_EMAIL: "admin@syruum.com" |
| depends_on: |
| - backend |
| ports: |
| - "5000:5000" |
| networks: |
| - streamcore-network |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| nginx-proxy: |
| image: nginxproxy/nginx-proxy:1.4 |
| container_name: nginx-proxy |
| restart: always |
| profiles: |
| - proxy |
| ports: |
| - "80:80" |
| - "443:443" |
| volumes: |
| - /var/run/docker.sock:/tmp/docker.sock:ro |
| - nginx-certs:/etc/nginx/certs:ro |
| - nginx-vhost:/etc/nginx/vhost.d |
| - nginx-html:/usr/share/nginx/html |
| - ./nginx/custom.conf:/etc/nginx/conf.d/custom.conf:ro |
| networks: |
| - streamcore-network |
|
|
| acme-companion: |
| image: nginxproxy/acme-companion:2.2 |
| container_name: acme-companion |
| restart: always |
| profiles: |
| - proxy |
| volumes: |
| - /var/run/docker.sock:/var/run/docker.sock:ro |
| - nginx-certs:/etc/nginx/certs:rw |
| - nginx-vhost:/etc/nginx/vhost.d |
| - nginx-html:/usr/share/nginx/html |
| - acme-state:/etc/acme.sh |
| environment: |
| |
| DEFAULT_EMAIL: "admin@syruum.com" |
| NGINX_PROXY_CONTAINER: nginx-proxy |
| depends_on: |
| - nginx-proxy |
| networks: |
| - streamcore-network |
|
|
| networks: |
| streamcore-network: |
| driver: bridge |
|
|
| volumes: |
| backend-data: |
| postgres-data: |
| nginx-certs: |
| nginx-vhost: |
| nginx-html: |
| acme-state: |
|
|