Files
resources/master_sync.toml
2025-07-22 16:14:45 +00:00

813 lines
18 KiB
TOML

[[server]]
name = "Synology"
[server.config]
address = "https://172.24.3.23:8120"
enabled = true
##
[[server]]
name = "unraid"
[server.config]
address = "https://periphery:8120"
enabled = true
##
[[stack]]
name = "automation"
[stack.config]
server = "unraid"
additional_env_files = [".env"]
file_contents = """
networks:
Internal:
name: Internal_Network
external: true
traefik_gateway_external:
name: traefik_gateway_external
external: true
services:
n8n:
container_name: n8n
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- 5678:5678
expose:
- 5678
networks:
- Internal
- traefik_gateway_external
labels:
- traefik.enable=true
- traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
- traefik.http.routers.n8n.tls=true
- traefik.http.routers.n8n.entrypoints=http,https
- traefik.http.routers.n8n.tls.certresolver=letencrypt
- traefik.http.middlewares.n8n.headers.SSLRedirect=true
- traefik.http.middlewares.n8n.headers.STSSeconds=315360000
- traefik.http.middlewares.n8n.headers.browserXSSFilter=true
- traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
- traefik.http.middlewares.n8n.headers.forceSTSHeader=true
- traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
- traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.n8n.headers.STSPreload=true
- traefik.http.routers.n8n.middlewares=n8n@docker
- net.unraid.docker.icon=/mnt/user/docker/icons/n8n-dark.png
environment:
- N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
volumes:
- n8n_data:/home/node/.n8n
- /mnt/user/docker/n8n/local-files:/files
volumes:
n8n_data:
"""
environment = """
# DOMAIN_NAME and SUBDOMAIN together determine where n8n will be reachable from
# The top level domain to serve from
DOMAIN_NAME=andrewamason.tech
# The subdomain to serve from
SUBDOMAIN=n8n
# The above example serve n8n at: https://n8n.example.com
# Optional timezone to set which gets used by Cron and other scheduling nodes
# New York is the default value if not set
GENERIC_TIMEZONE=America/New_York
"""
##
[[stack]]
name = "dashboards"
[stack.config]
server = "unraid"
poll_for_updates = true
auto_update = true
git_provider = "gitea.andrewamason.tech"
git_account = "andrewamason"
repo = "HomeLab/Dashboards"
webhook_secret = "Spotting-Drainpipe-Freely-Outwit-Opponent7"
additional_env_files = ["timezone.env"]
##
[[stack]]
name = "homebox"
[stack.config]
server = "unraid"
poll_for_updates = true
auto_update = true
git_provider = "gitea:3000"
git_https = false
git_account = "andrewamason"
repo = "HomeLab/HomeBox"
webhook_secret = "Webhooksecrets"
##
[[stack]]
name = "icloud_pd"
[stack.config]
server = "unraid"
auto_update = true
git_provider = "gitea:3000"
git_https = false
git_account = "andrewamason"
repo = "HomeLab/iCloud_PD"
##
[[stack]]
name = "immich"
[stack.config]
server = "unraid"
poll_for_updates = true
auto_update = true
auto_update_all_services = true
git_provider = "gitea:3000"
git_https = false
git_account = "andrewamason"
repo = "HomeLab/immich"
webhook_secret = "Webhooksecret"
additional_env_files = ["immich.env", "immich-frame.env"]
##
[[stack]]
name = "makemkv"
[stack.config]
server = "unraid"
file_contents = """
services:
makemkv:
container_name: MakeMKV
network_mode: bridge
deploy:
resources:
limits:
pids: 2048
environment:
- TZ=America/New_York
- HOST_OS=Unraid
- HOST_HOSTNAME=Cybertron
- HOST_CONTAINERNAME=MakeMKV
- MAKEMKV_KEY'='BETA
- AUTO_DISC_RIPPER'='1
- AUTO_DISC_RIPPER_EJECT'='1
- AUTO_DISC_RIPPER_PARALLEL_RIP'='0
- AUTO_DISC_RIPPER_BD_MODE'='mkv
- AUTO_DISC_RIPPER_FORCE_UNIQUE_OUTPUT_DIR'='0
- AUTO_DISC_RIPPER_NO_GUI_PROGRESS'='0
- USER_ID'='0
- GROUP_ID'='0
- UMASK'='0000
- APP_NICENESS'='0
- DISPLAY_WIDTH'='1920
- DISPLAY_HEIGHT'='1080
- DARK_MODE'='1
- WEB_AUDIO'='0
- WEB_AUTHENTICATION'='0
- WEB_AUTHENTICATION_TOKEN_VALIDITY_TIME'='24
- WEB_AUTHENTICATION_USERNAME'='
- WEB_AUTHENTICATION_PASSWORD'='
- SECURE_CONNECTION'='0
- SECURE_CONNECTION_VNC_METHOD'='SSL
- SECURE_CONNECTION_CERTS_CHECK_INTERVAL'='60
- WEB_LISTENING_PORT'='5800
- VNC_LISTENING_PORT'='5900
- MAKEMKV_GUI'='1
- AUTO_DISC_RIPPER_MAKEMKV_PROFILE'='
- AUTO_DISC_RIPPER_INTERVAL'='5
- AUTO_DISC_RIPPER_MIN_TITLE_LENGTH'='
labels:
- net.unraid.docker.managed=dockerman
- net.unraid.docker.webui='http://[IP]:[PORT:5800]'
- net.unraid.docker.icon='https://raw.githubusercontent.com/jlesage/docker-templates/master/jlesage/images/makemkv-icon.png'
- traefik.enable'='false
- traefik.enable'='false
- test'='test
ports:
- 7806:5800/tcp
- 7906:5900/tcp
volumes:
- /mnt/user/makemkv/app:/storage
- /mnt/user/makemkv/output:/output
- /mnt/user/appdata/MakeMKV:/config
devices:
- /dev/sr0
- /dev/sg4
image: jlesage/makemkv
"""
##
[[stack]]
name = "manyfold"
[stack.config]
server = "unraid"
linked_repo = "compose-manyfold"
env_file_path = "manyfold.env"
##
[[stack]]
name = "media-streaming"
[stack.config]
server = "unraid"
file_contents = """
services:
tvheadend:
container_name: tvheadend
network_mode: bridge
deploy:
resources:
limits:
pids: 2048
environment:
- TZ=America/New_York
- HOST_OS=Unraid
- HOST_HOSTNAME=Cybertron
- HOST_CONTAINERNAME=tvheadend
- RUN_OPTS'='
- PUID'='99
- PGID'='100
- UMASK'='022
labels:
- net.unraid.docker.managed=dockerman
- net.unraid.docker.webui='http://[IP]:[PORT:9981]'
- net.unraid.docker.icon='https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/tvheadend-logo.png'
- traefik.enable'='false
ports:
- 9981:9981/tcp
- 9982:9982/tcp
volumes:
- /mnt/user/plex_media/recordings:/recordings
- /mnt/user/appdata/tvheadend:/config
devices:
- /dev/dri
- /dev/dvb
image: lscr.io/linuxserver/tvheadend
pms-docker:
container_name: Plex-Media-Server
network_mode: host
deploy:
resources:
limits:
pids: 2048
environment:
- TZ=America/New_York
- HOST_OS=Unraid
- HOST_HOSTNAME=Cybertron
- HOST_CONTAINERNAME=Plex-Media-Server
- PLEX_CLAIM'='claim-zJk7TudnL7miXz1QLTUs
- PLEX_UID'='99
- PLEX_GID'='100
- VERSION'='latest
labels:
- net.unraid.docker.managed=dockerman
- net.unraid.docker.webui='http://[IP]:[PORT:32400]/web'
- net.unraid.docker.icon='https://raw.githubusercontent.com/plexinc/pms-docker/master/img/plex-server.png'
- traefik.enable'='false
- test'='test
volumes:
- /mnt/user/transcode_cache/plex:/transcode
- /mnt/user/plex_app/data:/data
- /mnt/user/Youtube/:/mnt/Youtube
- /mnt/user/plex_media:/mnt/plex_media
- /mnt/user/plex_app/appdata:/config
devices:
- /dev/dri
- /dev/dvb/
image: plexinc/pms-docker
"""
##
[[stack]]
name = "media_apps"
[stack.config]
server = "unraid"
project_name = "media_apps"
poll_for_updates = true
auto_update = true
git_provider = "gitea:3000"
git_https = false
git_account = "andrewamason"
repo = "HomeLab/Media_Apps"
reclone = true
webhook_secret = "Webhooksecrets"
additional_env_files = ["karakeep.env"]
environment = """
# VARIABLE = value
"""
##
[[stack]]
name = "obsidian-sync"
[stack.config]
server = "unraid"
poll_for_updates = true
git_provider = "gitea:3000"
git_https = false
git_account = "andrewamason"
repo = "HomeLab/obsidian-sync"
reclone = true
webhook_secret = "Gigolo-Rigor-Skied-Saint-Comply4"
additional_env_files = ["andrew-obsidian-vault.env"]
##
[[stack]]
name = "ossint-web-check"
[stack.config]
server = "unraid"
poll_for_updates = true
auto_update = true
linked_repo = "compose-OSSINT-Webcheck"
##
[[stack]]
name = "paperless-ngx"
[stack.config]
server = "unraid"
git_provider = "gitea:3000"
git_https = false
git_account = "andrewamason"
repo = "HomeLab/paperless-ngx"
reclone = true
webhook_secret = "Gigolo-Rigor-Skied-Saint-Comply4"
additional_env_files = ["stack.env"]
##
[[stack]]
name = "resilio-sync"
[stack.config]
server = "unraid"
file_contents = """
name: <your project name>
services:
resilio-sync:
container_name: resilio-sync
network_mode: bridge
deploy:
resources:
limits:
pids: 2048
environment:
- TZ=America/New_York
- HOST_OS=Unraid
- HOST_HOSTNAME=Cybertron
- HOST_CONTAINERNAME=resilio-sync
- PUID'='99
- PGID'='100
- UMASK'='022
labels:
- net.unraid.docker.managed=dockerman
- net.unraid.docker.webui='http://[IP]:[PORT:8888]/gui'
- net.unraid.docker.icon='https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/resilio-sync-logo.png'
- traefik.enable'='false
- test'='test
ports:
- 8888:8888/tcp
- 55555:55555/tcp
volumes:
- /mnt/user/reslilio_sync/downloads:/downloads
- /mnt/user/reslilio_sync/sync:/sync
- /mnt/user/eBooks/audiobooks:/audiobooks
- /mnt/user/appdata/resilio-sync:/config
image: lscr.io/linuxserver/resilio-sync
"""
##
[[stack]]
name = "romm"
[stack.config]
server = "unraid"
poll_for_updates = true
auto_update = true
auto_update_all_services = true
git_provider = "gitea:3000"
git_https = false
git_account = "andrewamason"
repo = "HomeLab/Romm"
webhook_secret = "Webhooksecrets"
##
[[stack]]
name = "rustdesk"
[stack.config]
server = "unraid"
poll_for_updates = true
auto_update = true
git_provider = "gitea:3000"
git_https = false
git_account = "andrewamason"
repo = "HomeLab/RustDesk"
webhook_secret = "Scorpion-Envy-Triage-Singular7-Clay"
##
[[stack]]
name = "servarr"
[stack.config]
server = "unraid"
poll_for_updates = true
auto_update = true
git_provider = "gitea:3000"
git_https = false
git_account = "andrewamason"
repo = "HomeLab/servarr"
webhook_secret = "Sheet-Reproach5-Shawl-Usher-Clicker"
additional_env_files = ["timezone.env"]
##
[[stack]]
name = "swag"
[stack.config]
server = "unraid"
auto_update = true
file_contents = """
services:
swag:
image: lscr.io/linuxserver/swag
container_name: swag
cap_add:
- NET_ADMIN
environment:
- URL=andrewamason.tech
- SUBDOMAINS=wildcard
- VALIDATION=dns
- CERTPROVIDER=ZeroSSL #optional
- DNSPLUGIN=cloudflare #optional
- EMAIL=andrew@andrewamason.tech #optional
- ONLY_SUBDOMAINS=false #optional
# - EXTRA_DOMAINS=
- DOCKER_MODS=linuxserver/mods:swag-dashboard|linuxserver/mods:swag-auto-reload|linuxserver/mods:swag-dbip
- WATCHLIST=/config/nginx/proxy-confs
- STAGING=false #optional not used by ZeroSSL
- TZ=America/New_York
- PUID=1026
- PGID=101
volumes:
- /mnt/user/docker/swag:/config
networks:
- Internal_Network
- wg0
ports:
- 443:443
- 80:80 #optional
- 81:81
labels:
traefik.enable: false
net.unraid.docker.icon: /mnt/user/docker/icons/nginx.png
restart: unless-stopped
networks:
Internal_Network:
name: Internal_Network
external: true
wg0:
external: true
"""
##
[[stack]]
name = "traefik"
[stack.config]
server = "unraid"
poll_for_updates = true
auto_update = true
git_provider = "gitea:3000"
git_https = false
git_account = "andrewamason"
repo = "HomeLab/reverse-proxy"
webhook_secret = "Sheet-Reproach5-Shawl-Usher-Clicker"
env_file_path = "traefik.env"
environment = """
TZ=US/New_York
CF_API_EMAIL=andrew_amason@live.com
CLOUDFLARE_DNS_API_TOKEN=YrGr8Q2iLJ-Ui_bpSxreYJ7D6T8YJOFOj7A4eYDq
"""
##
[[stack]]
name = "uptime-kuma"
[stack.config]
server = "unraid"
project_name = "uptime-kuma"
auto_update = true
git_provider = "gitea:3000"
git_https = false
git_account = "andrewamason"
repo = "HomeLab/uptime-kuma"
reclone = true
webhook_secret = "Quilt-Trousers-Unsold-Cornea3-Handcraft"
additional_env_files = ["uptime.env"]
ignore_services = ["signal-cli-rest-api"]
##
[[build]]
name = "audiobookshelf"
[build.config]
builder = "local"
linked_repo = "audiobookshelf"
image_registry.domain = "gitea.andrewamason.tech"
image_registry.account = "andrewamason"
image_registry.organization = "docker"
##
[[build]]
name = "cloudflare-ddns"
[build.config]
builder = "local"
linked_repo = "cloudflare-ddns"
image_registry.domain = "gitea.andrewamason.tech"
image_registry.account = "andrewamason"
image_registry.organization = "docker"
##
[[build]]
name = "dashy"
[build.config]
builder = "local"
linked_repo = "dashy"
image_registry.domain = "gitea.andrewamason.tech"
image_registry.account = "andrewamason"
image_registry.organization = "docker"
##
[[build]]
name = "flaresolverr"
[build.config]
builder = "local"
linked_repo = "flaresolverr"
image_registry.domain = "gitea.andrewamason.tech"
image_registry.account = "andrewamason"
image_registry.organization = "docker"
##
[[build]]
name = "freshrss"
[build.config]
builder = "local"
linked_repo = "freshrss"
dockerfile_path = "Docker/Dockerfile"
image_registry.domain = "gitea.andrewamason.tech"
image_registry.account = "andrewamason"
image_registry.organization = "docker"
##
[[build]]
name = "glance"
[build.config]
builder = "local"
linked_repo = "Glance"
image_registry.domain = "gitea.andrewamason.tech"
image_registry.account = "andrewamason"
image_registry.organization = "docker"
##
[[build]]
name = "heimdall"
[build.config]
builder = "local"
linked_repo = "Heimdall"
image_registry.domain = "gitea.andrewamason.tech"
image_registry.account = "andrewamason"
image_registry.organization = "docker"
##
[[build]]
name = "homebox"
[build.config]
builder = "local"
linked_repo = "homebox"
image_registry.domain = "gitea.andrewamason.tech"
image_registry.account = "andrewamason"
image_registry.organization = "docker"
##
[[build]]
name = "icloudpd"
[build.config]
builder = "local"
linked_repo = "icloudpd"
dockerfile_path = "icloudpd.dockerfile"
image_registry.domain = "gitea.andrewamason.tech"
image_registry.account = "andrewamason"
image_registry.organization = "docker"
##
[[build]]
name = "swag"
[build.config]
builder = "local"
linked_repo = "swag"
image_registry.domain = "gitea.andrewamason.tech"
image_registry.account = "andrewamason"
image_registry.organization = "docker"
##
[[build]]
name = "web-check"
[build.config]
builder = "local"
linked_repo = "web-check"
image_registry.domain = "gitea.andrewamason.tech"
image_registry.account = "andrewamason"
image_registry.organization = "docker"
##
[[repo]]
name = "Glance"
[repo.config]
server = "unraid"
builder = "local"
git_account = "andrewamason"
repo = "glanceapp/glance"
##
[[repo]]
name = "Heimdall"
[repo.config]
server = "unraid"
builder = "local"
git_account = "andrewamason"
repo = "linuxserver/docker-heimdall"
branch = "master"
##
[[repo]]
name = "audiobookshelf"
[repo.config]
server = "unraid"
builder = "local"
git_account = "andrewamason"
repo = "advplyr/audiobookshelf"
branch = "master"
##
[[repo]]
name = "cloudflare-ddns"
[repo.config]
server = "unraid"
builder = "local"
git_account = "andrewamason"
repo = "oznu/cloudflare-ddns"
branch = "master"
##
[[repo]]
name = "compose-OSSINT-Webcheck"
[repo.config]
server = "unraid"
git_provider = "gitea.andrewamason.tech"
git_account = "andrewamason"
repo = "HomeLab/OSSINT-Webcheck"
##
[[repo]]
name = "compose-manyfold"
[repo.config]
server = "unraid"
git_provider = "gitea.andrewamason.tech"
git_account = "andrewamason"
repo = "HomeLab/manyfold"
env_file_path = "manyfold.env"
##
[[repo]]
name = "dashy"
[repo.config]
server = "unraid"
builder = "local"
git_account = "andrewamason"
repo = "lissy93/dashy"
branch = "master"
##
[[repo]]
name = "flaresolverr"
[repo.config]
server = "unraid"
builder = "local"
git_account = "andrewamason"
repo = "flaresolverr/flaresolverr"
branch = "master"
##
[[repo]]
name = "freshrss"
[repo.config]
server = "unraid"
builder = "local"
git_account = "andrewamason"
repo = "FreshRSS/FreshRSS"
branch = "latest"
##
[[repo]]
name = "homebox"
[repo.config]
server = "unraid"
builder = "local"
git_account = "andrewamason"
repo = "sysadminsmedia/homebox"
##
[[repo]]
name = "icloudpd"
[repo.config]
server = "unraid"
builder = "local"
git_account = "andrewamason"
repo = "boredazfcuk/docker-icloudpd"
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"
##
[[builder]]
name = "local"
[builder.config]
type = "Server"
params.server_id = "unraid"
##
[[builder]]
name = "synology"
[builder.config]
type = "Server"
params.server_id = "Synology"
##
[[resource_sync]]
name = "Master Resource Sync"
[resource_sync.config]
git_provider = "gitea.andrewamason.tech"
repo = "andrewamason/resources"
git_account = "andrewamason"
resource_path = ["master_sync.toml"]
managed = true