commit 36ca607c7451d3e5f9efba5b3b92704b3af60927 Author: Fejy Date: Tue Oct 1 21:51:58 2024 +0000 Initial Commit Adding docker compose stacks diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5966c57 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +**/.env diff --git a/firefox-vpn/compose.yml b/firefox-vpn/compose.yml new file mode 100644 index 0000000..d0f6d35 --- /dev/null +++ b/firefox-vpn/compose.yml @@ -0,0 +1,16 @@ +services: + browser: + image: lscr.io/linuxserver/firefox:latest + container_name: firefox + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/New_York + - HTTP_PROXY=http://localhost:8888 # Set the HTTP proxy to Gluetun + - HTTPS_PROXY=http://localhost:8888 # Set the HTTPS proxy to Gluetun + network_mode: "container:gluetun" + shm_size: "1gb" + volumes: + - /home/fejy/docker/firefox/config:/config:rw + - /home/fejy/docker/firefox/downloads:/downloads:rw + restart: unless-stopped diff --git a/homepage/compose.yml b/homepage/compose.yml new file mode 100644 index 0000000..0294847 --- /dev/null +++ b/homepage/compose.yml @@ -0,0 +1,23 @@ +services: + homepage: + image: ghcr.io/gethomepage/homepage:latest + container_name: homepage + environment: + PUID: 1029 # optional, your user id + PGID: 1000 # optional, your group id + ports: + - 3069:3000 + volumes: + - /home/fejy/docker/homepage:/app/config # Make sure your local config directory exists + - /var/run/docker.sock:/var/run/docker.sock:ro # optional, for docker integrations + restart: unless-stopped + networks: + - proxy + labels: + - "traefik.enable=true" + - "traefik.http.routers.homepage.rule=Host(`home.nearfuture`)" + - "traefik.http.routers.homepage.entrypoints=web" + +networks: + proxy: + external: true diff --git a/overseerr/compose.yml b/overseerr/compose.yml new file mode 100644 index 0000000..236e198 --- /dev/null +++ b/overseerr/compose.yml @@ -0,0 +1,27 @@ +services: + overseerr: + image: lscr.io/linuxserver/overseerr:latest + container_name: overseerr + environment: + - PUID=1029 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - /home/fejy/docker/overseerr:/config + ports: + - 5055:5055 + restart: unless-stopped + networks: + - proxy + labels: + - "traefik.enable=true" + - "traefik.http.routers.overseerr.rule=Host(`overseerr.nearfuture`)" + - "traefik.http.routers.overseerr.entrypoints=web" + - "traefik.http.routers.overseerr-ssl.rule=Host(`overseerr.nearfuture`)" + - "traefik.http.routers.overseerr-ssl.entrypoints=websecure" + - "traefik.http.routers.overseerr-ssl.tls=true" + +networks: + proxy: + external: true + diff --git a/pirate-ship/compose.yml b/pirate-ship/compose.yml new file mode 100644 index 0000000..edf9d0a --- /dev/null +++ b/pirate-ship/compose.yml @@ -0,0 +1,131 @@ +services: + gluetun: + image: qmcgaw/gluetun + container_name: gluetun + # line above must be uncommented to allow external containers to connect. + # See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun + cap_add: + - NET_ADMIN + devices: + - /dev/net/tun:/dev/net/tun + ports: + - 8000:8000/tcp # Gluetun's built-in HTTP control server + - 8888:8888/tcp # Gluetun's built-in HTTP proxy + - 8388:8388/tcp # Gluetun's built-in Shadowsocks server + - 8388:8388/udp # Gluetun's built-in Shadowsocks server + - 8089:8089/tcp # Qbittorrent web-ui + - 8090:8090/tcp # Qbittorrent2 web-gui + - 8069:8069/tcp # Qbittorrent_priv web-gui + - 3000:3000 # Firefox desktop gui + - 3001:3001 # Firefox desktop gui HTTPS + volumes: + - /home/fejy/docker/gluetun:/gluetun + environment: + # See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup + - VPN_SERVICE_PROVIDER=mullvad + - VPN_TYPE=wireguard + # Wireguard: + - WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIV_KEY} + - WIREGUARD_ADDRESSES=${WIREGUARD_ADDR} + - SERVER_CITIES=Amsterdam + - HTTP_CONTROL_SERVER_ADDRESS=:8000 + - HTTP_CONTROL_SERVER_LOG=ON + restart: unless-stopped + networks: + - proxy + labels: + # Traefik + - "traefik.enable=true" + - "traefik.docker.network=proxy" + # Qbittorrent + - "traefik.http.routers.qbit.rule=Host(`qbit.nearfuture`)" + - "traefik.http.routers.qbit.entrypoints=web" + - "traefik.http.routers.qbit.service=qbit" + - "traefik.http.services.qbit.loadbalancer.server.port=8089" + # Qbittorrent2 + - "traefik.http.routers.qbit2.rule=Host(`qbit2.nearfuture`)" + - "traefik.http.routers.qbit2.entrypoints=web" + - "traefik.http.routers.qbit2.service=qbit2" + - "traefik.http.services.qbit2.loadbalancer.server.port=8090" + # Qbittorrent-priv + - "traefik.http.routers.qbit-priv.rule=Host(`qbit-priv.nearfuture`)" + - "traefik.http.routers.qbit-priv.entrypoints=web" + - "traefik.http.routers.qbit-priv.service=qbit-priv" + - "traefik.http.services.qbit-priv.loadbalancer.server.port=8069" + + qbittorrent: + image: lscr.io/linuxserver/qbittorrent:latest + container_name: qbittorrent + environment: + - PUID=1029 + - PGID=1000 + - TZ=Etc/UTC + - WEBUI_PORT=8089 + volumes: + - /home/fejy/docker/qbittorrent:/config + - /mnt/LUXURIA/Share:/Share + - /mnt/LUXURIA/Private:/Private + - /mnt/downloads:/downloads/ + network_mode: "service:gluetun" + depends_on: + gluetun: + condition: service_healthy + restart: unless-stopped + + qbittorrent2: + image: lscr.io/linuxserver/qbittorrent:latest + container_name: qbittorrent2 + environment: + - PUID=1029 + - PGID=1000 + - TZ=Etc/UTC + - WEBUI_PORT=8090 + volumes: + - /home/fejy/docker/qbittorrent2:/config + - /mnt/LUXURIA/Share:/Share + - /mnt/LUXURIA/Private:/Private + - /mnt/downloads:/downloads/ + network_mode: "service:gluetun" + depends_on: + gluetun: + condition: service_healthy + restart: unless-stopped + + qbittorrent_priv: + image: lscr.io/linuxserver/qbittorrent:latest + container_name: qbittorrent_priv + environment: + - PUID=1029 + - PGID=1000 + - TZ=Etc/UTC + - WEBUI_PORT=8069 + volumes: + - /home/fejy/docker/qbittorrent_priv:/config + - /mnt/LUXURIA/Share:/mnt/LUXURIA/Share + - /mnt/LUXURIA/Private:/mnt/LUXURIA/Private + - /mnt/downloads:/downloads/ + network_mode: "service:gluetun" + depends_on: + gluetun: + condition: service_healthy + restart: unless-stopped + + mam-api: + image: myanonamouse/seedboxapi + container_name: mam-api + user: 1029:1000 + environment: + - DEBUG=1 + #- mam_id= + - interval=1 + volumes: + - /home/fejy/docker/mam-api:/config + network_mode: "service:gluetun" + depends_on: + gluetun: + condition: service_healthy + restart: unless-stopped + +networks: + proxy: + external: true diff --git a/portainer/compose.yml b/portainer/compose.yml new file mode 100644 index 0000000..1067f8c --- /dev/null +++ b/portainer/compose.yml @@ -0,0 +1,25 @@ +services: + portainer: + image: portainer/portainer-ce:latest + container_name: portainer + ports: + - 9000:9000 + volumes: + - portainer_data:/data + - /var/run/docker.sock:/var/run/docker.sock + restart: unless-stopped + networks: + - proxy + labels: + - "traefik.enable=true" + - "traefik.http.routers.portainer.rule=Host(`portainer.nearfuture`)" + - "traefik.http.routers.portainer.entrypoints=web" + - "traefik.http.services.portainer.loadbalancer.server.port=9000" + + +networks: + proxy: + external: true + +volumes: + portainer_data: diff --git a/prowlarr/compose.yml b/prowlarr/compose.yml new file mode 100644 index 0000000..9eabafe --- /dev/null +++ b/prowlarr/compose.yml @@ -0,0 +1,25 @@ +services: + prowlarr: + image: lscr.io/linuxserver/prowlarr:latest + container_name: prowlarr + environment: + - PUID=1029 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - /home/fejy/docker/prowlarr/data:/config + ports: + - 9696:9696 + restart: unless-stopped + networks: + - proxy + labels: + - "traefik.enable=true" + - "traefik.http.routers.prowlarr.rule=Host(`prowlarr.nearfuture`)" + - "traefik.http.routers.prowlarr.entrypoints=web" + + +networks: + proxy: + external: true + diff --git a/radarr/compose.yml b/radarr/compose.yml new file mode 100644 index 0000000..9832873 --- /dev/null +++ b/radarr/compose.yml @@ -0,0 +1,25 @@ +services: + radarr: + image: lscr.io/linuxserver/radarr:latest + container_name: radarr + environment: + - PUID=1029 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - /home/fejy/docker/radarr:/config + - /mnt/LUXURIA/Share:/Share + ports: + - 7878:7878 + restart: unless-stopped + networks: + - proxy + labels: + - "traefik.enable=true" + - "traefik.http.routers.radarr.rule=Host(`radarr.nearfuture`)" + - "traefik.http.routers.radarr.entrypoints=web" + +networks: + proxy: + external: true + diff --git a/sonarr/compose.yml b/sonarr/compose.yml new file mode 100644 index 0000000..62d2166 --- /dev/null +++ b/sonarr/compose.yml @@ -0,0 +1,25 @@ +services: + sonarr: + image: lscr.io/linuxserver/sonarr:latest + container_name: sonarr + environment: + - PUID=1029 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - /home/fejy/docker/sonarr:/config + - /mnt/LUXURIA/Share:/Share + ports: + - 8989:8989 + restart: unless-stopped + networks: + - proxy + labels: + - "traefik.enable=true" + - "traefik.http.routers.sonarr.rule=Host(`sonarr.nearfuture`)" + - "traefik.http.routers.sonarr.entrypoints=web" + +networks: + proxy: + external: true + diff --git a/traefik/compose.yml b/traefik/compose.yml new file mode 100644 index 0000000..cd07aec --- /dev/null +++ b/traefik/compose.yml @@ -0,0 +1,30 @@ +services: + traefik: + image: traefik + container_name: traefik + # command: + #- "--api.insecure=true" + #- "--providers.docker=true" + #- "--providers.docker.exposedbydefault=false" + #- "--entrypoints.web.address=:80" + restart: unless-stopped + ports: + - "80:80" + - "443:443" + - "8080:8080" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /home/fejy/docker/traefik:/etc/traefik + - /home/fejy/docker/traefik-ssl:/ssl + networks: + - proxy + labels: + - "traefik.enable=true" + - "traefik.http.routers.api.service=api@internal" + - "traefik.http.routers.api.rule=Host(`traefik.nearfuture`)" + - "traefik.http.routers.api.entrypoints=web" + - "traefik.http.services.api.loadbalancer.server.port=8080 # The port value doesn't matter" + +networks: + proxy: + name: proxy diff --git a/wastebin/compose.yml b/wastebin/compose.yml new file mode 100644 index 0000000..835e4ec --- /dev/null +++ b/wastebin/compose.yml @@ -0,0 +1,23 @@ +services: + wastebin: + image: 'quxfoo/wastebin:latest' + container_name: wastebin + environment: + - WASTEBIN_DATABASE_PATH=/data/state.db + user: "1029:1000" + ports: + - "9020:8088" + volumes: + - '/home/fejy/docker/wastebin:/data' + labels: + - "traefik.enable=true" + - "traefik.http.routers.bin.rule=Host(`bin.nearfuture`)" + - "traefik.http.routers.bin.entrypoints=web" + + networks: + - proxy + +networks: + proxy: + external: true + diff --git a/whisparr/compose.yml b/whisparr/compose.yml new file mode 100644 index 0000000..98dba7a --- /dev/null +++ b/whisparr/compose.yml @@ -0,0 +1,25 @@ +services: + whisparr: + image: ghcr.io/thespad/whisparr:latest + container_name: whisparr + environment: + - PUID=1029 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - /home/fejy/docker/whisparr:/config + - /mnt/LUXURIA/Private:/Private + ports: + - 6969:6969 + restart: unless-stopped + networks: + - proxy + labels: + - "traefik.enable=true" + - "traefik.http.routers.whisparr.rule=Host(`whisparr.nearfuture`)" + - "traefik.http.routers.whisparr.entrypoints=web" + +networks: + proxy: + external: true +