├── README.md ├── kaizoku-docker-compose.yml ├── media-docker-compose.yml ├── net-docker-compose.yml ├── rip-docker-compose.yml └── utils-docker-compose.yml /README.md: -------------------------------------------------------------------------------- 1 | ## Docker Compose Scripts for my Home Server 2 | 3 | This is my personal config. You will need to tweak it to your needs. 4 | 5 | Example of usage: 6 | 7 | ``` 8 | scp * akitaonrails@plex.local:~/docker/ 9 | ssh akitaonrails@plex.local 10 | cd docker 11 | docker compose -f infra-docker-compose.yml up -d 12 | ``` 13 | -------------------------------------------------------------------------------- /kaizoku-docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | name: kaizoku 4 | 5 | volumes: 6 | kaizoku-db: 7 | redis: 8 | 9 | services: 10 | app: 11 | container_name: kaizoku 12 | image: ghcr.io/oae/kaizoku:latest 13 | environment: 14 | - DATABASE_URL=postgresql://kaizoku:kaizoku@kaizoku-db:5432/kaizoku 15 | - KAIZOKU_PORT=3000 16 | - REDIS_HOST=redis 17 | - REDIS_PORT=6379 18 | - PUID=1000 19 | - PGID=1000 20 | - TZ=America/Sao_Paulo 21 | volumes: 22 | - /mnt/terachad/Manga/Library:/data 23 | - /mnt/terachad/Manga/Kaizoku/config:/config 24 | - /tmp:/logs 25 | depends_on: 26 | kaizoku-db: 27 | condition: service_healthy 28 | ports: 29 | - '3000:3000' 30 | redis: 31 | image: redis:7-alpine 32 | volumes: 33 | - redis:/data 34 | kaizoku-db: 35 | image: postgres:alpine 36 | restart: unless-stopped 37 | healthcheck: 38 | test: ['CMD-SHELL', 'pg_isready -U kaizoku'] 39 | interval: 5s 40 | timeout: 5s 41 | retries: 5 42 | environment: 43 | - POSTGRES_USER=kaizoku 44 | - POSTGRES_DB=kaizoku 45 | - POSTGRES_PASSWORD=kaizoku 46 | volumes: 47 | - kaizoku-db:/var/lib/postgresql/data 48 | 49 | kavita: 50 | image: kizaing/kavita:latest 51 | restart: unless-stopped 52 | volumes: 53 | - /home/akitaonrails/kavita:/kavita/config 54 | - /mnt/terachad/Manga/Library:/manga 55 | ports: 56 | - '5000:5000' 57 | -------------------------------------------------------------------------------- /media-docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | name: 'media' 4 | 5 | services: 6 | qbittorrent: 7 | image: linuxserver/qbittorrent:latest 8 | restart: unless-stopped 9 | environment: 10 | - TZ=America/Sao_Paulo 11 | - WEBUI_PORT=8080 12 | - PUID=1000 13 | - PGID=1000 14 | volumes: 15 | - /home/akitaonrails/qbittorrent/config:/config 16 | - /mnt/terachad/Downloads/torrents:/downloads 17 | ports: 18 | - '8080:8080' 19 | - '62609:62609' 20 | 21 | jackett: 22 | image: ghcr.io/linuxserver/jackett:latest 23 | restart: unless-stopped 24 | environment: 25 | - TZ=America/Sao_Paulo 26 | - PUID=1000 27 | - PGID=1000 28 | volumes: 29 | - /home/akitaonrails/jackett/downloads:/downloads 30 | - /home/akitaonrails/jackett/config:/config 31 | ports: 32 | - '9117:9117' 33 | 34 | bazarr: 35 | image: ghcr.io/linuxserver/bazarr:latest 36 | restart: unless-stopped 37 | environment: 38 | - TZ=America/Sao_Paulo 39 | - PUID=1000 40 | - PGID=1000 41 | volumes: 42 | - /mnt/terachad/Videos/radarr:/movies 43 | - /mnt/terachad/Videos/sonarr:/tv 44 | - /home/akitaonrails/bazarr/appdata/config:/config 45 | ports: 46 | - '6767:6767' 47 | 48 | overseerr: 49 | image: sctx/overseerr 50 | restart: unless-stopped 51 | depends_on: 52 | - qbittorrent 53 | environment: 54 | - TZ=America/Sao_Paulo 55 | - PORT=5055 56 | volumes: 57 | - /home/akitaonrails/overseerr/config:/app/config 58 | ports: 59 | - '5055:5055' 60 | 61 | prowlarr: 62 | image: ghcr.io/hotio/prowlarr:latest 63 | restart: unless-stopped 64 | depends_on: 65 | - flaresolverr 66 | environment: 67 | - TZ=America/Sao_Paulo 68 | - PUID=1000 69 | - PGID=1000 70 | volumes: 71 | - /home/akitaonrails/prowlarr/config:/config 72 | ports: 73 | - '9696:9696' 74 | 75 | flaresolverr: 76 | image: ghcr.io/flaresolverr/flaresolverr:latest 77 | restart: unless-stopped 78 | volumes: 79 | - /home/akitaonrails/flaresolverr/config:/config 80 | ports: 81 | - '8191:8191' 82 | 83 | sabnzbd: 84 | image: lscr.io/linuxserver/sabnzbd:latest 85 | restart: unless-stopped 86 | environment: 87 | - TZ=America/Sao_Paulo 88 | - PUID=1000 89 | - PGID=1000 90 | volumes: 91 | - /mnt/terachad/Downloads/nzbget:/downloads 92 | - /mnt/terachad/Downloads/nzbget/incomplete:/incomplete-downloads 93 | - /home/akitaonrails/nzbget/config:/config 94 | ports: 95 | - '6789:6789' 96 | 97 | radarr: 98 | image: ghcr.io/linuxserver/radarr:latest 99 | restart: unless-stopped 100 | depends_on: 101 | - qbittorrent 102 | environment: 103 | - TZ=America/Sao_Paulo 104 | - PUID=1000 105 | - PGID=1000 106 | volumes: 107 | - /home/akitaonrails/radarr/appdata/config:/config 108 | - /mnt/terachad/Downloads/torrents:/downloads 109 | - /mnt/terachad/Videos/radarr/movies:/movies 110 | - /mnt/terachad/Videos/radarr/anime:/anime 111 | ports: 112 | - '7878:7878' 113 | 114 | sonarr: 115 | image: ghcr.io/linuxserver/sonarr:latest 116 | restart: unless-stopped 117 | depends_on: 118 | - qbittorrent 119 | environment: 120 | - TZ=America/Sao_Paulo 121 | - PUID=1000 122 | - PGID=1000 123 | volumes: 124 | - /home/akitaonrails/sonarr/appdata/config:/config 125 | - /mnt/terachad/Videos/sonarr:/tv 126 | - /mnt/terachad/Downloads/torrents:/downloads 127 | ports: 128 | - '8989:8989' 129 | 130 | plex: 131 | image: plexinc/pms-docker:latest 132 | shm_size: '2gb' 133 | restart: unless-stopped 134 | environment: 135 | - TZ=America/Sao_Paulo 136 | - PUID=1000 137 | - PGID=1000 138 | - VA_DRIVER=IHD 139 | volumes: 140 | - /home/akitaonrails/plex/config:/config 141 | - /home/akitaonrails/plex/data:/data 142 | - /home/akitaonrails/plex/transcode:/transcode 143 | - /mnt/terachad/Videos:/media 144 | devices: 145 | - /dev/dri:/dev/dri 146 | - /dev/bus/usb:/dev/bus/usb 147 | network_mode: host 148 | -------------------------------------------------------------------------------- /net-docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | name: 'net' 4 | 5 | services: 6 | cloudflared: 7 | image: visibilityspots/cloudflared:latest 8 | restart: unless-stopped 9 | environment: 10 | - UPSTREAM1=https://1.1.1.1/dns-query 11 | - UPSTREAM2=https://1.0.0.1/dns-query 12 | - PORT=5054 13 | - ADDRESS=0.0.0.0 14 | - METRICS=127.0.0.1:8088 15 | network_mode: host 16 | 17 | pihole: 18 | image: pihole/pihole:latest 19 | restart: unless-stopped 20 | depends_on: 21 | - cloudflared 22 | environment: 23 | - DNSMASQ_USER=pihole 24 | - WEBPASSWORD=ekCiN8!8b8ciNt2YmFAER 25 | - TZ=America/Sao_Paulo 26 | - PIHOLE_DNS_=127.0.0.1#5054 27 | - WEB_PORT=8053 28 | volumes: 29 | - /home/akitaonrails/dnsmasq.d:/etc/dnsmasq.d 30 | - /home/akitaonrails/pihole:/etc/pihole 31 | network_mode: host 32 | cap_add: 33 | - NET_RAW 34 | -------------------------------------------------------------------------------- /rip-docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | name: 'rip' 4 | 5 | services: 6 | makemkv: 7 | image: jlesage/makemkv 8 | volumes: 9 | - /home/akitaonrails/makemkv:/config 10 | - /mnt/terachad/Videos/BluRay:/output 11 | - /home/akitaonrails:/storage:ro 12 | devices: 13 | - /dev/sr0:/dev/sr0 14 | - /dev/sg0:/dev/sg0 15 | ports: 16 | - '5800:5800' 17 | 18 | handbrake: 19 | image: jlesage/handbrake 20 | ports: 21 | - "5801:5800" 22 | environment: 23 | - AUTOMATED_CONVERSION=0 24 | - HANDBRAKE_GUI=1 25 | - DARK_MODE=1 26 | - TZ=America/Sao_Paulo 27 | volumes: 28 | - "/home/akitaonrails/handbrake:/config:rw" 29 | - "/home/akitaonrails:/storage:ro" 30 | - "/mnt/terachad/Videos/BluRay:/watch:rw" 31 | - "/mnt/terachad/Videos/BluRayOptimized:/output:rw" 32 | devices: 33 | - /dev/dri:/dev/dri 34 | -------------------------------------------------------------------------------- /utils-docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | 3 | name: 'utils' 4 | 5 | volumes: 6 | portainer_data: 7 | 8 | services: 9 | portainer: 10 | image: portainer/portainer-ce:latest 11 | restart: unless-stopped 12 | volumes: 13 | - portainer_data:/data 14 | - /var/run/docker.sock:/var/run/docker.sock 15 | ports: 16 | - '9000:9000' 17 | 18 | organizr: 19 | image: organizr/organizr:latest 20 | restart: unless-stopped 21 | environment: 22 | - PUID=1000 23 | - PGID=1000 24 | volumes: 25 | - /home/akitaonrails/organizr:/config 26 | ports: 27 | - '80:80' 28 | cap_add: 29 | - NET_BIND_SERVICE 30 | 31 | watchtower: 32 | image: containrrr/watchtower:latest 33 | restart: unless-stopped 34 | volumes: 35 | - /var/run/docker.sock:/var/run/docker.sock 36 | cap_add: 37 | - NET_RAW 38 | - SETUID 39 | 40 | zerotier: 41 | image: zerotier/zerotier:latest 42 | restart: unless-stopped 43 | volumes: 44 | - /home/akitaonrails/zerotier:/var/lib/zerotier-one 45 | devices: 46 | - /dev/net/tun:/dev/net/tun 47 | cap_add: 48 | - NET_ADMIN 49 | - NET_RAW 50 | - SYS_ADMIN 51 | network_mode: host 52 | 53 | librespeed: 54 | image: lscr.io/linuxserver/librespeed:latest 55 | restart: unless-stopped 56 | environment: 57 | - TZ=America/Sao_Paulo 58 | - PUID=1000 59 | - PGID=1000 60 | volumes: 61 | - /home/akitaonrails/librespeed:/config 62 | ports: 63 | - '9091:80' 64 | --------------------------------------------------------------------------------