diff --git a/Caddyfile b/Caddyfile index 035d7a1..9859b4c 100644 --- a/Caddyfile +++ b/Caddyfile @@ -2,6 +2,14 @@ acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN} } +netbird.archfox.org { + @grpc header Content-Type application/grpc* + reverse_proxy @grpc h2c://10.0.1.135:80 + @backend path /relay* /ws-proxy/* /api/* /oauth2/* + reverse_proxy @backend 10.0.1.135:80 + reverse_proxy /* 10.0.1.135:80 +} + matrix.archfox.org { reverse_proxy continuwuity:6167 } @@ -19,25 +27,36 @@ searxng.archfox.org { } git.archfox.org { - reverse_proxy gitea:3000 -} - -jelly.archfox.org { - reverse_proxy jellyfin:8096 { - header_up +Content-Security-Policy "default-src https: data: blob:; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/accentlist.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/base.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/bottombarprogress.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/fixes.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/jf_font.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/overlayprogress.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/rounding.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/rounding_circlehover.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/smallercast.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/rounding_circlehover.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/cornerindicator/indicator_floating.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/cornerindicator/indicator_corner.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/effects/glassy.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/effects/pan-animation.css https://ctalvio.github.io/Monochromic/backdrop-hack_style.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/effects/hoverglow.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/effects/scrollfade.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/episodelist/episodes_compactlist.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/episodelist/episodes_grid.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/fields/fields_border.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/fields/fields_noborder.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/header/header_transparent.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/header/header_transparent-dashboard.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/login/login_frame.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/login/login_minimalistic.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/login/login_frame.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/presets/monochromic_preset.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/presets/kaleidochromic_preset.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/presets/novachromic_preset.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/titlepage/title_banner.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/titlepage/title_banner-logo.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/titlepage/title_simple.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/titlepage/title_simple-logo.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/type/light.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/type/dark.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/type/colorful.css https://cdn.jsdelivr.net/gh/CTalvio/Ultrachromic/type/dark_withaccent.css https://fonts.googleapis.com/css2; script-src 'self' 'unsafe-inline' https://www.gstatic.com/cv/js/sender/v1/cast_sender.js worker-src 'self' blob:; connect-src 'self'; object-src 'none'; frame-ancestors 'self'" + reverse_proxy gitea:3000 { + flush_interval -1 } } +jelly.archfox.org { + reverse_proxy jellyfin:8096 +} + vault.archfox.org { - reverse_proxy vaultwarden:80 + reverse_proxy vaultwarden:80 { + flush_interval -1 + } } aria.archfox.org { - reverse_proxy ariang:8080 + reverse_proxy ariang:8080 { + flush_interval -1 + } } nextcloud.archfox.org { - reverse_proxy 10.0.1.45:11000 + reverse_proxy 10.0.1.45:11000 { + flush_interval -1 + transport http { + versions 1.1 + read_buffer 64KB + write_buffer 64KB + } + } } bookstack.archfox.org { @@ -45,7 +64,9 @@ bookstack.archfox.org { } panel.archfox.org { - reverse_proxy tpanel:80 + reverse_proxy tpanel:80 { + flush_interval -1 + } php_fastcgi unix//run/php/php8.3-fpm.sock { root /var/www/pterodactyl/public @@ -73,14 +94,16 @@ panel.archfox.org { header Access-Control-Allow-Headers "Authorization, Content-Type" request_body { - max_size 100m + max_size 100g } respond /.ht* 403 } wings.archfox.org { - reverse_proxy twings:443 + reverse_proxy twings:443 { + flush_interval -1 + } } omada.archfox.org { diff --git a/docker-compose.d/Documentation/gitea.yml b/docker-compose.d/Documentation/gitea.yml index fb3357c..ac70b51 100644 --- a/docker-compose.d/Documentation/gitea.yml +++ b/docker-compose.d/Documentation/gitea.yml @@ -1,25 +1,23 @@ services: gitea: - container_name: gitea - image: gitea/gitea:latest - environment: - - GITEA__service__DISABLE_REGISTRATION=true - - GITEA__repository__ALLOW_FORK_INTO_SAME_OWNER=true - - USER_UID=1000 - - USER_GID=1000 - volumes: - - gitea:/data - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro - restart: unless-stopped - networks: - - caddy - + container_name: gitea + image: gitea/gitea:latest + environment: + - GITEA__service__DISABLE_REGISTRATION=true + - GITEA__repository__ALLOW_FORK_INTO_SAME_OWNER=true + - USER_UID=1000 + - USER_GID=1000 + volumes: + - gitea:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + restart: unless-stopped + networks: + - caddy networks: caddy: name: caddy external: true - volumes: gitea: name: gitea diff --git a/docker-compose.d/Networking/caddy.yml b/docker-compose.d/Networking/caddy.yml index 937dcaf..a046c1c 100644 --- a/docker-compose.d/Networking/caddy.yml +++ b/docker-compose.d/Networking/caddy.yml @@ -14,18 +14,17 @@ services: - caddy_srv:/srv - caddy_data:/data - caddy_config:/config + - /tmp:/tmp:ro environment: - CLOUDFLARE_API_TOKEN=${CF_CADDY_KEY} extra_hosts: - "host.docker.internal:host-gateway" networks: - caddy - networks: caddy: name: caddy external: true - volumes: caddy_config: name: caddy_config diff --git a/docker-compose.d/Tools/nextcloud-aio.yml b/docker-compose.d/Tools/nextcloud-aio.yml index 87294f4..b4c2594 100644 --- a/docker-compose.d/Tools/nextcloud-aio.yml +++ b/docker-compose.d/Tools/nextcloud-aio.yml @@ -14,7 +14,21 @@ services: - APACHE_IP_BINDING=0.0.0.0 - NEXTCLOUD_MOUNT=/mnt/nextcloud/ - NEXTCLOUD_MEMORY_LIMIT=4096M - + nextcloud-mcp: + container_name: nextcloud-mcp + image: ghcr.io/cbcoutinho/nextcloud-mcp-server:latest + ports: + - 8000:8000 + environment: + - NEXTCLOUD_HOST=https://nextcloud.archfox.org + - MCP_DEPLOYMENT_MODE=single_user_basic + - NEXTCLOUD_USERNAME=poslop + - NEXTCLOUD_PASSWORD=miatana + - TRANSPORT=streamable-http + #volumes: + # For persistent OAuth client storage + #- ./oauth-storage:/app/.oauth + restart: unless-stopped volumes: nextcloud_aio_mastercontainer: name: nextcloud_aio_mastercontainer diff --git a/docker-compose.d/Tools/pterodactyl.yml.tmp b/docker-compose.d/Tools/pterodactyl.yml.tmp index c7e5e78..aca2fcf 100644 --- a/docker-compose.d/Tools/pterodactyl.yml.tmp +++ b/docker-compose.d/Tools/pterodactyl.yml.tmp @@ -40,6 +40,7 @@ services: - ${DOCKER_SOCKET:-/var/run/docker.sock}:/var/run/docker.sock - /tmp/pterodactyl/:/tmp/pterodactyl/ - ${TPATH}conf.d/daemon:/etc/pterodactyl + - /run/wings:/run/wings working_dir: ${DAEMON_DATA_DIRECTORY:-/var/lib/pterodactyl} networks: - pterodactyl_nw diff --git a/docker-compose.d/Tools/redbot.yml b/docker-compose.d/Tools/redbot.yml index a46364b..fa7b02c 100644 --- a/docker-compose.d/Tools/redbot.yml +++ b/docker-compose.d/Tools/redbot.yml @@ -6,15 +6,14 @@ services: volumes: - ${Volumes}/redbot/data:/data environment: - - TOKEN=MTQ1OTM0NzUwMDA1NzIzNTU2Mg.G7_CcI.xZCcpt_IxCkmbi-EpfQB-Mi2WanHAfkNE7aJsw + - TOKEN=${DISCORD_BOT_TOKEN} - PREFIX=. - TZ=America/Chicago - PUID=1000 - OWNER=1411383242313171075 - EXTRA_ARGS=--rpc --rpc-port 6133 networks: - - caddy - + - caddy reddash: command: - sh @@ -32,7 +31,6 @@ services: redbot: condition: service_started required: true - networks: caddy: name: caddy diff --git a/scripts/caddyreload b/scripts/caddyreload index 3777b09..ed6c9c6 100755 --- a/scripts/caddyreload +++ b/scripts/caddyreload @@ -1,2 +1,3 @@ caddy_container_id=$(docker ps | grep caddy | awk '{print $1;}') docker exec -w /etc/caddy $caddy_container_id caddy reload +docker exec -w /etc/caddy $caddy_container_id caddy fmt --overwrite