commit 8ca9805d6fec809ac6378a14a18ced34c8fc761b Author: ray Date: Sun Jul 12 10:02:52 2026 -0400 initial commit: Docker compose configs for gitea, gluetun-qbittorrent, homeassistant, searxng diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..188bdd4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,40 @@ +# Exclude entire runtime-data directories (no compose files here) +chrome-vnc/ +mealie-data/ +vaultwarden/ + +# gitea runtime data +gitea/data/ + +# gluetun + qbittorrent runtime data +gluetun-qbittorrent/gluetun/ +gluetun-qbittorrent/qbittorrent/ + +# searxng runtime data +searxng/searxng/ + +# homeassistant runtime data +homeassistant/.storage/ +homeassistant/.cache/ +homeassistant/.cloud/ +homeassistant/blueprints/ +homeassistant/deps/ +homeassistant/*.db +homeassistant/*.db-shm +homeassistant/*.db-wal +homeassistant/*.log* +homeassistant/.ha_run.lock +homeassistant/.HA_VERSION + +# Secrets and sensitive files +*.pem +.secret +.session_secret +.kasmpasswd + +# macOS +.DS_Store + +# IDE +.idea/ +.vscode/ diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml new file mode 100644 index 0000000..adfb7f9 --- /dev/null +++ b/gitea/docker-compose.yml @@ -0,0 +1,28 @@ +services: + gitea: + image: gitea/gitea:latest + container_name: gitea + restart: unless-stopped + volumes: + - ./data:/data + - ./config:/etc/gitea + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "127.0.0.1:3000:3000" + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__database__DB_TYPE=sqlite3 + - GITEA__server__DOMAIN=gitea.graj-media.com + - GITEA__server__SSH_DOMAIN=gitea.graj-media.com + - GITEA__server__HTTP_PORT=3000 + - GITEA__server__ROOT_URL=https://gitea.graj-media.com + - GITEA__server__DISABLE_SSH=true + - GITEA__server__LFS_START_SERVER=true + networks: + - gitea-net + +networks: + gitea-net: + driver: bridge diff --git a/gluetun-qbittorrent/docker-compose.yml b/gluetun-qbittorrent/docker-compose.yml new file mode 100644 index 0000000..bb26752 --- /dev/null +++ b/gluetun-qbittorrent/docker-compose.yml @@ -0,0 +1,63 @@ +services: + gluetun: + image: qmcgaw/gluetun:latest + container_name: gluetun + cap_add: + - NET_ADMIN + devices: + - /dev/net/tun:/dev/net/tun + ports: + - 127.0.0.1:11893:8080 + - 127.0.0.1:6881:6881 + - 127.0.0.1:6881:6881/udp + - 5010:5010 # Mousehole WebUI + volumes: + - ./gluetun:/gluetun + environment: + VPN_SERVICE_PROVIDER: "private internet access" + VPN_TYPE: "openvpn" + OPENVPN_PROTOCOL: "tcp" + OPENVPN_ENDPOINT_PORT: "443" + OPENVPN_USER: "p5927652" + OPENVPN_PASSWORD: D8d4VokhVH5b9B + UPDATER_PERIOD: "0" + SERVER_HOSTNAMES: "nl-amsterdam.privacy.network" + VPN_PORT_FORWARDING: "on" + PORT_FORWARD_ONLY: "true" + FIREWALL_VPN_INPUT_PORTS: "8080,5010" + restart: unless-stopped + + qbittorrent: + image: lscr.io/linuxserver/qbittorrent:latest + container_name: qbittorrent + network_mode: "service:gluetun" + depends_on: + gluetun: + condition: service_healthy + volumes: + - ./qbittorrent:/config + - /mnt/seagate8tb/downloads:/downloads + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Chicago + - WEBUI_PORT=8080 + restart: unless-stopped + + mousehole: + image: tmmrtn/mousehole:latest + container_name: mousehole + network_mode: "service:gluetun" + depends_on: + gluetun: + condition: service_healthy + environment: + TZ: America/Chicago + MOUSEHOLE_AUTH_PASSWORD: KUaxKeeIIjF7xq + MOUSEHOLE_ALLOWED_HOSTS: localhost,127.0.0.1,[::1],192.168.50.98 + volumes: + - mousehole:/var/lib/mousehole + restart: unless-stopped + +volumes: + mousehole: diff --git a/homeassistant/automations.yaml b/homeassistant/automations.yaml new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/homeassistant/automations.yaml @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/homeassistant/configuration.yaml b/homeassistant/configuration.yaml new file mode 100644 index 0000000..fd120c3 --- /dev/null +++ b/homeassistant/configuration.yaml @@ -0,0 +1,18 @@ + +# Loads default set of integrations. Do not remove. +default_config: + +# Trust nginx reverse proxy +http: + use_x_forwarded_for: true + trusted_proxies: + - 127.0.0.1 + - 100.86.68.23 + +# Load frontend themes from the themes folder +frontend: + themes: !include_dir_merge_named themes + +automation: !include automations.yaml +script: !include scripts.yaml +scene: !include scenes.yaml diff --git a/homeassistant/scenes.yaml b/homeassistant/scenes.yaml new file mode 100644 index 0000000..e69de29 diff --git a/homeassistant/scripts.yaml b/homeassistant/scripts.yaml new file mode 100644 index 0000000..e69de29 diff --git a/homeassistant/secrets.yaml b/homeassistant/secrets.yaml new file mode 100644 index 0000000..c5b900c --- /dev/null +++ b/homeassistant/secrets.yaml @@ -0,0 +1,4 @@ + +# Use this file to store secrets like usernames and passwords. +# Learn more at https://www.home-assistant.io/docs/configuration/secrets/ +some_password: welcome diff --git a/searxng/docker-compose.yml b/searxng/docker-compose.yml new file mode 100644 index 0000000..e59f6fa --- /dev/null +++ b/searxng/docker-compose.yml @@ -0,0 +1,11 @@ +services: + searxng: + image: searxng/searxng:latest + container_name: searxng + ports: + - "127.0.0.1:8888:8080" + volumes: + - ./searxng:/etc/searxng:rw + environment: + - SEARXNG_BASE_URL=http://localhost:8888/ + restart: unless-stopped