This project sets up a media server using Docker Compose with the following services:
- Jellyfin
- Radarr
- Sonarr
- Prowlarr
- qBittorrent
- FlareSolverr
- Nginx Proxy Manager
- Pi-hole
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/fuegoblanco/yaddcms cd yaddcms
-
Run the setup script
./setup.sh
The script will prompt you for the following information:
- PUID (default: 1001)
- PGID (default: 1001)
- Timezone (default: Etc/UTC)
- Configuration directory (default: ./casa.config)
- Data directory (default: ./data)
- Torrents directory (default: ./data/torrents)
- Pi-hole web password
The script will create the necessary directories and generate the .env and docker-compose.yml files.
-
Purpose: A network-wide ad blocker.
-
Access:
- Default URL:
http://<your-server-ip>:8800/admin
- Log in with the password you provided during setup.
- Default URL:
-
Configuration:
- Set your router's DNS to the Pi-hole server's IP address for network-wide ad blocking.
- Alternatively, configure individual devices to use the Pi-hole DNS.
-
Purpose: Manage reverse proxies for the media server services.
-
Access:
- Default URL:
http://<your-server-ip>:81
- Default credentials:
- Email:
[email protected]
- Password:
changeme
- Email:
- Default URL:
-
Configuration:
- Log in and update the default credentials.
- Set up a reverse proxy for each service:
- Go to "Hosts" > "Add Proxy Host."
- Enter the domain/subdomain (e.g.,
jellyfin.mydomain.com
). - Specify the internal IP and port of the service (e.g., Jellyfin:
8096
). - Enable SSL (optional, requires Let's Encrypt or another certificate authority).
- Test the proxy by accessing the domain or subdomain you configured.
docker compose up -d
docker compose down
If you make changes to the docker-compose.yml
file or want to pull updated images:
docker compose up -d --build
Service | Default Port | URL |
---|---|---|
Jellyfin | 8096 |
http://<your-server-ip>:8096 |
Radarr | 7878 |
http://<your-server-ip>:7878 |
Sonarr | 8989 |
http://<your-server-ip>:8989 |
Prowlarr | 9696 |
http://<your-server-ip>:9696 |
qBittorrent | 8080 |
http://<your-server-ip>:8080 |
FlareSolverr | 8191 |
http://<your-server-ip>:8191 |
Nginx Proxy Manager | 81 |
http://<your-server-ip>:81 |
Pi-hole | 8800 |
http://<your-server-ip>:8800/admin |
- Add custom blocklists in
Group Management > Adlists
. - Monitor queries and blocked requests in the admin interface.
- Use Let's Encrypt for free SSL certificates.
- Configure Access Lists to secure sensitive services.
- Port Conflicts: Ensure ports in
docker-compose.yml
are not used by other applications. - Permission Errors: Verify directory permissions for Docker.
-
View running containers:
docker ps
-
Check logs for a specific service:
docker logs <container_name>
-
Prune unused Docker resources:
docker system prune -a