From d59a0617181cc185e848ff26a5821da319ec4815 Mon Sep 17 00:00:00 2001 From: Ray <3608878+Pecacheu@users.noreply.github.com> Date: Sat, 27 Jun 2026 21:30:03 -0400 Subject: [PATCH] feat: Add client config route to Caddy (#286) * feat: Add client config route to Caddy Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com> * fix: Remove gifbox, will be pulled from backend in future Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com> * fix: Move JSON to root folder, drop extension from route Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com> --------- Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com> --- .gitignore | 1 + Caddyfile | 10 ++++++++++ compose.yml | 1 + generate_config.sh | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/.gitignore b/.gitignore index 3e89f77..de23675 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ Revolt.toml.old livekit.yml.old secrets.env secrets.env.old +stoat.json compose.override.yml compose.override.yml.old diff --git a/Caddyfile b/Caddyfile index 4bee7b0..1b289e7 100644 --- a/Caddyfile +++ b/Caddyfile @@ -1,4 +1,14 @@ {$HOSTNAME} { + route /.well-known/stoat { + uri strip_prefix /.well-known/stoat + header { + Access-Control-Allow-Origin * + } + file_server { + root /stoat.json + } + } + route /api* { uri strip_prefix /api reverse_proxy http://api:14702 { diff --git a/compose.yml b/compose.yml index 9692545..c29344c 100644 --- a/compose.yml +++ b/compose.yml @@ -70,6 +70,7 @@ services: - ./Caddyfile:/etc/caddy/Caddyfile - ./data/caddy-data:/data - ./data/caddy-config:/config + - ./stoat.json:/stoat.json networks: default: aliases: diff --git a/generate_config.sh b/generate_config.sh index 06fe898..6db90f3 100755 --- a/generate_config.sh +++ b/generate_config.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash +set -e SECRETS_FOUND=0 IS_OVERWRITING=0 DOMAIN= @@ -185,6 +186,9 @@ echo "VITE_MEDIA_URL=https://$DOMAIN/autumn" >> .env.web echo "VITE_PROXY_URL=https://$DOMAIN/january" >> .env.web echo "VITE_CFG_ENABLE_VIDEO=$VIDEO_ENABLED" >> .env.web +# client config +echo -n "{\"api\":\"https://$DOMAIN/api\"}" > stoat.json + # hostnames echo "# All secrets are stored in secrets.env" > Revolt.toml echo "# Any configuration added to this file will be overwritten by generate_config on run; however," >> Revolt.toml