Files
configs/server-dockers/docker-compose.yml

165 lines
3.8 KiB
YAML

#version: '3.8'
#
# More info: https://arnaucube.com/media-setup/
#
#
# Usage
# -----
# - All commands from inside the same directory where this file is placed.
# - Replace the `/mnt/usb` to your custom location, usually an external hard
# drive.
#
# Before running: mount the external hard drive!!
# > sudo mount /dev/sda /mnt/usb
#
# Run:
# > sudo docker compose up -d
#
# Stop:
# > sudo docker compose stop
#
# Remove containers (since the volumes are mapped to local directories, they
# will persist):
# > sudo docker compose down
#
#
# Port of each service:
# - jellyfin: 8096
# - emby: 8097
# - wallabag: 8098
# - slskd: 8099
# - metube: 8100
# - qbittorrent: 8080
# - homepage: 3000
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
ports:
- "8096:8096"
volumes:
- /mnt/usb/configurations/jellyfin:/config
- /mnt/usb:/media
restart: unless-stopped
emby:
image: emby/embyserver_arm64v8
container_name: emby
ports:
- "8097:8096"
volumes:
- /mnt/usb/configurations/emby:/config
- /mnt/usb:/media
restart: unless-stopped
wallabag:
image: wallabag/wallabag
container_name: wallabag
ports:
- "8098:80"
volumes:
- /mnt/usb/configurations/wallabag/data:/var/www/wallabag/data
- /mnt/usb/configurations/wallabag/images:/var/www/wallabag/web/assets/images
environment:
- SYMFONY__ENV__DOMAIN_NAME=http://192.168.1.155:8098
restart: unless-stopped
slskd:
image: slskd/slskd
container_name: slskd
ports:
- "8099:5030"
- "50300:50300"
volumes:
- /mnt/usb/configurations/slskd:/app
- /mnt/usb/audio/slskd-downloads:/downloads # isolate it in a subdir, since slskd removes arbitrary files on that dir
environment:
- SLSKD_REMOTE_CONFIGURATION=true
restart: unless-stopped
metube:
image: ghcr.io/alexta69/metube
container_name: metube
ports:
- "8100:8081"
volumes:
- /mnt/usb/audio/from-youtube:/downloads
restart: unless-stopped
qbittorrent-nox:
image: qbittorrentofficial/qbittorrent-nox:latest
container_name: qbittorrent-nox
ports:
- "8080:8080"
- "6881:6881/tcp" # Torrent listening port
- "6881:6881/udp"
volumes:
- /mnt/usb/configurations/qbittorrent:/config
- /mnt/usb:/downloads
environment:
- QBT_LEGAL_NOTICE=confirm
- WEBUI_PORT=8080
restart: unless-stopped
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
environment:
HOMEPAGE_ALLOWED_HOSTS: 192.168.1.155:8000 # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
sysctls:
- net.ipv6.conf.all.disable_ipv6=1
ports:
- 8000:3000
volumes:
- /mnt/usb/configurations/homepage:/app/config
restart: unless-stopped
# metrics related:
# prometheus:
# image: prom/prometheus:latest
# container_name: prometheus
# ports:
# - "9090:9090"
# volumes:
# - ./prometheus.yml:/etc/prometheus/prometheus.yml
# - prometheus_data:/prometheus
# networks:
# - monitoring
# restart: unless-stopped
#
# node-exporter:
# image: prom/node-exporter:latest
# container_name: node-exporter
# ports:
# - "9100:9100"
# networks:
# - monitoring
# restart: unless-stopped
#
# grafana:
# image: grafana/grafana:latest
# container_name: grafana
# ports:
# - "3000:3000"
# environment:
# - GF_SECURITY_ADMIN_PASSWORD=admin
# volumes:
# - grafana_data:/var/lib/grafana
# networks:
# - monitoring
# depends_on:
# - prometheus
# restart: unless-stopped
networks:
monitoring:
driver: bridge
#volumes:
# prometheus_data:
# driver: local
# grafana_data:
# driver: local