[[server]] name = "Unraid" [server.config] external_address = "http://172.24.3.12" enabled = true ## [[server]] name = "synology" [server.config] enabled = true ## [[stack]] name = "audiobookshelf" tags = ["Active"] [stack.config] server = "Unraid" linked_repo = "compose-audiobookshelf" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" ## [[stack]] name = "birdnet-go" [stack.config] server = "Unraid" linked_repo = "compose-birdnet-go" ## [[stack]] name = "changedetection_io" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-changedetection_io" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "duplicati" [stack.config] server = "Unraid" file_contents = """ services: duplicati: image: duplicati/duplicati:stable container_name: duplicati environment: - PUID=0 - PGID=0 - TZ=America/New_York - SETTINGS_ENCRYPTION_KEY=${SETTINGS_ENCRYPTION_KEY} - DUPLICATI__WEBSERVICE_ALLOWED_HOSTNAMES=duplicati.andrewamason.tech - DOTNET_SYSTEM_IO_DISABLEFILELOCKING=true - DUPLICATI__WEBSERVICE_PASSWORD=${DUPLICATI__WEBSERVICE_PASSWORD} volumes: - /mnt/user/docker/duplicati/config:/data/Duplicati - /mnt/user/docker/duplicati/db:/config # per-job local databases (DBPath=/config/*.sqlite) - /mnt/user:/mnt/source/ expose: - 8200 restart: unless-stopped networks: - Internal labels: - traefik.enable=false - net.unraid.docker.icon=file:///mnt/user/docker/icons/duplicati.png networks: Internal: name: Internal_Network external: true """ environment = """ # VARIABLE = value SETTINGS_ENCRYPTION_KEY=8cwCehuik1ZSsleD8dnd DUPLICATI__WEBSERVICE_PASSWORD=Washable-Balsamic-Wool-Valium-Hatless-Boggle1-Gully DUPLICATI_LICENSE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJvaWQiOiJkOTMzMjRiZS1kMzRjLTQxYTctODJiOC1mZmVlMjYzYmM3NmYiLCJsaWQiOiJmYjk3NzYzZTRjYzU3NDU5OTgyYjNhN2E1YmM3Mzg0YiIsInR5cCI6ImxpY2Vuc2UiLCJpc3MiOiJsaWNkdXAiLCJhdWQiOiJkdXAifQ.NbNs-KyuJlD9q0dfYP7ELW_-m21FcV9eRxFHN8uhXxo """ ## [[stack]] name = "glance" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-glance" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = "timezone.env", track = true } ] ## [[stack]] name = "grimmory" tags = ["Testing"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-grimmory" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "homeassistant_io" tags = ["Active"] [stack.config] server = "Unraid" poll_for_updates = true auto_update = true linked_repo = "compose-homeassistant_io" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" env_file_path = "HA.env" additional_env_files = [ { path = ".env", track = true } ] environment = """ # Home Assistant Full Stack MQTT_PORT=1883 INFLUX_PORT=8087 INFLUX_USER=admin INFLUX_PASSWORD=ndfgsdfgldskfnbdfj INFLUX_ORG=home INFLUX_BUCKET=homeassistant GRAFANA_ADMIN_PASSWORD=UvxikNBndldic27gpmicVzK """ ## [[stack]] name = "homebox" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-homebox" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "homepage" tags = ["Active"] [stack.config] server = "Unraid" linked_repo = "compose-homepage" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "icloud_pd" tags = ["Active"] [stack.config] server = "Unraid" auto_pull = false auto_update = true linked_repo = "compose-icloudpd" webhook_enabled = false webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = "icloud_shared.env", track = true }, { path = "icloud_andrew.env", track = true } ] ## [[stack]] name = "immich" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-immich" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = "immich.env", track = true }, { path = "immich-frame.env", track = true }, { path = ".env", track = true } ] ## [[stack]] name = "jellyfin" tags = ["Active"] [stack.config] server = "Unraid" project_name = "media_apps" auto_update = true linked_repo = "compose-jellyfin" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "karakeep" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-karakeep" reclone = true webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = "karakeep.env", track = true }, { path = ".env", track = true } ] ## [[stack]] name = "kavita" tags = ["Decom"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-kavita" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "lubelogger" tags = ["Active"] [stack.config] server = "Unraid" linked_repo = "compose-lubelogger" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" ## [[stack]] name = "makemkv" tags = ["As_Needed"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-makemkv" reclone = true webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" ## [[stack]] name = "manyfold" tags = ["As_Needed"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-manyfold" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "mealie" tags = ["Testing"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-mealie" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" ## [[stack]] name = "metrics" [stack.config] server = "Unraid" poll_for_updates = true linked_repo = "compose-metrics" environment = """ # metrics stack TZ=America/New_York GRAFANA_ADMIN_PASSWORD=UvxikNBndldic27gpmicVzK INFLUX_TELEGRAF_TOKEN=nVgWIqKyVgLvQixVoirh1v107kGN5eETi6yNICzNUmZigcIBWWcQlDClYELVixrIG_4axiDrY3cz7LL_8JnKng== SONARR_API_KEY=4a392773bb664d4491f1475acf961afe RADARR_API_KEY=40a3b3ae2f174385b41a10aed360947e QBIT_API_KEY=qbt_fvYsuRSBtSsz73qVhBC9mryTScvA PROWLARR_API_KEY=c8803bd24f78428db897d0bbe57c5863 TDARR_API_KEY=tapi_x-ZrhTpZh TAUTULLI_API_KEY=jU1eV9NTbH9Fw0Ohh-X3zHdAWr-PTHw_ JELLYFIN_API_KEY=4e510aa82a9d4048a293e7c5f6a2b867 UNPOLLER_INFLUX_TOKEN=0cXQdFl5Jt2RiVSBGqOVzNuCOPcFPDWLFcIUwOHr3ED7OStR3JOZ2A5SsM5poxrVz0fVpZQphof-gHnqjJBaOA== UNIFI_USER=homeassistant_net UNIFI_PASS=mh2609!LM!@123 UPTIME_KUMA_API_KEY=uk1_Imp3ddbsKtagWF_I5NYd3JGccecynG5jCLioy5km NTFY_TOKEN_GRAFANA=tk_p6079bgpqn7yv52z5p7r81skyjbvx """ ## [[stack]] name = "notify" [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-notify" reclone = true additional_env_files = [ { path = "ntfy.env", track = true }, { path = ".env", track = true } ] ## [[stack]] name = "obsidian-sync" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-obsidian-sync" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = "andrew-obsidian-vault.env", track = true } ] ## [[stack]] name = "open-vscode" tags = ["As_Needed"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-open-vscode" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "osiris" [stack.config] server = "Unraid" auto_pull = false poll_for_updates = true auto_update = true webhook_enabled = false file_contents = """ name: osiris # Self-contained deploy of https://github.com/simplifaisoul/osiris (upstream is # not ours, so nothing is committed there). The web app uses the prebuilt GHCR # image, osiris-intel builds straight from the upstream git repo, and the nginx # tile cache config is inlined below (copied from upstream nginx/nginx.conf). # LAN access is https://osiris.andrewamason.tech via SWAG (osiris.subdomain.conf), # which proxies to osiris-cache:8080 on Internal_Network. The cache gzips the # large JSON APIs and caches map tiles. No host ports are published. services: osiris: image: ghcr.io/simplifaisoul/osiris:latest container_name: osiris env_file: - path: .env required: false environment: - NODE_OPTIONS=--dns-result-order=ipv4first - NODE_ENV=production - PORT=3000 - HOSTNAME=0.0.0.0 - INTEL_URL=http://osiris-intel:4000 extra_hosts: - "host.docker.internal:host-gateway" depends_on: - osiris-intel restart: unless-stopped labels: net.unraid.docker.icon: file:///mnt/user/docker/icons/global-threat-map.png net.unraid.docker.webui: https://osiris.andrewamason.tech/ osiris-cache: image: nginx:alpine container_name: osiris-cache networks: - default - Internal_Network configs: - source: nginx_conf target: /etc/nginx/nginx.conf volumes: - /mnt/user/docker/osiris/nginx-cache:/var/cache/nginx depends_on: - osiris restart: unless-stopped labels: net.unraid.docker.icon: file:///mnt/user/docker/icons/global-threat-map.png osiris-intel: build: context: https://github.com/simplifaisoul/osiris.git#master:intel image: osiris-intel:local container_name: osiris-intel # Upstream's check hits "localhost", which resolves to ::1 while the server # listens on IPv4 only, so it never passes. healthcheck: test: ["CMD", "wget", "-qO-", "http://127.0.0.1:4000/health"] interval: 30s timeout: 5s start_period: 60s restart: unless-stopped labels: net.unraid.docker.icon: file:///mnt/user/docker/icons/global-threat-map.png networks: Internal_Network: external: true configs: nginx_conf: content: | worker_processes auto; events { worker_connections 1024; } http { gzip on; gzip_vary on; gzip_comp_level 5; gzip_min_length 1024; gzip_proxied any; gzip_types application/json application/javascript application/xml application/geo+json text/plain text/css text/javascript image/svg+xml; proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=tile_cache:100m max_size=10g inactive=365d use_temp_path=off; resolver 1.1.1.1 8.8.8.8 valid=300s; server { listen 8080; # Map tiles from CARTO, cached for a year location ~ ^/proxy/tiles/(?(?:[a-d]\.)?basemaps\.cartocdn\.com)/(?.*)$$ { proxy_pass https://$$target_domain/$$target_path$$is_args$$args; proxy_set_header Host $$target_domain; proxy_ssl_server_name on; proxy_ssl_protocols TLSv1.2 TLSv1.3; proxy_hide_header Set-Cookie; proxy_ignore_headers Set-Cookie; proxy_cache tile_cache; proxy_cache_valid 200 304 365d; proxy_cache_valid any 1m; proxy_cache_lock on; add_header Cache-Control "public, max-age=31536000, immutable"; add_header X-Cache-Status $$upstream_cache_status; } location ~ ^/proxy/tiles/ { return 403; } # Everything else goes to the app location / { proxy_pass http://osiris:3000; proxy_set_header Host $$host; proxy_set_header X-Real-IP $$remote_addr; proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $$scheme; proxy_connect_timeout 30s; proxy_read_timeout 120s; proxy_send_timeout 120s; proxy_buffering on; proxy_buffer_size 16k; proxy_buffers 32 64k; proxy_busy_buffers_size 128k; proxy_http_version 1.1; proxy_set_header Upgrade $$http_upgrade; proxy_set_header Connection "upgrade"; } } } """ environment = """ # ═══════════════════════════════════════════════════════════════════════════ # OSIRIS — Environment Template # Copy this file to `.env` (or `.env.local`) and fill in values as needed. # # IMPORTANT — read before filling anything in: # OSIRIS works fully WITHOUT any third-party API keys. Aviation, maritime, # satellites, fires, earthquakes, weather, news, CVEs, etc. all use public # keyless feeds (adsb.lol, celestrak.org, NASA FIRMS open CSV, USGS, …). # # As of this revision the application code only actually reads SCANNER_URL # and SCANNER_KEY. The other keys below are OPTIONAL and reserved for higher # rate limits / future data sources — set them only if you extend the code or # hit rate limits on the public feeds. # ═══════════════════════════════════════════════════════════════════════════ # ───────────────────────────────────────────────────────────────────────── # RECON SCANNER BACKEND ── the ONLY keys the current code consumes ── # Powers the RECON toolkit (quick/ssl/headers/rdns/subdomains/tech/whois/ # geoloc/vuln scans). Requires running the separate OSIRIS scanner backend. # SCANNER_KEY here MUST equal the backend's OSIRIS_KEY. Generate one with: # openssl rand -hex 32 # Leave both empty to simply disable the RECON features (UI returns 503). # ───────────────────────────────────────────────────────────────────────── SCANNER_URL= SCANNER_KEY= # ───────────────────────────────────────────────────────────────────────── # CLOUDFLARE RADAR ── read by the code; enables two map layers ── # Powers the "Internet Outages" and "Attack Origins" layers under # NET & EVENT INTEL (https://radar.cloudflare.com/). # Free: any Cloudflare account → My Profile → API Tokens → Create Token → # Custom token with permission "Account · Radar · Read". # Leave empty to disable — /api/cloudflare-radar returns 503 and both layer # toggles stay hidden in the UI. The GDELT Events layer is unaffected and # needs no key. # ───────────────────────────────────────────────────────────────────────── CLOUDFLARE_API_TOKEN= # ───────────────────────────────────────────────────────────────────────── # CHAIN INTEL ── optional; the RECON "CHAIN INTEL" tab works without these ── # Baseline wallet forensics (BTC/ETH/SOL balance, transaction history, # counterparties, OFAC SDN screening, risk scoring) is fully keyless via # mempool.space, Blockscout and the public Solana RPC. # # These only deepen it; /api/osint/crypto?probe=1 reports which are active: # ETHERSCAN_API_KEY https://etherscan.io/apis — internal txs, richer ETH # HELIUS_API_KEY https://helius.dev — parsed Solana transfers. # Without it, SOL transfer amounts and counterparties # stay blank: the public RPC lists signatures only. # ───────────────────────────────────────────────────────────────────────── ETHERSCAN_API_KEY= HELIUS_API_KEY= # ───────────────────────────────────────────────────────────────────────── # OPTIONAL DATA-SOURCE KEYS (not read by current code — future / upgrades) # ───────────────────────────────────────────────────────────────────────── # NASA FIRMS — active wildfire hotspots. # Free, instant. Enter an email at the page below and the MAP_KEY is emailed # to you (looks like 'abcdef1234567890abcdef1234567890'). Limit: 5000 req / # 10 min. The app already uses the keyless FIRMS CSV; a key only matters if # you switch to the per-area FIRMS API. # Get it: https://firms.modaps.eosdis.nasa.gov/api/map_key/ FIRMS_API_KEY= # OpenSky Network — aviation (higher rate limits than the keyless feed). # Free account. Since March 2025 OpenSky uses OAuth2 (username/password auth # is dropped). Create an account, open the Account page, create a new API # client, and copy the client_id / client_secret. # Get it: https://opensky-network.org/ (Account → API client) OPENSKY_CLIENT_ID= OPENSKY_CLIENT_SECRET= # N2YO — satellite tracking / pass predictions. # Free. Register, then Profile page → scroll down → "generate API key". # The key cannot be changed once issued. Limit: 1000 req / hour. # Get it: https://www.n2yo.com/login/register/ (then Profile) N2YO_API_KEY= # aisstream.io — live maritime AIS vessel positions via WebSocket. # Free. Register, then create a key on the API Keys page. Used in the # subscription message to wss://stream.aisstream.io/v0/stream. # Get it: https://aisstream.io/ (sign up → API Keys) AIS_API_KEY= # ───────────────────────────────────────────────────────────────────────── # RUNTIME # ───────────────────────────────────────────────────────────────────────── # Host port the web UI is published on (container always listens on 3000). # Change this if 3000 is already taken on your host. OSIRIS_PORT=3026 # Comma-separated list of public Telegram channel usernames (no @) to scrape # for the "Telegram OSINT" map layer. Overrides the curated default set. # Channels must have web preview enabled (most well-known OSINT channels do). # Default if unset: # osintdefender,insiderpaper,aljazeeraenglish,nexta_live,war_monitor # OSIRIS_TELEGRAM_CHANNELS= # Set by the Docker image already — override only if needed. # NODE_ENV=production # PORT=3000 # HOSTNAME=0.0.0.0 """ ## [[stack]] name = "ossint-web-check" tags = ["As_Needed"] [stack.config] server = "Unraid" poll_for_updates = true auto_update = true linked_repo = "compose-OSSINT-Webcheck" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" ## [[stack]] name = "paperless-ngx" tags = ["As_Needed"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-paperless-ngx" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = "stack.env", track = true }, { path = ".env", track = true } ] ## [[stack]] name = "plex" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-plex" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "resilio-sync" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-resilio-sync" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" ## [[stack]] name = "romm" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-romm" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "servarr" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-servarr" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = "timezone.env", track = true }, { path = ".env", track = true } ] ## [[stack]] name = "stirling-pdf" tags = ["Active"] [stack.config] server = "Unraid" linked_repo = "compose-stirling-pdf" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "swag" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-swag" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" ## [[stack]] name = "traefik" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-traefik" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" env_file_path = "traefik.env" environment = """ TZ=US/New_York CF_API_EMAIL=andrew_amason@live.com CLOUDFLARE_DNS_API_TOKEN=cfat_zAU3sVB9CNQSt7YrIY5e4DB3i1AX4bQToa35Tnqg9841df09 """ ## [[stack]] name = "uptime-kuma" [stack.config] server = "synology" auto_update = true auto_update_skip_services = ["uptime-kuma-init"] linked_repo = "compose-uptime-kuma-synology" reclone = true additional_env_files = [ { path = ".env", track = true } ] ## [[stack]] name = "wallos" tags = ["Active"] [stack.config] server = "Unraid" auto_update = true linked_repo = "compose-wallos" webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7" ## [[deployment]] name = "Technitium_2" [deployment.config] server = "synology" image.type = "Image" image.params.image = "technitium/dns-server:15.6.0" poll_for_updates = true auto_update = true restart = "always" volumes = """ /volume1/docker/technitium_2/config:/etc/dns """ environment = """ TZ=America/New_York """ ## [[build]] name = "audiobookshelf" [build.config] builder = "local" linked_repo = "source-audiobookshelf" image_registry = [ { domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" } ] ## [[build]] name = "grimmory" [build.config] builder = "local" git_account = "andrewamason" repo = "grimmory-tools/grimmory" image_registry = [ { domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" } ] ## [[build]] name = "icloudpd" [build.config] builder = "local" linked_repo = "icloudpd" dockerfile_path = "icloudpd.dockerfile" image_registry = [ { domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" } ] ## [[build]] name = "swag" [build.config] builder = "local" linked_repo = "swag" image_registry = [ { domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" } ] ## [[build]] name = "web-check" [build.config] builder = "local" linked_repo = "web-check" image_registry = [ { domain = "gitea.andrewamason.tech", account = "andrewamason", organization = "docker" } ] ## [[repo]] name = "Master_Resource_Sync" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "andrewamason/resources" ## [[repo]] name = "compose-OSSINT-Webcheck" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/OSSINT-Webcheck" ## [[repo]] name = "compose-audiobookshelf" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/audiobookshelf" ## [[repo]] name = "compose-automation" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/automation" ## [[repo]] name = "compose-birdnet-go" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/birdnet-go" ## [[repo]] name = "compose-changedetection_io" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/changedetection_io" ## [[repo]] name = "compose-filestash" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/filestash" ## [[repo]] name = "compose-freshrss" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/freshrss" ## [[repo]] name = "compose-glance" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/Dashboards" ## [[repo]] name = "compose-grimmory" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/grimmory" ## [[repo]] name = "compose-homeassistant_io" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/HomeAssistant" ## [[repo]] name = "compose-homebox" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/HomeBox" ## [[repo]] name = "compose-homepage" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/homepage" ## [[repo]] name = "compose-icloudpd" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/iCloud_PD" ## [[repo]] name = "compose-immich" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/immich" ## [[repo]] name = "compose-jellyfin" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/Media_Apps" ## [[repo]] name = "compose-karakeep" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/karakeep" ## [[repo]] name = "compose-kavita" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/kavita" ## [[repo]] name = "compose-lubelogger" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/lubelogger" ## [[repo]] name = "compose-makemkv" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/makemkv" ## [[repo]] name = "compose-manyfold" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/manyfold" env_file_path = "manyfold.env" ## [[repo]] name = "compose-mealie" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/Mealie" ## [[repo]] name = "compose-metrics" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/metrics" ## [[repo]] name = "compose-notify" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/notify" ## [[repo]] name = "compose-obsidian-sync" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/obsidian-sync" ## [[repo]] name = "compose-open-vscode" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/Open-VSCode" ## [[repo]] name = "compose-paperless-ngx" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/paperless-ngx" ## [[repo]] name = "compose-plex" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/Media-Streaming" ## [[repo]] name = "compose-repoflow" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/RepoFlow" ## [[repo]] name = "compose-resilio-sync" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/Resilio-Sync" ## [[repo]] name = "compose-romm" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/Romm" ## [[repo]] name = "compose-scanopy" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/Scanopy" ## [[repo]] name = "compose-servarr" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/servarr" ## [[repo]] name = "compose-sonarqube" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/SonarQube" ## [[repo]] name = "compose-stirling-pdf" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/stirling-pdf" ## [[repo]] name = "compose-swag" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/swag" ## [[repo]] name = "compose-traefik" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_account = "andrewamason" repo = "HomeLab/reverse-proxy" ## [[repo]] name = "compose-uptime-kuma-synology" [repo.config] server = "synology" git_provider = "gitea.andrewamason.tech" git_account = "andrewamason" repo = "HomeLab/uptime-kuma-synology" ## [[repo]] name = "compose-wallos" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "HomeLab/WallOS" ## [[repo]] name = "icloudpd" [repo.config] server = "Unraid" builder = "local" git_account = "andrewamason" repo = "boredazfcuk/docker-icloudpd" branch = "master" ## [[repo]] name = "master-config" [repo.config] server = "Unraid" git_provider = "gitea:3000" git_https = false git_account = "andrewamason" repo = "andrewamason/resources" ## [[repo]] name = "osiris" [repo.config] server = "Unraid" builder = "local" git_account = "andrewamason" repo = "simplifaisoul/osiris" branch = "master" ## [[repo]] name = "source-audiobookshelf" [repo.config] server = "Unraid" builder = "local" git_account = "andrewamason" repo = "advplyr/audiobookshelf" branch = "master" ## [[repo]] name = "swag" [repo.config] server = "Unraid" builder = "local" git_account = "andrewamason" repo = "linuxserver/docker-swag" branch = "master" ## [[repo]] name = "web-check" [repo.config] server = "Unraid" builder = "local" git_account = "andrewamason" repo = "lissy93/web-check" branch = "master" ## [[procedure]] name = "Backup Core Database" description = "Triggers the Core database backup at the scheduled time." tags = ["system"] config.schedule = "Every day at 01:00" [[procedure.config.stage]] name = "Stage 1" enabled = true executions = [ { execution.type = "BackupCoreDatabase", execution.params = {}, enabled = true } ] ## [[procedure]] name = "Global Auto Update" description = "Pulls and auto updates Stacks and Deployments using 'poll_for_updates' or 'auto_update'." tags = ["system"] config.schedule_enabled = false config.schedule = "Every day at 03:00" [[procedure.config.stage]] name = "Stage 1" enabled = true executions = [ { execution.type = "GlobalAutoUpdate", execution.params.skip_auto_update = false, enabled = true } ] ## [[procedure]] name = "Rotate Server Keys" description = "Rotates all currently connected Server keys." tags = ["system"] config.schedule = "Every day at 06:00" [[procedure.config.stage]] name = "Stage 1" enabled = true executions = [ { execution.type = "RotateAllServerKeys", execution.params = {}, enabled = true } ] ## [[alerter]] name = "ntfy" [alerter.config] enabled = true endpoint.type = "Ntfy" endpoint.params.url = "http://ntfy/homelab?auth=QmVhcmVyIHRrX2RwbzQweGoyODNuZ3d3b25vajB3MGtsMmY5eTRk" ## [[builder]] name = "local" [builder.config] type = "Server" params.servers = ["Unraid"] ## [[builder]] name = "synology" [builder.config] type = "Server" params = {} ## [[resource_sync]] name = "master-sync" [resource_sync.config] linked_repo = "Master_Resource_Sync" resource_path = ["master_sync.toml"] managed = true include_variables = true include_user_groups = true ## [[variable]] name = "SONARQUBE_HOST" value = "sqa_35f53592be1dfce277bc27d51ee0a4e32a858604" is_secret = true ## [[variable]] name = "SONARQUBE_TOKEN" value = "http://172.24.3.12:9001" is_secret = true