1275 lines
28 KiB
TOML
1275 lines
28 KiB
TOML
[[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 = "filestash"
|
|
[stack.config]
|
|
server = "Unraid"
|
|
linked_repo = "compose-filestash"
|
|
|
|
##
|
|
|
|
[[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
|
|
"""
|
|
|
|
##
|
|
|
|
[[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_update = true
|
|
linked_repo = "compose-icloudpd"
|
|
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 = "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"
|
|
poll_for_updates = true
|
|
auto_update = true
|
|
linked_repo = "osiris"
|
|
file_paths = ["docker-compose.yml"]
|
|
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"
|
|
|
|
##
|
|
|
|
[[stack]]
|
|
name = "wealthfolio"
|
|
[stack.config]
|
|
server = "Unraid"
|
|
file_contents = """
|
|
services:
|
|
wealthfolio:
|
|
image: ghcr.io/wealthfolio/wealthfolio:latest
|
|
container_name: wealthfolio
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8088:8088"
|
|
volumes:
|
|
- /mnt/user/docker/wealthfolio:/data
|
|
environment:
|
|
WF_LISTEN_ADDR: "0.0.0.0:8088"
|
|
WF_DB_PATH: "/data/wealthfolio.db"
|
|
WF_SECRET_KEY: 'pBBFl/PpySty6frAd+5q/QGIQm25WUmjGxxieSoCPL8='
|
|
WF_AUTH_PASSWORD_HASH: '$$argon2i$$v=19$$m=16,t=2,p=1$$cU53T0E1ZEdKblRldjZ3OA$$ZCXkrZrN92z48SZbz0sf1Q'
|
|
WF_CORS_ALLOW_ORIGINS: 'http://172.24.3.12:8088'
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://127.0.0.1:8088/api/v1/healthz"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 15s
|
|
"""
|
|
environment = """
|
|
|
|
"""
|
|
|
|
##
|
|
|
|
[[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-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 |