services: backend: image: ghcr.io/maxdorninger/mediamanager/backend:latest container_name: backend ports: - "8000:8000" # In your reverse proxy you will probably need to set rule that only requests with a path prefix # of /api/v1 will be forwarded to this container # if you are using traefik the rule is going to look something like this: # "traefik.http.routers.mm-api.rule=Host(`media.example`)&&PathPrefix(`/api/v1`)" environment: - QBITTORRENT_PASSWORD= - QBITTORRENT_HOST= - QBITTORRENT_USERNAME= - QBITTORRENT_PORT= - TMDB_API_KEY= - CORS_URLS= - DB_HOST=db #- DB_NAME= #- DB_PORT= #- DB_PASSWORD= #- DB_DBNAME= - AUTH_TOKEN_SECRET= - AUTH_ADMIN_EMAIL= - FRONTEND_URL= #- AUTH_SESSION_LIFETIME= #- OPENID_ENABLED=TRUE #- OPENID_CLIENT_ID= #- OPENID_CLIENT_SECRET= #- OPENID_CONFIGURATION_ENDPOINT= #- OPENID_NAME= #- API_BASE_PATH=/api/v1 #- TVDB_API_KEY= #- DEVELOPMENT= volumes: - ./data/:/data/ frontend: image: ghcr.io/maxdorninger/mediamanager/frontend:latest container_name: frontend ports: - "3000:3000" volumes: - ./cache:/app/cache environment: - PUBLIC_API_URL=http://localhost:8000/api/v1 db: image: postgres:latest restart: unless-stopped container_name: postgres volumes: - ./postgres:/var/lib/postgresql/data environment: POSTGRES_USER: MediaManager POSTGRES_DB: MediaManager POSTGRES_PASSWORD: MediaManager ports: - "5432:5432"