[[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 = """ services: n8n: image: docker.n8n.io/n8nio/n8n restart: always ports: - "127.0.0.1:5678:5678" expose: - 5678 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 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: - /mnt/user/docker/n8n/home:/home/node/.n8n - /mnt/user/docker/n8n/local-files:/files """ 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 = "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 antennas: container_name: antennas network_mode: bridge deploy: resources: limits: pids: 2048 environment: - TZ=America/New_York - HOST_OS=Unraid - HOST_HOSTNAME=Cybertron - HOST_CONTAINERNAME=antennas - ANTENNAS_URL'='http://172.24.3.12:5004/ - TVHEADEND_URL'='http://172.17.0.5:9981/ - TUNER_COUNT'='4 labels: - net.unraid.docker.managed=dockerman - net.unraid.docker.webui='http://[IP]:[PORT:5004]' - net.unraid.docker.icon='https://raw.githubusercontent.com/yayitazale/unraid-templates/main/antennas.png' - traefik.enable'='false ports: - 5004:5004/tcp volumes: - /mnt/user/appdata/antennas:/antennas/config image: thejf/antennas:latest 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 = ["hoarder.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 = "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: 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 = "antennas" [build.config] builder = "local" linked_repo = "antennas" image_registry.domain = "gitea.andrewamason.tech" image_registry.account = "andrewamason" image_registry.organization = "docker" ## [[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 = "tautulli" [build.config] builder = "local" linked_repo = "tautulli" 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 = "antennas" [repo.config] server = "unraid" builder = "local" git_account = "andrewamason" repo = "jfarseneau/antennas" ## [[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 = "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 = "tautulli" [repo.config] server = "unraid" builder = "local" git_account = "andrewamason" repo = "tautulli/tautulli" 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