diff --git a/.docker/containers/homepage/custom.css b/.docker/containers/homepage/custom.css new file mode 100644 index 0000000..e69de29 diff --git a/.docker/containers/homepage/custom.js b/.docker/containers/homepage/custom.js new file mode 100644 index 0000000..e69de29 diff --git a/.docker/containers/homepage/docker.yaml b/.docker/containers/homepage/docker.yaml index 700512c..352c004 100644 --- a/.docker/containers/homepage/docker.yaml +++ b/.docker/containers/homepage/docker.yaml @@ -5,9 +5,21 @@ pihole: host: dockerproxy port: 2375 + qbittorrent-nox: + host: dockerproxy + port: 2375 + jackett: + host: dockerproxy + port: 2375 + flaresolverr: + host: dockerproxy + port: 2375 speedtest: host: dockerproxy port: 2375 + homepage: + host: dockerproxy + port: 2375 unbound: host: dockerproxy port: 2375 @@ -41,21 +53,6 @@ torrentstack-navidrome-1: host: dockerproxy port: 2375 - qbittorrent-nox: - host: "{{HOMEPAGE_VAR_qBittorrent_Nox_url}}" - port: 2375 - flaresolverr: - host: "{{HOMEPAGE_VAR_Flaresolverr_url}}" - port: 2375 - media-jellyfin-1: - host: "{{HOMEPAGE_VAR_Jellyfin_url}}" - port: 2375 - jackett: - host: "{{HOMEPAGE_VAR_Jackett_url}}" - port: 2375 uptime-kuma: - host: "{{HOMEPAGE_VAR_Uptime_Kuma_url}}" - port: 2375 - memos: - host: "{{HOMEPAGE_VAR_Memos_url}}" + host: dockerproxy port: 2375 diff --git a/.docker/containers/homepage/services.yaml b/.docker/containers/homepage/services.yaml index d213f9c..3747030 100644 --- a/.docker/containers/homepage/services.yaml +++ b/.docker/containers/homepage/services.yaml @@ -4,11 +4,10 @@ href: https://jellyfin.peterdominguez.art/ icon: jellyfin.png description: The Free Software Media System - server: media-jellyfin-1 - container: media-jellyfin-1 + ping: https://jellyfin.peterdominguez.art widget: type: jellyfin - url: "{{HOMEPAGE_VAR_Jellyfin_url}}" + url: http://10.0.0.103:8096 key: "{{HOMEPAGE_VAR_jellyfin_key}}" enableBlocks: true enableNowPlaying: true @@ -39,14 +38,14 @@ token: "{{HOMEPAGE_VAR_navidrome_token}}" salt: "{{HOMEPAGE_VAR_navidrome_salt}}" - qBittorrent-nox: - href: "{{HOMEPAGE_VAR_qBittorrent_Nox_url}}" + href: http://10.0.0.121:8080/ icon: qbittorrent.png description: WebGUI for the qBittorrent client server: qbittorrent-nox container: qbittorrent-nox widget: type: qbittorrent - url: "{{HOMEPAGE_VAR_qBittorrent_Nox_url}}" + url: http://10.0.0.121:8080 username: "{{HOMEPAGE_VAR_qBittorrent_Nox_username}}" password: "{{HOMEPAGE_VAR_qBittorrent_Nox_password}}" enableLeechProgress: true @@ -55,25 +54,25 @@ - Networking: - pihole: - href: "{{HOMEPAGE_VAR_Pihole_url_admin}}" + href: https://10.0.0.121:6346/admin icon: pi-hole.png description: DNS sinkhole to block ads server: pihole container: pihole widget: type: pihole - url: "{{HOMEPAGE_VAR_Pihole_url}}" + url: https://10.0.0.121:6346 version: 6 key: "{{HOMEPAGE_VAR_FTLCONF_webserver_api_password}}" - Speed Test Tracker: - href: "{{HOMEPAGE_VAR_Speed_Test_Tracker_url}}" + href: http://10.0.0.121:9080/ icon: speedtest-tracker.png description: Self-hosted Internet speed monitoring server: speedtest-tracker container: speedtest-tracker widget: type: speedtest - url: "{{HOMEPAGE_VAR_Speed_Test_Tracker_url}}" + url: http://10.0.0.121:9080 version: 2 key: "{{HOMEPAGE_VAR_KEY_SPEEDTEST}}" bitratePrecision: 3 @@ -88,7 +87,7 @@ url: https://status.peterdominguez.art slug: homeserver - Flaresolverr: - href: "{{HOMEPAGE_VAR_Flaresolverr_url}}" + href: http://10.0.0.121:8191/ icon: flaresolverr.png description: Proxy server to bypass DDoS protection server: flaresolverr @@ -127,13 +126,16 @@ type: gitea url: https://git.peterdominguez.art key: "{{HOMEPAGE_VAR_forgejo_key}}" - - Memos: - href: https://notes.peterdominguez.art - icon: memos.png - description: Open source, self-hosted notes - server: memos - container: memos - showStats: true + - Jackett: + href: http://10.0.0.121:9117/ + icon: jackett.png + description: Free and open-source maintained indexer + server: jackett + container: jackett + widget: + type: jackett + url: http://10.0.0.121:9117 + password: "{{HOMEPAGE_VAR_jackett_password}}" - SearXNG: href: https://search.peterdominguez.art/ icon: searxng.png @@ -141,16 +143,6 @@ server: searxng container: searxng showStats: true - - Jackett: - href: "{{HOMEPAGE_VAR_Jackett_url}}" - icon: jackett.png - description: Free and open-source maintained indexer - server: jackett - container: jackett - widget: - type: jackett - url: "{{HOMEPAGE_VAR_Jackett_url}}" - password: "{{HOMEPAGE_VAR_jackett_password}}" - Hugo: href: https://peterdominguez.art icon: hugo.png @@ -159,9 +151,16 @@ container: torrentstack-lighttpd-1 showStats: true - meTube: - href: "{{HOMEPAGE_VAR_meTube_url}}" + href: http://10.0.0.121:8081 icon: metube.png description: Self-hosted YouTube downloader server: metube container: metube showStats: true + - Homepage: + href: https://home.peterdominguez.art + icon: homepage.png + description: A modern dashboard for your services + server: homepage + container: homepage + showStats: true diff --git a/.docker/stacks/home-network/docker-compose.yml b/.docker/stacks/home-network/docker-compose.yml index f4e17a3..df1b2dd 100644 --- a/.docker/stacks/home-network/docker-compose.yml +++ b/.docker/stacks/home-network/docker-compose.yml @@ -5,6 +5,66 @@ networks: config: - subnet: 172.20.0.0/16 services: + qbittorrent-nox: + # for debugging + #cap_add: + #- SYS_PTRACE + container_name: qbittorrent-nox + environment: + #- PAGID=10000 + #- PGID=1000 + #- PUID=1000 + - QBT_EULA=accept + - QBT_VERSION=latest + - QBT_WEBUI_PORT=8080 + #- TZ=UTC + #- UMASK=022 + image: qbittorrentofficial/qbittorrent-nox:latest + ports: + # for bittorrent traffic + - 6881:6881/tcp + - 6881:6881/udp + # for WebUI + - 8080:8080/tcp + read_only: true + stop_grace_period: 30m + tmpfs: + - /tmp + tty: true + volumes: + - /home/guts/docker:/config + - /media/PHDD1/torrents:/downloads + - /home/guts/VueTorrent:/VueTorrent + jackett: + image: lscr.io/linuxserver/jackett:latest + container_name: jackett + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + - AUTO_UPDATE=true #optional + - RUN_OPTS= #optional + + volumes: + - /home/guts/docker:/config + - /media/Torrents:/downloads + ports: + - 9117:9117 + + restart: always + + flaresolverr: + # DockerHub mirror flaresolverr/flaresolverr:latest + image: alexfozor/flaresolverr:pr-1300-experimental + container_name: flaresolverr + environment: + - LOG_LEVEL=${LOG_LEVEL:-info} + - LOG_HTML=${LOG_HTML:-false} + - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none} + - TZ=America/Santo_Domingo + ports: + - "${PORT:-8191}:8191" + restart: unless-stopped pihole: container_name: pihole image: pihole/pihole:latest @@ -71,7 +131,7 @@ services: - TASKS=1 # Allow access to viewing tasks (necessary when using Docker Swarm) - POST=0 # Disallow any POST operations (effectively read-only) ports: - - 2375:2375 + - 127.0.0.1:2375:2375 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro # Mounted as read-only restart: unless-stopped @@ -151,6 +211,12 @@ services: - SEARXNG_BASE_URL=http://${SEARXNG_HOSTNAME:-localhost}/ - UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4} - UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4} + cap_drop: + - ALL + cap_add: + - CHOWN + - SETGID + - SETUID logging: driver: "json-file" options: @@ -237,6 +303,15 @@ services: volumes: - /home/guts/docker/navidrome:/data - /media/network/music:/music:ro + uptime-kuma: + image: louislam/uptime-kuma:beta + container_name: uptime-kuma + volumes: + - /home/guts/docker/uptime-kuma:/app/data + - /var/run/docker.sock:/var/run/docker.sock:ro + ports: + - 3001:3001 + restart: always signal-cli-rest-api: image: bbernhard/signal-cli-rest-api:latest environment: @@ -246,29 +321,3 @@ services: - "5280:8080" #map docker port 8080 to host port 8080. volumes: - "/home/guts/docker/signal-cli:/home/.local/share/signal-cli" #map "signal-cli-config" folder on - memos: - image: neosmemo/memos:stable - container_name: memos - volumes: - - /home/guts/docker/memos:/var/opt/memos - ports: - - 5230:5230 - redlib: - image: quay.io/redlib/redlib:latest - restart: always - container_name: "redlib" - ports: - - 9548:8080 - user: nobody - read_only: true - security_opt: - - no-new-privileges:true - environment: - - REDLIB_DEFAULT_SHOW_NSFW=on - - REDLIB_DEFAULT_THEME=dracula - cap_drop: - - ALL - healthcheck: - test: ["CMD", "wget", "--spider", "-q", "--tries=1", "http://127.0.0.1:9548/settings"] - interval: 30s - timeout: 3s diff --git a/.docker/stacks/media/docker-compose.yaml b/.docker/stacks/media/docker-compose.yaml deleted file mode 100644 index 498532b..0000000 --- a/.docker/stacks/media/docker-compose.yaml +++ /dev/null @@ -1,119 +0,0 @@ -services: - jellyfin: - image: jellyfin/jellyfin - user: 112:120 - group_add: # by id as these may not exist within the container. Needed to provide permissions to the VAAPI Devices - - '106' #render - - '44' #video - network_mode: 'host' - restart: 'unless-stopped' - devices: - # VAAPI Devices - - /dev/dri/renderD128:/dev/dri/renderD128 - - /dev/dri/card0:/dev/dri/card0 - environment: - - JELLYFIN_CACHE_DIR=/var/cache/jellyfin - - JELLYFIN_CONFIG_DIR=/etc/jellyfin - - JELLYFIN_DATA_DIR=/var/lib/jellyfin - - JELLYFIN_LOG_DIR=/var/log/jellyfin - - TZ=America/Santo_Domingo - volumes: - - /etc/jellyfin:/etc/jellyfin - - /var/cache/jellyfin:/var/cache/jellyfin - - /var/lib/jellyfin:/var/lib/jellyfin - - /var/log/jellyfin:/var/log/jellyfin - - /media/HDD1/Anime:/media/HDD1/Anime - - /media/HDD1/Animovies:/media/HDD1/Animovies - - /media/HDD1/Movies:/media/HDD1/Movies - - /media/HDD1/Movies-Kids:/media/HDD1/Movies-Kids - - /media/HDD1/TV:/media/HDD1/TV - - /media/HDD1/TV-Kids:/media/HDD1/TV-Kids - - /media/HDD1/Torrents:/media/HDD1/Torrents - - /media/HDD2/Anime:/media/HDD2/Anime - - /media/HDD2/Animovies:/media/HDD2/Animovies - - /media/HDD2/Movies:/media/HDD2/Movies - - /media/HDD2/Movies-Kids:/media/HDD2/Movies-Kids - - /media/HDD2/TV:/media/HDD2/TV - - /media/HDD2/TV-Kids:/media/HDD2/TV-Kids - - /media/HDD2/Torrents:/media/HDD2/Torrents - - /media/HDD3/Anime:/media/HDD3/Anime - - /media/HDD3/Animovies:/media/HDD3/Animovies - - /media/HDD3/Movies:/media/HDD3/Movies - - /media/HDD3/Movies-Kids:/media/HDD3/Movies-Kids - - /media/HDD3/TV:/media/HDD3/TV - - /media/HDD3/TV-Kids:/media/HDD3/TV-Kids - - /media/HDD3/Torrents:/media/HDD3/Torrents - - /media/HDD1/prerolls:/media/HDD1/prerolls - qbittorrent-nox: - # for debugging - #cap_add: - #- SYS_PTRACE - container_name: qbittorrent-nox - environment: - #- PAGID=10000 - #- PGID=1000 - #- PUID=1000 - - QBT_EULA=accept - - QBT_VERSION=latest - - QBT_WEBUI_PORT=8080 - #- TZ=UTC - #- UMASK=022 - image: qbittorrentofficial/qbittorrent-nox:latest - ports: - # for bittorrent traffic - - 6881:6881/tcp - - 6881:6881/udp - # for WebUI - - 8080:8080/tcp - read_only: true - stop_grace_period: 30m - tmpfs: - - /tmp - tty: true - volumes: - - /home/peter/docker:/config - - /media/HDD3/torrents:/downloads - - /home/peter/VueTorrent:/VueTorrent - jackett: - image: lscr.io/linuxserver/jackett:latest - container_name: jackett - environment: - - PUID=1000 - - PGID=1000 - - TZ=Etc/UTC - - AUTO_UPDATE=true #optional - - RUN_OPTS= #optional - - volumes: - - /home/peter/docker:/config - - /media/Torrents:/downloads - ports: - - 9117:9117 - - restart: always - - flaresolverr: - # DockerHub mirror flaresolverr/flaresolverr:latest - image: alexfozor/flaresolverr:pr-1300-experimental - container_name: flaresolverr - environment: - - LOG_LEVEL=${LOG_LEVEL:-info} - - LOG_HTML=${LOG_HTML:-false} - - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none} - - TZ=America/Santo_Domingo - ports: - - "${PORT:-8191}:8191" - restart: unless-stopped - dockerproxy: - image: ghcr.io/tecnativa/docker-socket-proxy:latest - container_name: dockerproxy - environment: - - CONTAINERS=1 # Allow access to viewing containers - - SERVICES=1 # Allow access to viewing services (necessary when using Docker Swarm) - - TASKS=1 # Allow access to viewing tasks (necessary when using Docker Swarm) - - POST=0 # Disallow any POST operations (effectively read-only) - ports: - - 2375:2375 - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro # Mounted as read-only - restart: unless-stopped diff --git a/.docker/stacks/status/docker-compose.yaml b/.docker/stacks/status/docker-compose.yaml deleted file mode 100644 index 7a61117..0000000 --- a/.docker/stacks/status/docker-compose.yaml +++ /dev/null @@ -1,22 +0,0 @@ -services: - uptime-kuma: - image: louislam/uptime-kuma:beta - container_name: uptime-kuma - volumes: - - /home/nagatoro/docker/uptime-kuma:/app/data - ports: - - 3001:3001 - restart: always - dockerproxy: - image: ghcr.io/tecnativa/docker-socket-proxy:latest - container_name: dockerproxy - environment: - - CONTAINERS=1 # Allow access to viewing containers - - SERVICES=1 # Allow access to viewing services (necessary when using Docker Swarm) - - TASKS=1 # Allow access to viewing tasks (necessary when using Docker Swarm) - - POST=0 # Disallow any POST operations (effectively read-only) - ports: - - 2375:2375 - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro # Mounted as read-only - restart: unless-stopped