diff --git a/docker/containers/homepage/bookmarks.yaml b/docker/containers/homepage/bookmarks.yaml new file mode 100644 index 0000000..caf6931 --- /dev/null +++ b/docker/containers/homepage/bookmarks.yaml @@ -0,0 +1,104 @@ +--- +# For configuration options and examples, please see: +# https://gethomepage.dev/configs/bookmarks + +- General: + - Blog: + - abbr: PD + icon: /images/hugo.png + href: https://peterdominguez.art/ + - Arch Forums: + - abbr: AF + icon: /images/arch.png + href: https://bbs.archlinux.org + - Jellyfin Forums: + - abbr: JF + icon: jellyfin.png + href: https://forum.jellyfin.org/ + - HeVK's Torrents: + - abbr: HE + icon: /images/1337x.png + href: https://1337x.st/user/HeVK/ + - Local Syncthing: + - abbr: LS + icon: syncthing.png + href: https://127.0.0.1:8384 + - Server Syncthing: + - abbr: SS + icon: syncthing.png + href: https://10.0.0.121:8384 +- Services: + - Gitlab: + - abbr: GL + icon: gitlab.png + href: https://gitlab.com + - Github: + - abbr: GH + icon: /images/github.png + href: https://github.com + - Linode: + - abbr: LD + href: https://login.linode.com/login + icon: linode.png + - Filen: + - abbr: FN + href: https://app.filen.io/#/login + icon: /images/filen.png + - Amazon: + - abbr: AZ + href: https://amazon.com + icon: /images/amazon.png + - Namecheap: + - abbr: NC + href: https://namecheap.com/myaccount/login + icon: namecheap.png +- Entertainment: + - YouTube: + - abbr: YT + icon: youtube.png + href: https://youtube.com + - Odysee: + - abbr: OD + icon: /images/odysee.png + href: https://odysee.com/ + - Roku: + - abbr: RK + icon: /images/roku.png + href: https://my.roku.com/signin + - MangaDex: + - abbr: MD + icon: /images/mangadex.png + href: https://mangadex.org/ + - GOG: + - abbr: GO + icon: /images/gog.png + href: https://gog.com + - Steam: + - abbr: SM + icon: steam.png + href: https://store.steampowered.com +- Documentation: + - Vim Cheat Sheet: + - abbr: VS + icon: /images/vim.png + href: https://vim.rtorr.com + - Chmod Calculator: + - abbr: CC + icon: /images/chmod.png + href: https://chmod-calculator.com + - Arch Wiki: + - abbr: AW + icon: /images/arch.png + href: https://wiki.archlinux.org + - Docker Compose Wiki: + - abbr: DW + icon: docker.png + href: https://docs.docker.com/compose + - Hyprland Wiki: + - abbr: HW + icon: /images/hyprland.png + href: https://wiki.hyprland.org + - Kitty Docs: + - abbr: KD + icon: /images/kitty.png + href: https://sw.kovidgoyal.net/kitty diff --git a/docker/containers/homepage/docker.yaml b/docker/containers/homepage/docker.yaml new file mode 100644 index 0000000..6818008 --- /dev/null +++ b/docker/containers/homepage/docker.yaml @@ -0,0 +1,40 @@ +--- +# For configuration options and examples, please see: +# https://gethomepage.dev/configs/docker/ + + pihole: + host: 10.0.0.121 + port: 6346:443 + socket: /var/run/docker.sock + qbittorrent-nox: + host: 10.0.0.121 + port: 8080 + socket: /var/run/docker.sock + jackett: + host: 10.0.0.121 + port: 9117 + socket: /var/run/docker.sock + flaresolverr: + host: 10.0.0.121 + port: 8191 + socket: /var/run/docker.sock + speedtest: + host: 10.0.0.121 + port: 7639 + socket: /var/run/docker.sock + homepage: + host: 10.0.0.121 + port: 3000 + socket: /var/run/docker.sock + unbound: + host: 10.0.0.121 + port: 5335 + socket: /var/run/docker.sock + metube: + host: 10.0.0.121 + port: 8081 + socket: /var/run/docker.sock + speedtest-tracker: + host: 10.0.0.121 + port: 9080 + socket: /var/run/docker.sock diff --git a/docker/containers/homepage/images/1337x.png b/docker/containers/homepage/images/1337x.png new file mode 100644 index 0000000..ba5acd7 Binary files /dev/null and b/docker/containers/homepage/images/1337x.png differ diff --git a/docker/containers/homepage/images/amazon.png b/docker/containers/homepage/images/amazon.png new file mode 100644 index 0000000..ab8b84d Binary files /dev/null and b/docker/containers/homepage/images/amazon.png differ diff --git a/docker/containers/homepage/images/arch.png b/docker/containers/homepage/images/arch.png new file mode 100644 index 0000000..b354eb3 Binary files /dev/null and b/docker/containers/homepage/images/arch.png differ diff --git a/docker/containers/homepage/images/castlevania3.png b/docker/containers/homepage/images/castlevania3.png new file mode 100644 index 0000000..07984a9 Binary files /dev/null and b/docker/containers/homepage/images/castlevania3.png differ diff --git a/docker/containers/homepage/images/chmod.png b/docker/containers/homepage/images/chmod.png new file mode 100644 index 0000000..ff9ab8e Binary files /dev/null and b/docker/containers/homepage/images/chmod.png differ diff --git a/docker/containers/homepage/images/classicpress.png b/docker/containers/homepage/images/classicpress.png new file mode 100644 index 0000000..20cdc15 Binary files /dev/null and b/docker/containers/homepage/images/classicpress.png differ diff --git a/docker/containers/homepage/images/debian.png b/docker/containers/homepage/images/debian.png new file mode 100644 index 0000000..a4b007b Binary files /dev/null and b/docker/containers/homepage/images/debian.png differ diff --git a/docker/containers/homepage/images/filen.png b/docker/containers/homepage/images/filen.png new file mode 100644 index 0000000..5ba3062 Binary files /dev/null and b/docker/containers/homepage/images/filen.png differ diff --git a/docker/containers/homepage/images/github.png b/docker/containers/homepage/images/github.png new file mode 100644 index 0000000..0321a22 Binary files /dev/null and b/docker/containers/homepage/images/github.png differ diff --git a/docker/containers/homepage/images/gitlab.png b/docker/containers/homepage/images/gitlab.png new file mode 100644 index 0000000..1219567 Binary files /dev/null and b/docker/containers/homepage/images/gitlab.png differ diff --git a/docker/containers/homepage/images/gog.png b/docker/containers/homepage/images/gog.png new file mode 100644 index 0000000..9bba47e Binary files /dev/null and b/docker/containers/homepage/images/gog.png differ diff --git a/docker/containers/homepage/images/hugo.png b/docker/containers/homepage/images/hugo.png new file mode 100644 index 0000000..4c9b468 Binary files /dev/null and b/docker/containers/homepage/images/hugo.png differ diff --git a/docker/containers/homepage/images/hyprland.png b/docker/containers/homepage/images/hyprland.png new file mode 100644 index 0000000..14ea6a4 Binary files /dev/null and b/docker/containers/homepage/images/hyprland.png differ diff --git a/docker/containers/homepage/images/kitty.png b/docker/containers/homepage/images/kitty.png new file mode 100644 index 0000000..f7e5ed0 Binary files /dev/null and b/docker/containers/homepage/images/kitty.png differ diff --git a/docker/containers/homepage/images/mangadex.png b/docker/containers/homepage/images/mangadex.png new file mode 100644 index 0000000..35dd3c9 Binary files /dev/null and b/docker/containers/homepage/images/mangadex.png differ diff --git a/docker/containers/homepage/images/moon.png b/docker/containers/homepage/images/moon.png new file mode 100644 index 0000000..e588f90 Binary files /dev/null and b/docker/containers/homepage/images/moon.png differ diff --git a/docker/containers/homepage/images/odysee.png b/docker/containers/homepage/images/odysee.png new file mode 100644 index 0000000..4cacfd1 Binary files /dev/null and b/docker/containers/homepage/images/odysee.png differ diff --git a/docker/containers/homepage/images/roku.png b/docker/containers/homepage/images/roku.png new file mode 100644 index 0000000..3ebcbbd Binary files /dev/null and b/docker/containers/homepage/images/roku.png differ diff --git a/docker/containers/homepage/images/saturn.png b/docker/containers/homepage/images/saturn.png new file mode 100644 index 0000000..862a9ab Binary files /dev/null and b/docker/containers/homepage/images/saturn.png differ diff --git a/docker/containers/homepage/images/tuta.png b/docker/containers/homepage/images/tuta.png new file mode 100644 index 0000000..04f00ee Binary files /dev/null and b/docker/containers/homepage/images/tuta.png differ diff --git a/docker/containers/homepage/images/vim.png b/docker/containers/homepage/images/vim.png new file mode 100644 index 0000000..b450bca Binary files /dev/null and b/docker/containers/homepage/images/vim.png differ diff --git a/docker/containers/homepage/kubernetes.yaml b/docker/containers/homepage/kubernetes.yaml new file mode 100644 index 0000000..aca6e82 --- /dev/null +++ b/docker/containers/homepage/kubernetes.yaml @@ -0,0 +1,2 @@ +--- +# sample kubernetes config diff --git a/docker/containers/homepage/services.yaml b/docker/containers/homepage/services.yaml new file mode 100644 index 0000000..42e30b1 --- /dev/null +++ b/docker/containers/homepage/services.yaml @@ -0,0 +1,135 @@ +--- +- Local Containers: + - pihole: + 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: https://10.0.0.121:6346 + version: 6 + key: "{{HOMEPAGE_VAR_FTLCONF_webserver_api_password}}" + - qBittorrent-nox: + 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: http://10.0.0.121:8080 + username: "{{HOMEPAGE_VAR_qBittorrent_Nox_username}}" + password: "{{HOMEPAGE_VAR_qBittorrent_Nox_password}}" + enableLeechProgress: 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}}" + - Speed Test Tracker: + 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: http://10.0.0.121:9080 + version: 2 + key: "{{HOMEPAGE_VAR_KEY_SPEEDTEST}}" + bitratePrecision: 3 + - meTube: + href: http://10.0.0.121:8081 + icon: metube.png + description: Self-hosted YouTube downloader + server: metube + container: metube + - Homepage: + href: http://10.0.0.121:3000 + icon: homepage.png + description: A modern dashboard for your services + server: homepage + container: homepage + - Flaresolverr: + href: http://10.0.0.121:8191/ + icon: flaresolverr.png + description: Proxy server to bypass DDoS protection + server: flaresolverr + container: flaresolverr + - Unbound: + href: http://10.0.0.121:5335 + icon: unbound.png + description: Validating, recursive, and caching DNS resolver + server: unbound + container: unbound + +- VPS Hosted Services: + - Jellyfin: + href: http://10.0.0.103:8096/ + icon: jellyfin.png + description: The Free Software Media System + ping: https://jellyfin.peterdominguez.art + widget: + type: jellyfin + url: http://10.0.0.103:8096 + key: "{{HOMEPAGE_VAR_jellyfin_key}}" + enableBlocks: true + enableNowPlaying: true + enableUser: true + showEpisodeNumber: true + expandOneStreamToTwoRows: false + - Nextcloud: + href: https://cloud.peterdominguez.art/ + icon: nextcloud.png + description: A safe home for all your data + ping: https://cloud.peterdominguez.art + widget: + type: nextcloud + url: https://cloud.peterdominguez.art + username: "{{HOMEPAGE_VAR_nextcloud_username}}" + password: "{{HOMEPAGE_VAR_nextcloud_password}}" + - Kavita: + href: https://read.peterdominguez.art/ + icon: kavita.png + description: Self-hosted digital library for books, comics and manga. + ping: https://read.peterdominguez.art + widget: + type: kavita + url: https://read.peterdominguez.art + key: "{{HOMEPAGE_VAR_kavita_key}}" + - FreshRSS: + href: https://rss.peterdominguez.art/ + icon: freshrss.png + description: A free, self-hostable feed aggregator + ping: https://rss.peterdominguez.art + widget: + type: freshrss + url: https://rss.peterdominguez.art + username: "{{HOMEPAGE_VAR_freshrss_username}}" + password: "{{HOMEPAGE_VAR_freshrss_password}}" + - Forgejo: + href: https://git.peterdominguez.art/ + icon: forgejo.png + description: A self-hosted lightweight free software forge + ping: https://git.peterdominguez.art + widget: + type: gitea + url: https://git.peterdominguez.art + key: "{{HOMEPAGE_VAR_forgejo_key}}" + - Hugo: + href: https://peterdominguez.art + icon: hugo.png + description: Open-source static site generator + ping: https://peterdominguez.art + - SearXNG: + href: https://search.peterdominguez.art/ + icon: searxng.png + description: Privacy-respecting, hackable metasearch engine + ping: https://search.peterdominguez.art diff --git a/docker/containers/homepage/settings.yaml b/docker/containers/homepage/settings.yaml new file mode 100644 index 0000000..875a1cc --- /dev/null +++ b/docker/containers/homepage/settings.yaml @@ -0,0 +1,23 @@ +--- +# For configuration options and examples, please see: +# https://gethomepage.dev/configs/settings/ +title: Courtyard +color: neutral +theme: dark +headerStyle: boxed +useEqualHeights: true +target: _self +background: + image: /images/castlevania3.png + blur: sm # sm, "", md, xl... see https://tailwindcss.com/docs/backdrop-blur + saturate: 50 # 0, 50, 100... see https://tailwindcss.com/docs/backdrop-saturate + brightness: 50 # 0, 50, 75... see https://tailwindcss.com/docs/backdrop-brightness + opacity: 60 # 0-100 +favicon: /images/moon.png +layout: + Local Containers: + style: row + columns: 4 + VPS Hosted Services: + style: row + columns: 4 diff --git a/docker/containers/homepage/widgets.yaml b/docker/containers/homepage/widgets.yaml new file mode 100644 index 0000000..42ce491 --- /dev/null +++ b/docker/containers/homepage/widgets.yaml @@ -0,0 +1,28 @@ +--- +# For configuration options and examples, please see: +# https://gethomepage.dev/configs/info-widgets/ + +- search: + provider: custom + url: https://search.peterdominguez.art/searxng/search?q= + target: _self +- resources: + cpu: true + cputemp: true + tempmin: 20 + tempmax: 100 + memory: true + disk: / + uptime: true +- datetime: + text_size: md + format: + timeStyle: short + hour12: true +- openmeteo: + label: Santo Domingo + latitude: 18.4719 + longitude: -69.8923 + timezone: America/Santo_Domingo + units: metric + cache: 5 diff --git a/docker/stacks/home-network/docker-compose.yml b/docker/stacks/home-network/docker-compose.yml new file mode 100644 index 0000000..1a5a6bc --- /dev/null +++ b/docker/stacks/home-network/docker-compose.yml @@ -0,0 +1,157 @@ +networks: + dns_net: + driver: bridge + ipam: + 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/network/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 + networks: + dns_net: + ipv4_address: 172.20.0.6 + ports: + # DNS Ports + - "53:53/tcp" + - "53:53/udp" + # Default HTTP Port + - "6345:80/tcp" + # Default HTTPs Port. FTL will generate a self-signed certificate + - "6346:443/tcp" + # Uncomment the below if using Pi-hole as your DHCP Server + #- "67:67/udp" + environment: + # Set the appropriate timezone for your location (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g: + TZ: 'America/Santo_Domingo' + # Set a password to access the web interface. Not setting one will result in a random password being assigned + FTLCONF_webserver_api_password: ${FTLCONF_webserver_api_password} + PIHOLE_DNS_: '172.20.0.7#5335' + CUSTOM_CACHE_SIZE: 0 + # Volumes store your data between container upgrades + volumes: + # For persisting Pi-hole's databases and common configuration file + - '/home/guts/docker/pihole:/etc/pihole' + + # Uncomment the below if you have custom dnsmasq config files that you want to persist. Not needed for most starting fresh with Pi-hole v6. If you're upgrading from v5 you and have used this directory before, you should keep it enabled for the first v6 container start to allow for a complete migration. It can be removed afterwards + - '/home/guts/docker/dnsmasq.d:/etc/dnsmasq.d' + cap_add: + # See https://github.com/pi-hole/docker-pi-hole#note-on-capabilities + # Required if you are using Pi-hole as your DHCP server, else not needed + - NET_ADMIN + restart: always + unbound: + container_name: unbound + image: madnuttah/unbound:latest + hostname: unbound + networks: + dns_net: + ipv4_address: 172.20.0.7 + environment: + - TZ=America/Santo_Domingo + - ServerIP=172.20.0.7 + - UNBOUND_UID=1000 #Example only, check your docker user info + - UNBOUND_GID=1000 + volumes: + - /home/guts/docker/unbound/conf.d:/usr/local/unbound/conf.d/:rw + - /home/guts/docker/unbound/unbound.conf:/usr/local/unbound/unbound.conf:rw + - /home/guts/docker/unbound/log.d/unbound.log:/usr/local/unbound/log.d/unbound.log:rw + - /home/guts/docker/unbound/zones.d:/usr/local/unbound/zones.d/:rw + - /home/guts/docker/unbound/iana.d:/usr/local/unbound/iana.d/:rw + ports: + - "5335:5335/tcp" + - "5335:5335/udp" + restart: unless-stopped + homepage: + image: ghcr.io/gethomepage/homepage:latest + container_name: homepage + ports: + - 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 + metube: + image: ghcr.io/alexta69/metube + container_name: metube + restart: unless-stopped + ports: + - "8081:8081" + volumes: + - /media/network/YouTube:/downloads + speedtest-tracker: + image: lscr.io/linuxserver/speedtest-tracker:latest + restart: unless-stopped + container_name: speedtest-tracker + ports: + - 9080:80 + - 9443:443 + environment: + - PUID=1000 + - PGID=1000 + - APP_KEY=${APP_KEY_SPEEDTEST} + - DB_CONNECTION=sqlite + - SPEEDTEST_SCHEDULE=6 */2 * * * + - SPEEDTEST_SERVERS=26513 + volumes: + - /home/guts/docker/speedtest-tracker:/config