Skip to content

CADDY โ€” Caddy Web Server

Last reviewed: 2026-05-29

Purpose: Caddy web server configuration and reverse proxy setup for local services (Portainer, Grafana, Prometheus, N8N, Ollama, OpenWebUI, and more).

Overview

This folder contains a complete Caddy JSON configuration file and helper scripts for managing a local Caddy instance. The primary configuration (allProxies.json) defines reverse proxy routes for a suite of self-hosted services running on a single machine.

Contents

File Type Size Description
allProxies.json JSON 4 KB Caddy API v2 JSON config defining reverse proxy routes
checkCaddyConfig.sh Shell script 40 B Script to curl localhost:2019/config/ โ€” dump live config
curllocalhost2019load.sh Shell script 93 B Script to load the JSON config into Caddy via its admin API

Reverse Proxy Routes Defined

The allProxies.json file configures Caddy as a reverse proxy for these local services:

Service Listen Port Upstream Notes
PostgreSQL :5555 127.0.0.1:5434 Alternate DB port
Ollama :2014 127.0.0.1:11434 Local LLM server
Trillium :2015 127.0.0.1:9090 Notes/Trillium app
N8N :5679 127.0.0.1:5678 Workflow automation
Grafana :6001 127.0.0.1:6000 Observability dashboards
Jaeger (gRPC) :14251 127.0.0.1:14250 Distributed tracing gRPC
Jaeger (UI) :16687 127.0.0.1:16686 Distributed tracing web UI
Prometheus :7071 127.0.0.1:7070 Metrics collection
OpenWebUI :4001 127.0.0.1:4000 AI chat interface
Portainer :9001 127.0.0.1:9000 Docker management UI

Usage

# Check current Caddy config
./checkCaddyConfig.sh

# Load new proxy configuration via admin API
./curllocalhost2019load.sh

Notes

  • Caddy runs locally and uses the JSON API v2 format. Configuration is loaded hot via the admin endpoint at localhost:2019.
  • Each proxy route remaps a high-numbered public port to an internal service port.