[[server]] name = "docker.local" tags = ["spoonbill"] [server.config] address = "https://periphery:8120" enabled = true ## [[server]] name = "minecraft.local" tags = ["spoonbill"] [server.config] address = "https://10.0.1.105:8120" enabled = true ## [[server]] name = "weebill.local" tags = ["weebill"] [server.config] address = "https://10.0.1.4:8120" enabled = true ## [[stack]] name = "13ft" tags = ["internal"] [stack.config] server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "13ft" ## [[stack]] name = "arr" tags = ["internal", "media"] [stack.config] server = "docker.local" links = [ "https://bazarr.ferngarden.net/", "https://jackett.ferngarden.net/", "https://lidarr.ferngarden.net/", "https://prowlarr.ferngarden.net/", "https://radarr.ferngarden.net/", "https://readarr-audiobooks.ferngarden.net/", "https://readarr-ebooks.ferngarden.net/", "https://sonarr.ferngarden.net/" ] auto_update = true linked_repo = "github" run_directory = "arr" environment = """ QBITTORRENT__PASSWORD=[[QBITTORRENT_PASSWORD]] """ ## [[stack]] name = "audiobookshelf" tags = ["media", "public"] [stack.config] server = "docker.local" links = [ "https://audiobookshelf.fern.garden" ] auto_update = true linked_repo = "github" run_directory = "audiobookshelf" ## [[stack]] name = "authentik" tags = ["reverse-proxy", "public"] [stack.config] server = "docker.local" links = ["https://auth.fern.garden"] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "authentik" environment = """ POSTGRES_PASSWORD=[[AUTHENTIK_DB_PASSWORD]] AUTHENTIK_SECRET_KEY=[[AUTHENTIK_SECRET_KEY]] AUTHENTIK_EMAIL__PASSWORD=[[SMTP_PASSWORD]] AUTHENTIK_LDAP_TOKEN=[[AUTHENTIK_LDAP_TOKEN]] AUTHENTIK_PROXY_TOKEN=[[AUTHENTIK_PROXY_TOKEN]] AUTHENTIK_VERSION=2025.6 """ ## [[stack]] name = "caddy" tags = ["reverse-proxy", "public"] [stack.config] server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "caddy" environment = """ CF_API_TOKEN=[[CLOUDFLARE_API_TOKEN]] """ ## [[stack]] name = "calibre" tags = ["media", "public"] [stack.config] server = "docker.local" links = [ "https://calibre.ferngarden.net", "https://books.fern.garden" ] auto_update = true linked_repo = "github" run_directory = "calibre" ## [[stack]] name = "dozzle" tags = ["internal"] [stack.config] server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "dozzle" ## [[stack]] name = "forgejo" tags = ["public"] [stack.config] server = "docker.local" links = ["https://git.fern.garden"] auto_update = true linked_repo = "github" run_directory = "forgejo" environment = """ POSTGRES_PASSWORD=[[FORGEJO_DB_PASSWORD]] """ ## [[stack]] name = "grocy" tags = ["internal"] [stack.config] server = "docker.local" links = ["https://grocy.ferngarden.net"] auto_update = true linked_repo = "github" run_directory = "grocy" ## [[stack]] name = "homebox" tags = ["internal"] [stack.config] server = "docker.local" links = [ "https://homebox.ferngarden.net" ] auto_update = true linked_repo = "github" run_directory = "homebox" ## [[stack]] name = "homepage" tags = ["internal", "metrics"] [stack.config] server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "homepage" ## [[stack]] name = "immich" tags = ["internal"] [stack.config] server = "docker.local" links = [ "https://photos.ferngarden.net" ] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "immich" environment = """ DB_PASSWORD=[[IMMICH_DB_PASSWORD]] """ ## [[stack]] name = "it-tools" tags = ["internal"] [stack.config] server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "it-tools" ## [[stack]] name = "jellyfin" tags = ["media", "public"] [stack.config] server = "docker.local" links = [ "https://jellyfin.fern.garden", "https://jellystat.ferngarden.net" ] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "jellyfin" environment = """ JELLYSTAT_JWT_SECRET=[[JELLYSTAT_JWT_SECRET]] JELLYSTAT_POSTGRES_PASSWORD=[[JELLYSTAT_DB_PASSWORD]] """ ## [[stack]] name = "komga" tags = ["media", "public"] [stack.config] server = "docker.local" links = ["https:/comics.fern.garden"] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "komga" ## [[stack]] name = "mailserver" tags = ["internal"] [stack.config] server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "mailserver" ## [[stack]] name = "memos" tags = ["internal"] [stack.config] server = "docker.local" links = ["https://memos.ferngarden.net"] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "memos" environment = """ POSTGRES_PASSWORD=[[MEMOS_DB_PASSWORD]] """ ## [[stack]] name = "metrics_docker_local" tags = ["internal", "metrics"] [stack.config] server = "docker.local" linked_repo = "github" run_directory = "metrics" ## [[stack]] name = "metrics_minecraft_local" tags = ["internal", "metrics"] [stack.config] server = "minecraft.local" linked_repo = "github" run_directory = "metrics" ## [[stack]] name = "metrics_weebill_local" tags = ["internal", "metrics"] [stack.config] server = "weebill.local" linked_repo = "github" run_directory = "metrics" ## [[stack]] name = "minecraft" tags = ["public"] [stack.config] server = "minecraft.local" auto_update = true linked_repo = "github" reclone = true run_directory = "minecraft" environment = """ RCON_PASSWORD=[[MINECRAFT_RCON_PASSWORD]] """ ## [[stack]] name = "miniflux" tags = ["internal"] [stack.config] server = "docker.local" links = ["https://rss.ferngarden.net"] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "miniflux" environment = """ POSTGRES_PASSWORD=[[MINIFLUX_DB_PASSWORD]] ADMIN_PASSWORD=[[MINIFLUX_ADMIN_PASSWORD]] OAUTH2_CLIENT_ID=[[MINIFLUX_OIDC_CLIENT_ID]] OAUTH2_CLIENT_SECRET=[[MINIFLUX_OIDC_CLIENT_SECRET]] """ ## [[stack]] name = "navidrome" tags = ["media", "public"] [stack.config] server = "docker.local" links = ["https://music.fern.garden"] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "navidrome" environment = """ ND_LASTFM_APIKEY=[[NAVIDROME_LASTFM_API_KEY]] ND_LASTFM_SECRET=[[NAVIDROME_LASTFM_API_SECRET]] """ ## [[stack]] name = "netatalk" tags = ["internal"] [stack.config] server = "weebill.local" poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "netatalk" environment = """ AFP_PASS=[[NETATALK_AFP_PASSWORD]] """ ## [[stack]] name = "nextcloud-aio" tags = ["internal"] [stack.config] server = "docker.local" links = [ "https://cloud.ferngarden.net", "https://docker.local:8080" ] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "nextcloud-aio" ## [[stack]] name = "notifications" tags = ["public"] [stack.config] server = "docker.local" links = [ "https://ntfy.fern.garden", "https://mollysocket.fern.garden" ] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "notifications" environment = """ MOLLY_VAPID_PRIVKEY=[[MOLLY_VAPID_PRIVKEY]] """ ## [[stack]] name = "paperless" tags = ["internal"] [stack.config] server = "docker.local" links = [ "https://paperless.ferngarden.net" ] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "paperless" environment = """ POSTGRES_PASSWORD=[[PAPERLESS_DB_PASSWORD]] PAPERLESS_SECRET_KEY=[[PAPERLESS_SECRET_KEY]] AUTHENTIK_CLIENT_ID=[[PAPERLESS_OIDC_CLIENT_ID]] AUTHENTIK_CLIENT_SECRET=[[PAPERLESS_OIDC_CLIENT_SECRET]] """ ## [[stack]] name = "qbittorrent" tags = ["internal", "media"] [stack.config] server = "docker.local" links = [ "https://qbittorrent.ferngarden.net" ] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "qbittorrent" environment = """ WIREGUARD_PRIVATE_KEY=[[QBITTORRENT_WIREGUARD_PRIVATE_KEY]] QBITTORRENT_PASS=[[QBITTORRENT_PASSWORD]] GLUETUN_APIKEY=[[QBITTORRENT_GLUETUN_API_KEY]] MAM_ID=[[MAM_ID]] OPS_KEY=[[OPS_KEY]] RED_KEY=[[RED_KEY]] """ ## [[stack]] name = "romm" tags = ["public", "media"] [stack.config] server = "docker.local" links = ["https://games.fern.garden"] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "romm" environment = """ MARIADB_PASSWORD=[[ROMM_DB_PASSWORD]] MARIADB_ROOT_PASSWORD=[[ROMM_DB_ROOT_PASSWORD]] ROMM_AUTH_SECRET_KEY=[[ROMM_AUTH_KEY]] IGDB_CLIENT_ID=[[IGDB_CLIENT_ID]] IGDB_CLIENT_SECRET=[[IGDB_CLIENT_SECRET]] SCREENSCRAPER_PASSWORD=[[SCREENSCRAPER_PASSWORD]] STEAMGRIDDB_API_KEY=[[STEAMGRIDDB_API_KEY]] MOBYGAMES_API_KEY=[[MOBYGAMES_API_KEY]] OIDC_CLIENT_ID=[[ROMM_OIDC_CLIENT_ID]] OIDC_CLIENT_SECRET=[[ROMM_OIDC_CLIENT_SECRET]] """ ## [[stack]] name = "stash" tags = ["internal", "media"] [stack.config] server = "docker.local" links = ["https://stash.ferngarden.net"] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "stash" ## [[stack]] name = "stirling-pdf" tags = ["internal"] [stack.config] server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "stirling-pdf" ## [[stack]] name = "synapse" tags = ["public"] [stack.config] server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "synapse" ## [[stack]] name = "vaultwarden" tags = ["internal"] [stack.config] server = "docker.local" links = ["https://vault.ferngarden.net"] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "vaultwarden" environment = """ SMTP_PASSWORD=[[SMTP_PASSWORD]] """ ## [[stack]] name = "wallos" tags = ["internal"] [stack.config] server = "docker.local" links = [ "https://wallos.ferngarden.net" ] poll_for_updates = true auto_update = true linked_repo = "github" run_directory = "wallos" ## [[build]] name = "caddy" [build.config] builder = "docker.local" version = "2.10.0" auto_increment_version = false linked_repo = "github" build_path = "caddy" image_registry.domain = "ghcr.io" image_registry.account = "firewalkwithm3" ## [[repo]] name = "github" [repo.config] server = "docker.local" builder = "docker.local" git_account = "firewalkwithm3" repo = "firewalkwithm3/stacks" ## [[builder]] name = "docker.local" [builder.config] type = "Server" params.server_id = "docker.local" ## [[resource_sync]] name = "github" [resource_sync.config] linked_repo = "github" resource_path = ["resources.toml"] managed = true