diff --git a/Writerside/topics/Configuration.md b/Writerside/topics/Configuration.md index 21b1192..5d3f8cc 100644 --- a/Writerside/topics/Configuration.md +++ b/Writerside/topics/Configuration.md @@ -1,6 +1,6 @@ # Configuration The configuration of MediaManager is divided into backend and frontend settings, which can be set in your -`docker-compose.yml` file or in separate `.env` files. +`docker-compose.yaml` file or in separate `.env` files. All settings are set as environment variables, because this makes backing up the configuration easier and allows for easier sharing/transferring of the configuration. \ No newline at end of file diff --git a/Writerside/topics/configuration-backend.md b/Writerside/topics/configuration-backend.md index 05d7860..a315ce1 100644 --- a/Writerside/topics/configuration-backend.md +++ b/Writerside/topics/configuration-backend.md @@ -18,6 +18,18 @@ These variables configure the core backend application, database connections, au | `DB_PASSWORD` | Password for the PostgreSQL user. | `MediaManager` | `mypassword` | | `DB_DBNAME` | Name of the PostgreSQL database. | `MediaManager` | `mydatabase` | +## Download Client Settings + +Currently, only qBittorrent is supported as a download client. But support for other clients isn't unlikely in the +future. + +| Variable | Description | Default | Example | +|--------------------|-----------------------------|-------------|--------------------| +| `QBITTORRENT_HOST` | Host of the QBittorrent API | `localhost` | `qbit.example.com` | +| `QBITTORRENT_PORT` | Port of the QBittorrent API | `8080` | `443` | +| `QBITTORRENT_USER` | Username for QBittorrent | `admin` | - | +| `QBITTORRENT_PASS` | Password for QBittorrent | `admin` | - | + ## Metadata Provider Settings These settings configure the integrations with external metadata providers like The Movie Database (TMDB) and The TVDB. @@ -52,7 +64,7 @@ generate a free API key in your account settings. ## Directory Settings - Normally you don't need to change these, as the default mountpoints are usually sufficient. In your `docker-compose.yml`, you can just mount `/any/directory` to `/data/torrents`. + Normally you don't need to change these, as the default mountpoints are usually sufficient. In your `docker-compose.yaml`, you can just mount `/any/directory` to `/data/torrents`. | Variable | Description | Default | diff --git a/Writerside/topics/configuration-overview.md b/Writerside/topics/configuration-overview.md index 4b2f99f..81cd87a 100644 --- a/Writerside/topics/configuration-overview.md +++ b/Writerside/topics/configuration-overview.md @@ -10,9 +10,9 @@ The recommended way to install and run Media Manager is using Docker and Docker ## Setup -* Download the docker-compose.yml from the MediaManager repo with the following command: +* Download the docker-compose.yaml from the MediaManager repo with the following command: ``` - wget -o docker-compose.yml https://raw.githubusercontent.com/maxdorninger/MediaManager/refs/heads/master/docker-compose.yml + wget -o docker-compose.yaml https://raw.githubusercontent.com/maxdorninger/MediaManager/refs/heads/master/docker-compose.yaml ``` * Configure the necessary environment variables in your `docker-compose.yaml` file. diff --git a/Writerside/topics/troubleshooting.md b/Writerside/topics/troubleshooting.md index 72098a1..9193f17 100644 --- a/Writerside/topics/troubleshooting.md +++ b/Writerside/topics/troubleshooting.md @@ -25,6 +25,6 @@ ## Data Not Appearing / File Issues * Verify that the volume mounts for `IMAGE_DIRECTORY`, `TV_DIRECTORY`, `MOVIE_DIRECTORY`, and `TORRENT_DIRECTORY` in - your `docker-compose.yml` are correctly pointing to your media folders on the host machine. + your `docker-compose.yaml` are correctly pointing to your media folders on the host machine. * Check file and directory permissions for the user running the Docker container (or the `node` user inside the containers). diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..22094ee --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,98 @@ +services: + backend: + image: ghcr.io/maxdorninger/mediamanager/backend:latest + container_name: backend + ports: + - "8000:8000" + + environment: + - QBITTORRENT_PASSWORD= + - QBITTORRENT_HOST= + - QBITTORRENT_USERNAME= + - QBITTORRENT_PORT= + + - PROWLARR_URL=http://prowlarr:9696 + - PROWLARR_ENABLED=TRUE + - PROWLARR_API_KEY= + + - TMDB_API_KEY= + - CORS_URLS= + + - DB_HOST=db + #- DB_NAME= + #- DB_PORT= + #- DB_PASSOWORD= + #- 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/images + - ./tv:/data/tv + - ./movie:/data/movies + - ./torrent:/data/torrents + 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 + - PUBLIC_SSR_API_URL=http://backend:8000/api/v1 + # - PUBLIC_WEB_SSR=false + 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" + prowlarr: + image: lscr.io/linuxserver/prowlarr:latest + container_name: prowlarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - ./prowlarr:/config + restart: unless-stopped + ports: + - "9696:9696" + qbittorrent: + image: lscr.io/linuxserver/qbittorrent:latest + container_name: qbittorrent + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + - WEBUI_PORT=8080 + - TORRENTING_PORT=6881 + ports: + - 8080:8080 + - 6881:6881 + - 6881:6881/udp + restart: unless-stopped + volumes: + - ./torrent/:/download/:rw + diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index ce5c6d8..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,55 +0,0 @@ -services: - db: - image: postgres:latest - 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" - 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: - - PUID=1000 - - PGID=1000 - - TZ=Etc/UTC - - WEBUI_PORT=8080 - - TORRENTING_PORT=6881 - ports: - - 8080:8080 - - 6881:6881 - - 6881:6881/udp - restart: unless-stopped - volumes: - - ./torrent/:/download/:rw - 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 \ No newline at end of file