mirror of
https://github.com/maxdorninger/MediaManager.git
synced 2025-12-23 22:18:19 -05:00
146 lines
3.6 KiB
YAML
146 lines
3.6 KiB
YAML
services:
|
|
db:
|
|
image: postgres:17
|
|
restart: unless-stopped
|
|
container_name: postgres
|
|
volumes:
|
|
- ./res/postgres:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_USER: MediaManager
|
|
POSTGRES_DB: MediaManager
|
|
POSTGRES_PASSWORD: MediaManager
|
|
ports:
|
|
- "5432:5432"
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}" ]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
mediamanager:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: app
|
|
args:
|
|
- VERSION=locally-built
|
|
- BASE_PATH=
|
|
container_name: mediamanager
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8000:8000"
|
|
environment:
|
|
- CONFIG_DIR=/app/config
|
|
- MEDIAMANAGER_MISC__DEVELOPMENT=TRUE
|
|
- MEDIAMANAGER_MISC__CORS_URLS=["http://localhost:5173"]
|
|
- DISABLE_FRONTEND_MOUNT=TRUE
|
|
- LOG_FILE=/dev/null
|
|
volumes:
|
|
#- ./web/build:/app/web/build # this is only needed to test built frontend when developing frontend
|
|
- ./res/images/:/data/images/
|
|
- ./res/:/data/
|
|
- ./res/config/:/app/config/
|
|
- ./media_manager:/app/media_manager
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
frontend:
|
|
image: node:24-alpine
|
|
container_name: mediamanager-frontend-dev
|
|
working_dir: /app
|
|
command: sh -c "npm install && npm run dev -- --host 0.0.0.0"
|
|
ports:
|
|
- "5173:5173"
|
|
- "24678:24678"
|
|
volumes:
|
|
- ./web:/app
|
|
depends_on:
|
|
- mediamanager
|
|
|
|
# ----------------------------
|
|
# Additional services can be uncommented and configured as needed
|
|
# ----------------------------
|
|
|
|
# prowlarr:
|
|
# image: lscr.io/linuxserver/prowlarr:latest
|
|
# container_name: prowlarr
|
|
# environment:
|
|
# - PUID=1000
|
|
# - PGID=1000
|
|
# - TZ=Etc/UTC
|
|
# volumes:
|
|
# - ./res/prowlarr:/config
|
|
# restart: unless-stopped
|
|
# ports:
|
|
# - "9696:9696"
|
|
# qbittorrent:
|
|
# image: lscr.io/linuxserver/qbittorrent:latest
|
|
# container_name: qbittorrent
|
|
# environment:
|
|
# - TZ=Etc/UTC
|
|
# - WEBUI_PORT=8080
|
|
# - TORRENTING_PORT=6881
|
|
# ports:
|
|
# - 8080:8080
|
|
# - 6881:6881
|
|
# - 6881:6881/udp
|
|
# restart: unless-stopped
|
|
# volumes:
|
|
# - ./res/torrents:/download
|
|
# - ./res/qbittorrent:/config
|
|
# transmission:
|
|
# image: lscr.io/linuxserver/transmission:latest
|
|
# container_name: transmission
|
|
# environment:
|
|
# - PUID=1000
|
|
# - PGID=1000
|
|
# - TZ=Etc/UTC
|
|
# - USER=admin
|
|
# - PASS=admin
|
|
# volumes:
|
|
# - ./res/transmission:/config
|
|
# - ./res/torrents:/data/torrents
|
|
# ports:
|
|
# - 9091:9091
|
|
# restart: unless-stopped
|
|
# pocket-id:
|
|
# image: ghcr.io/pocket-id/pocket-id
|
|
# restart: unless-stopped
|
|
# env_file: .env
|
|
# ports:
|
|
# - 1411:1411
|
|
# volumes:
|
|
# - ./res/pocket-id:/app/data
|
|
# healthcheck:
|
|
# test: "curl -f http://localhost:1411/healthz"
|
|
# interval: 1m30s
|
|
# timeout: 5s
|
|
# retries: 2
|
|
# start_period: 10s
|
|
# sabnzbd:
|
|
# image: lscr.io/linuxserver/sabnzbd:latest
|
|
# container_name: sabnzbd
|
|
# environment:
|
|
# - PUID=1000
|
|
# - PGID=1000
|
|
# - TZ=Etc/UTC
|
|
# volumes:
|
|
# - ./res/sabnzbd:/config
|
|
# - ./res/torrents:/downloads
|
|
# ports:
|
|
# - 8081:8080
|
|
# restart: unless-stopped
|
|
# jackett:
|
|
# image: lscr.io/linuxserver/jackett:latest
|
|
# container_name: jackett
|
|
# environment:
|
|
# - PUID=1000
|
|
# - PGID=1000
|
|
# - TZ=Etc/UTC
|
|
# - AUTO_UPDATE=true
|
|
# volumes:
|
|
# - ./res/jackett/data:/config
|
|
# - ./res/jackett/torrents:/downloads
|
|
# ports:
|
|
# - 9117:9117
|
|
# restart: unless-stopped
|