version: '3.1' services: postgres-clipable: image: postgres:14 network_mode: bridge environment: - POSTGRES_HOST_AUTH_METHOD=trust volumes: - postgres-clipable:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U postgres"] interval: 1s timeout: 5s retries: 5 clipable: image: ghcr.io/clipable/clipable:latest network_mode: bridge links: - postgres-clipable environment: ALLOW_REGISTRATION: true MAX_UPLOAD_SIZE: 5GB FFMPEG_CONCURRENCY: 1 FFMPEG_THREADS: 0 FFMPEG_PRESET: medium FFMPEG_TUNE: film #FFMPEG_QUALITY_PRESETS: 30 DB_HOST: postgres-clipable DB_PORT: 5432 DB_USER: postgres DB_PASSWORD: "${DB_PASSWORD}" DB_NAME: postgres DB_IDHASHKEY: "${DB_IDHASHKEY}" COOKIE_KEY: "${COOKIE_KEY}" S3_BUCKET: clips S3_ACCESS: "${S3_ACCESS}" S3_SECRET: "${S3_SECRET}" S3_ADDRESS: "v4x1.fra.idrivee2-46.com" S3_SECURE: true labels: traefik.enable: "true" traefik.http.routers.clipable.entrypoints: "web, websecure" traefik.http.routers.clipable.rule: "${ROOT_URL_TRAEFIK}" traefik.http.routers.clipable.tls: "true" traefik.http.routers.clipable.tls.certresolver: "production" traefik.http.services.clipable.loadbalancer.server.port: "${PORT_TRAEFIK}" depends_on: postgres-clipable: condition: service_healthy volumes: postgres-clipable: networks: bridge: driver: bridge