From d6e1648c1a656fd076799e6fe4edf5ff1464ffd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Dom=C3=ADnguez?= Date: Sat, 26 Apr 2025 22:58:14 -0400 Subject: [PATCH] update compose file and homepage configs --- .docker/containers/homepage/docker.yaml | 63 +++++---- .docker/containers/homepage/services.yaml | 15 +- .docker/containers/homepage/settings.yaml | 1 + .../stacks/home-network/docker-compose.yml | 133 +++++++++++++++++- .newsboat/config | 2 +- 5 files changed, 180 insertions(+), 34 deletions(-) diff --git a/.docker/containers/homepage/docker.yaml b/.docker/containers/homepage/docker.yaml index 6818008..6a26f66 100644 --- a/.docker/containers/homepage/docker.yaml +++ b/.docker/containers/homepage/docker.yaml @@ -3,38 +3,47 @@ # https://gethomepage.dev/configs/docker/ pihole: - host: 10.0.0.121 - port: 6346:443 - socket: /var/run/docker.sock + host: dockerproxy + port: 2375 qbittorrent-nox: - host: 10.0.0.121 - port: 8080 - socket: /var/run/docker.sock + host: dockerproxy + port: 2375 jackett: - host: 10.0.0.121 - port: 9117 - socket: /var/run/docker.sock + host: dockerproxy + port: 2375 flaresolverr: - host: 10.0.0.121 - port: 8191 - socket: /var/run/docker.sock + host: dockerproxy + port: 2375 speedtest: - host: 10.0.0.121 - port: 7639 - socket: /var/run/docker.sock + host: dockerproxy + port: 2375 homepage: - host: 10.0.0.121 - port: 3000 - socket: /var/run/docker.sock + host: dockerproxy + port: 2375 unbound: - host: 10.0.0.121 - port: 5335 - socket: /var/run/docker.sock + host: dockerproxy + port: 2375 metube: - host: 10.0.0.121 - port: 8081 - socket: /var/run/docker.sock + host: dockerproxy + port: 2375 speedtest-tracker: - host: 10.0.0.121 - port: 9080 - socket: /var/run/docker.sock + host: dockerproxy + port: 2375 + kavita: + host: dockerproxy + port: 2375 + searxng: + host: dockerproxy + port: 2375 + forgejo: + host: dockerproxy + port: 2375 + freshrss: + host: dockerproxy + port: 2375 + torrentstack-app-1: + host: dockerproxy + port: 2375 + torrentstack-db-1: + host: dockerproxy + port: 2375 diff --git a/.docker/containers/homepage/services.yaml b/.docker/containers/homepage/services.yaml index 7cbe493..cb15b08 100644 --- a/.docker/containers/homepage/services.yaml +++ b/.docker/containers/homepage/services.yaml @@ -1,7 +1,7 @@ --- - Media: - Jellyfin: - href: http://10.0.0.103:8096/ + href: https://jellyfin.peterdominguez.art/ icon: jellyfin.png description: The Free Software Media System ping: https://jellyfin.peterdominguez.art @@ -18,6 +18,8 @@ href: https://read.peterdominguez.art/ icon: kavita.png description: Self-hosted digital library for many book formats + server: kavita + container: kavita ping: https://read.peterdominguez.art widget: type: kavita @@ -88,6 +90,8 @@ href: https://cloud.peterdominguez.art/ icon: nextcloud.png description: A safe home for all your data + server: torrentstack-app-1 + container: torrentstack-app-1 ping: https://cloud.peterdominguez.art widget: type: nextcloud @@ -98,6 +102,8 @@ href: https://rss.peterdominguez.art/ icon: freshrss.png description: A free, self-hostable feed aggregator + server: freshrss + container: freshrss ping: https://rss.peterdominguez.art widget: type: freshrss @@ -108,6 +114,8 @@ href: https://git.peterdominguez.art/ icon: forgejo.png description: A self-hosted lightweight free software forge + server: forgejo + container: forgejo ping: https://git.peterdominguez.art widget: type: gitea @@ -122,6 +130,8 @@ href: https://search.peterdominguez.art/ icon: searxng.png description: Privacy-respecting, hackable metasearch engine + server: searxng + container: searxng ping: https://search.peterdominguez.art - Hugo: href: https://peterdominguez.art @@ -135,8 +145,9 @@ server: metube container: metube - Homepage: - href: http://10.0.0.121:3000 + href: https://home.peterdominguez.art icon: homepage.png description: A modern dashboard for your services server: homepage container: homepage + ping: https://home.peterdominguez.art diff --git a/.docker/containers/homepage/settings.yaml b/.docker/containers/homepage/settings.yaml index 472c425..faab430 100644 --- a/.docker/containers/homepage/settings.yaml +++ b/.docker/containers/homepage/settings.yaml @@ -2,6 +2,7 @@ # For configuration options and examples, please see: # https://gethomepage.dev/configs/settings/ title: Courtyard +description: DIE MONSTER, YOU DON'T BELONG IN THIS WORLD! color: neutral theme: dark headerStyle: boxed diff --git a/.docker/stacks/home-network/docker-compose.yml b/.docker/stacks/home-network/docker-compose.yml index 1a5a6bc..00b5146 100644 --- a/.docker/stacks/home-network/docker-compose.yml +++ b/.docker/stacks/home-network/docker-compose.yml @@ -44,11 +44,13 @@ services: - TZ=Etc/UTC - AUTO_UPDATE=true #optional - RUN_OPTS= #optional + volumes: - /home/guts/docker:/config - /media/Torrents:/downloads ports: - 9117:9117 + restart: always flaresolverr: @@ -120,6 +122,19 @@ services: - "5335:5335/tcp" - "5335:5335/udp" 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: + - 127.0.0.1:2375:2375 + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro # Mounted as read-only + restart: unless-stopped homepage: image: ghcr.io/gethomepage/homepage:latest container_name: homepage @@ -127,10 +142,8 @@ services: - 3000:3000 volumes: - /home/guts/docker/homepage:/app/config # Make sure your local config directory exists - - /home/guts/Pictures/homepage:/app/public/images - - /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations - environment: - HOMEPAGE_ALLOWED_HOSTS: 10.0.0.121:3000 + - /home/guts/docker/homepage/images:/app/public/images + env_file: ".env" metube: image: ghcr.io/alexta69/metube container_name: metube @@ -155,3 +168,115 @@ services: - SPEEDTEST_SERVERS=26513 volumes: - /home/guts/docker/speedtest-tracker:/config + kavita: + image: lscr.io/linuxserver/kavita:latest + container_name: kavita + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - /home/guts/docker/kavita:/config + - /media/network/kavita:/data + ports: + - 5000:5000 + restart: unless-stopped + redis: + container_name: redis + image: docker.io/valkey/valkey:8-alpine + command: valkey-server --save 30 1 --loglevel warning + restart: unless-stopped + volumes: + - /home/guts/docker/valkey:/data + cap_drop: + - ALL + cap_add: + - SETGID + - SETUID + - DAC_OVERRIDE + logging: + driver: "json-file" + options: + max-size: "1m" + max-file: "1" + searxng: + container_name: searxng + image: docker.io/searxng/searxng:latest + restart: unless-stopped + ports: + - "8686:8080" + volumes: + - /home/guts/docker/searxng:/etc/searxng:rw + environment: + - 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: + max-size: "1m" + max-file: "1" + forgejo: + image: codeberg.org/forgejo/forgejo:11 + container_name: forgejo + environment: + - USER_UID=1000 + - USER_GID=1000 + restart: always + volumes: + - /home/guts/docker/forgejo/data:/data + - /home/guts/docker/forgejo/timezone:/etc/timezone:ro + - /home/guts/docker/forgejo/localtime:/etc/localtime:ro + ports: + - '3005:3000' + - '222:22' + freshrss: + image: freshrss/freshrss:latest + container_name: freshrss + hostname: freshrss + restart: unless-stopped + logging: + options: + max-size: 10m + volumes: + - /var/www/freshrss/data:/var/www/FreshRSS/data + - /var/www/freshrss/extensions:/var/www/FreshRSS/extensions + ports: + - "8787:80" + environment: + TZ: America/Santo_Domingo + db: + image: mariadb:10.11 + restart: always + command: --transaction-isolation=READ-COMMITTED + volumes: + - /var/lib/mysql/mariadb:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + redis-nc: + image: redis:alpine + restart: always + app: + image: nextcloud + restart: always + ports: + - 8985:80 + depends_on: + - redis-nc + - db + volumes: + - /var/www/nextcloud:/var/www/html + environment: + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=nextcloud + - MYSQL_HOST=db diff --git a/.newsboat/config b/.newsboat/config index bbe1a69..cead85f 100644 --- a/.newsboat/config +++ b/.newsboat/config @@ -13,7 +13,7 @@ articlelist-format "  %D %6L %?T?|%-17T| ?%t" urls-source "freshrss" freshrss-url "https://rss.peterdominguez.art/api/greader.php" freshrss-login "buggerman" -freshrss-passwordeval "gpg --decrypt ~/.newsboat/freshrss-pass.gpg" +freshrss-passwordfile "/home/peter/.secrets/newsboat" freshrss-flag-star "s" macro y set browser "mpv %u" ; open-in-browser ; set browser "firefox %u" # jk - move up/down