diff --git a/caddy/Caddyfile b/caddy/Caddyfile index ac0e999..f48c203 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -104,12 +104,3 @@ fxsync.fern.garden { home.fern.garden { reverse_proxy 10.0.1.103:8123 } - -crafty.ferngarden.net { - import internal - reverse_proxy 10.0.1.101:8443 { - transport http { - tls_insecure_skip_verify - } - } -} diff --git a/dozzle/compose.yaml b/dozzle/compose.yaml index cd0ac96..fb714cd 100644 --- a/dozzle/compose.yaml +++ b/dozzle/compose.yaml @@ -5,7 +5,7 @@ services: container_name: dozzle environment: DOZZLE_AUTH_PROVIDER: forward-proxy - DOZZLE_REMOTE_HOST: tcp://docker_socket_proxy:2375|vm/docker,tcp://10.0.1.101:2375|vm/minecraft,tcp://10.0.1.105:2375|vm/musicbrainz + DOZZLE_REMOTE_HOST: tcp://docker_socket_proxy:2375|docker.local,tcp://10.0.1.101:2375|minecraft.local,tcp://10.0.1.4:2375|weebill.local networks: - default - metrics diff --git a/minecraft/compose.yaml b/minecraft/compose.yaml index 752e1d3..f6a80f9 100644 --- a/minecraft/compose.yaml +++ b/minecraft/compose.yaml @@ -1,21 +1,55 @@ name: minecraft services: - crafty-controller: - container_name: crafty-contraller - image: registry.gitlab.com/crafty-controller/crafty-4:latest - restart: always - environment: - - TZ=Australia/Perth - ports: - - "8443:8443" # HTTPS - - "8123:8123" # DYNMAP - - "25565:25565" # Java - volumes: - - /home/fern/docker/data/minecraft/crafty-controller/backups:/crafty/backups - - /home/fern/docker/data/minecraft/crafty-controller/logs:/crafty/logs - - /home/fern/docker/data/minecraft/crafty-controller/servers:/crafty/servers - - /home/fern/docker/data/minecraft/crafty-controller/config:/crafty/app/config - - /home/fern/docker/data/minecraft/crafty-controller/import:/crafty/import + minecraft_proxy: + image: itzg/mc-proxy + container_name: minecraft_proxy + volumes: + - /home/fern/docker/data/minecraft/velocity/config:/config + - /home/fern/docker/data/minecraft/velocity/server:/server + environment: + - TYPE=VELOCITY + - MINECRAFT_VERSION=1.21.5 + ports: + - '25565:25565' + networks: + - default + restart: unless-stopped + user: 1000:100 + + minecraft_server_bob: + image: itzg/minecraft-server + container_name: minecraft_server_bob + depends_on: + - minecraft_proxy + volumes: + - /home/fern/docker/data/minecraft/servers/bobworld:/data + environment: + - MOTD=it's bob's world, we're just living in it + - ICON=https://git.fern.garden/fern/stacks/raw/branch/main/minecraft/server-icons/bob.png + env_file: + - server.env + restart: unless-stopped + hostname: bob + user: 1000:100 + + minecraft_server_mc: + image: itzg/minecraft-server + container_name: minecraft_server_mc + depends_on: + - minecraft_proxy + volumes: + - /home/fern/docker/data/minecraft/servers/mc:/data + environment: + - MOTD=meow + - ICON=https://git.fern.garden/fern/stacks/raw/branch/main/minecraft/server-icons/mc.png + - PLUGINS=https://dev.bukkit.org/projects/dead-chest/files/latest + env_file: + - server.env + networks: + - default + restart: unless-stopped + hostname: mc + user: 1000:100 networks: default: diff --git a/minecraft/server.env b/minecraft/server.env new file mode 100644 index 0000000..9162397 --- /dev/null +++ b/minecraft/server.env @@ -0,0 +1,24 @@ +EULA=TRUE +TZ=Australia/Perth +TYPE=PAPER +RCON_PASSWORD=${RCON_PASSWORD} +PAPER_CHANNEL=experimental +VERSION=1.21.5 +ENABLE_ROLLING_LOGS=true +LOG_TIMESTAMP=true +OVERRIDE_ICON=TRUE +RESOURCE_PACK=https://cdn.modrinth.com/data/4YkvO5Rp/versions/y8c31PGb/Whimscape_1.20.2-1.21.5_r3.zip +RESOURCE_PACK_SHA1=c486d46b7f79d3aa187e7288385858220c37b05b +ENABLE_WHITELIST=true +ONLINE_MODE=FALSE +SNOOPER_ENABLED=false +USE_AIKAR_FLAGS=true +MAX_MEMORY=3G +DIFFICULTY=normal +MAX_PLAYERS=10 +SPAWN_PROTECTION=0 +PVP=false +VIEW_DISTANCE=24 +SIMULATION_DISTANCE=12 +MODRINTH_PROJECTS=essentialsx,essentialsx-antibuild,essentialsx-chat-module,essentialsx-protect,essentialsx-spawn,luckperms +SPIGET_RESOURCES=40313 diff --git a/resources.toml b/resources.toml index 78df38d..3f1a522 100644 --- a/resources.toml +++ b/resources.toml @@ -1,5 +1,5 @@ [[server]] -name = "vm/docker" +name = "docker.local" tags = ["spoonbill"] [server.config] address = "https://periphery:8120" @@ -8,7 +8,7 @@ enabled = true ## [[server]] -name = "vm/minecraft" +name = "minecraft.local" tags = ["spoonbill"] [server.config] address = "https://10.0.1.101:8120" @@ -17,10 +17,10 @@ enabled = true ## [[server]] -name = "vm/musicbrainz" -tags = ["spoonbill"] +name = "weebill.local" +tags = ["weebill"] [server.config] -address = "https://10.0.1.105:8120" +address = "https://10.0.1.4:8120" enabled = true ## @@ -29,7 +29,7 @@ enabled = true name = "13ft" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" @@ -41,7 +41,7 @@ run_directory = "13ft" name = "arr" tags = ["internal", "media"] [stack.config] -server = "vm/docker" +server = "docker.local" links = [ "https://bazarr.ferngarden.net/", "https://jackett.ferngarden.net/", @@ -63,7 +63,7 @@ QBITTORRENT_PASSWORD=[[QBITTORRENT_PASSWORD]] name = "audiobookshelf" tags = ["media", "public"] [stack.config] -server = "vm/docker" +server = "docker.local" links = [ "https://audiobookshelf.fern.garden" ] @@ -77,7 +77,7 @@ run_directory = "audiobookshelf" name = "authentik" tags = ["reverse-proxy", "public"] [stack.config] -server = "vm/docker" +server = "docker.local" links = ["https://auth.fern.garden"] poll_for_updates = true auto_update = true @@ -98,7 +98,7 @@ AUTHENTIK_VERSION=2025.6 name = "caddy" tags = ["reverse-proxy", "public"] [stack.config] -server = "vm/docker" +server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" @@ -113,7 +113,7 @@ CF_API_TOKEN=[[CLOUDFLARE_API_TOKEN]] name = "calibre-web-automated" tags = ["media", "public"] [stack.config] -server = "vm/docker" +server = "docker.local" links = ["https://books.fern.garden"] auto_update = true linked_repo = "github" @@ -125,7 +125,7 @@ run_directory = "calibre" name = "dozzle" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" @@ -137,7 +137,7 @@ run_directory = "dozzle" name = "forgejo" tags = ["public"] [stack.config] -server = "vm/docker" +server = "docker.local" links = ["https://git.fern.garden"] auto_update = true linked_repo = "github" @@ -152,7 +152,7 @@ POSTGRES_PASSWORD=[[FORGEJO_DB_PASSWORD]] name = "grocy" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" links = ["https://grocy.ferngarden.net"] auto_update = true linked_repo = "github" @@ -164,7 +164,7 @@ run_directory = "grocy" name = "homebox" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" links = [ "https://homebox.ferngarden.net" ] @@ -178,7 +178,7 @@ run_directory = "homebox" name = "homepage" tags = ["internal", "metrics"] [stack.config] -server = "vm/docker" +server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" @@ -190,7 +190,7 @@ run_directory = "homepage" name = "immich" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" links = [ "https://photos.ferngarden.net" ] @@ -208,7 +208,7 @@ DB_PASSWORD=[[IMMICH_DB_PASSWORD]] name = "it-tools" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" @@ -220,7 +220,7 @@ run_directory = "it-tools" name = "jellyfin" tags = ["media", "public"] [stack.config] -server = "vm/docker" +server = "docker.local" links = [ "https://jellyfin.fern.garden", "https://jellystat.ferngarden.net" @@ -241,7 +241,7 @@ JELLYSTAT_PASSWORD=[[JELLYSTAT_PASSWORD]] name = "komga" tags = ["media", "public"] [stack.config] -server = "vm/docker" +server = "docker.local" links = ["https:/comics.fern.garden"] poll_for_updates = true auto_update = true @@ -254,7 +254,7 @@ run_directory = "komga" name = "linkwarden" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" auto_update = true linked_repo = "github" run_directory = "linkwarden" @@ -272,7 +272,7 @@ AUTHENTIK_CLIENT_SECRET=[[LINKWARDEN_AUTHENTIK_CLIENT_SECRET]] name = "mailserver" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" @@ -281,43 +281,30 @@ run_directory = "mailserver" ## [[stack]] -name = "metrics" -template = true -[stack.config] -poll_for_updates = true -auto_update = true -linked_repo = "github" -run_directory = "metrics" - -## - -[[stack]] -name = "metrics_vm_docker" +name = "metrics_docker_local" tags = ["internal", "metrics"] [stack.config] -server = "vm/docker" +server = "docker.local" linked_repo = "github" run_directory = "metrics" ## [[stack]] -name = "metrics_vm_minecraft" +name = "metrics_minecraft_local" tags = ["internal", "metrics"] [stack.config] -server = "vm/minecraft" +server = "minecraft.local" linked_repo = "github" run_directory = "metrics" ## [[stack]] -name = "metrics_vm_musicbrainz" -tags = ["metrics", "internal"] +name = "metrics_weebill_local" +tags = ["internal", "metrics"] [stack.config] -server = "vm/musicbrainz" -poll_for_updates = true -auto_update = true +server = "weebill.local" linked_repo = "github" run_directory = "metrics" @@ -327,7 +314,7 @@ run_directory = "metrics" name = "minecraft" tags = ["public"] [stack.config] -server = "vm/minecraft" +server = "minecraft.local" auto_update = true linked_repo = "github" reclone = true @@ -342,7 +329,7 @@ RCON_PASSWORD=[[MINECRAFT_RCON_PASSWORD]] name = "miniflux" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" links = ["https://rss.ferngarden.net"] poll_for_updates = true auto_update = true @@ -361,7 +348,7 @@ OAUTH2_CLIENT_SECRET=[[MINIFLUX_OIDC_CLIENT_SECRET]] name = "navidrome" tags = ["media", "public"] [stack.config] -server = "vm/docker" +server = "docker.local" links = ["https://music.fern.garden"] poll_for_updates = true auto_update = true @@ -370,9 +357,21 @@ run_directory = "navidrome" environment = """ ND_LASTFM_APIKEY=[[NAVIDROME_LASTFM_API_KEY]] ND_LASTFM_SECRET=[[NAVIDROME_LASTFM_API_SECRET]] -ND_SYSTEM_PASSWORD=[[NAVIDROME_PASSWORD]] -YOUTUBE_API_KEY=[[EXPLO_YOUTUBE_API_KEY]] -SLSKD_API_KEY=[[EXPLO_SLSKD_API_KEY]] +""" + +## + +[[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]] """ ## @@ -381,7 +380,7 @@ SLSKD_API_KEY=[[EXPLO_SLSKD_API_KEY]] name = "nextcloud-aio" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" links = [ "https://cloud.ferngarden.net", "https://docker.local:8080" @@ -397,7 +396,7 @@ run_directory = "nextcloud-aio" name = "notifications" tags = ["public"] [stack.config] -server = "vm/docker" +server = "docker.local" links = [ "https://ntfy.fern.garden", "https://mollysocket.fern.garden" @@ -414,9 +413,8 @@ MOLLY_VAPID_PRIVKEY=[[MOLLY_VAPID_PRIVKEY]] [[stack]] name = "obsidian-livesync" -tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" linked_repo = "github" run_directory = "obsidian-livesync" environment = """ @@ -429,7 +427,7 @@ COUCHDB_PASSWORD=[[OBSIDIAN_LIVESYNC_DB_PASSWORD]] name = "paperless" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" links = [ "https://paperless.ferngarden.net" ] @@ -450,7 +448,7 @@ AUTHENTIK_CLIENT_SECRET=[[PAPERLESS_OIDC_CLIENT_SECRET]] name = "qbittorrent" tags = ["internal", "media"] [stack.config] -server = "vm/docker" +server = "docker.local" links = [ "https://qbittorrent.ferngarden.net" ] @@ -473,7 +471,7 @@ RED_KEY=[[RED_KEY]] name = "romm" tags = ["public", "media"] [stack.config] -server = "vm/docker" +server = "docker.local" links = ["https://games.fern.garden"] poll_for_updates = true auto_update = true @@ -498,7 +496,7 @@ OIDC_CLIENT_SECRET=[[ROMM_OIDC_CLIENT_SECRET]] name = "scrutiny" tags = ["internal", "metrics"] [stack.config] -server = "vm/docker" +server = "docker.local" auto_update = true linked_repo = "github" run_directory = "scrutiny" @@ -509,7 +507,7 @@ run_directory = "scrutiny" name = "slskd" tags = ["internal", "media"] [stack.config] -server = "vm/docker" +server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" @@ -525,7 +523,7 @@ SLSKD_SLSK_PASSWORD=[[SOULSEEK_PASSWORD]] name = "stash" tags = ["internal", "media"] [stack.config] -server = "vm/docker" +server = "docker.local" links = ["https://stash.ferngarden.net"] poll_for_updates = true auto_update = true @@ -538,7 +536,7 @@ run_directory = "stash" name = "stirling-pdf" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" @@ -550,7 +548,7 @@ run_directory = "stirling-pdf" name = "synapse" tags = ["public"] [stack.config] -server = "vm/docker" +server = "docker.local" poll_for_updates = true auto_update = true linked_repo = "github" @@ -562,7 +560,7 @@ run_directory = "synapse" name = "vaultwarden" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" links = ["https://vault.ferngarden.net"] poll_for_updates = true auto_update = true @@ -578,7 +576,7 @@ SMTP_PASSWORD=[[SMTP_PASSWORD]] name = "wallos" tags = ["internal"] [stack.config] -server = "vm/docker" +server = "docker.local" links = [ "https://wallos.ferngarden.net" ] @@ -620,7 +618,7 @@ image_registry.account = "firewalkwithm3" [[repo]] name = "github" [repo.config] -server = "vm/docker" +server = "docker.local" builder = "docker.local" git_account = "firewalkwithm3" repo = "firewalkwithm3/stacks" @@ -631,7 +629,7 @@ repo = "firewalkwithm3/stacks" name = "docker.local" [builder.config] type = "Server" -params.server_id = "vm/docker" +params.server_id = "docker.local" ##