# The Caddyfile is an easy way to configure your Caddy web server. # # Unless the file starts with a global options block, the first # uncommented line is always the address of your site. # # To use your own domain name (with automatic HTTPS), first make # sure your domain's A/AAAA DNS records are properly pointed to # this machine's public IP, then replace ":80" below with your # domain name. (cors) { @cors_preflight method OPTIONS header { Access-Control-Allow-Origin "{header.origin}" Vary Origin Access-Control-Expose-Headers "Authorization" Access-Control-Allow-Credentials "true" } handle @cors_preflight { header { Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE" Access-Control-Max-Age "3600" } respond "" 204 } } { metrics log { output file /var/log/caddy/caddy_main.log { roll_size 20MiB roll_keep 5 roll_keep_for 100d } format json level INFO } } tammi.cc { root * /media/data/hienotammi file_server browse encode zstd gzip log { output file /media/data/logs/tammi.log { roll_size 1mb roll_keep 1 } } } holvi.tammi.cc { root * /media/data/holvi file_server browse encode zstd gzip log { output file /media/data/logs/holvi.log { roll_size 1mb roll_keep 1 } } } grafana.tammi.cc { reverse_proxy 127.0.0.1:3010 encode zstd gzip log { output file /media/data/logs/grafana.log { roll_size 1mb roll_keep 1 } } } ntfy.tammi.cc { reverse_proxy 127.0.0.1:3070 encode zstd gzip log { output file /media/data/logs/ntfy.log { roll_size 1mb roll_keep 1 } } } adguard.tammi.cc { basic_auth { petri $2a$14$1gj396cBvvMoC7kW0qSZBOF9Qzwt8ewyujua1EpdDJm9gXdBFsfEe } reverse_proxy 127.0.0.1:3000 encode zstd gzip log { output file /media/data/logs/adguard.log { roll_size 1mb roll_keep 1 } } } n8n.tammi.cc { reverse_proxy 127.0.0.1:5678 encode zstd gzip log { output file /media/data/logs/n8n.log { roll_size 1mb roll_keep 1 } } } couch.tammi.cc { reverse_proxy 127.0.0.1:5984 encode zstd gzip log { output file /media/data/logs/couch.log { roll_size 1mb roll_keep 1 } } } shiori.tammi.cc { reverse_proxy 127.0.0.1:7766 encode zstd gzip log { output file /media/data/logs/shiori.log { roll_size 1mb roll_keep 1 } } } read.tammi.cc { reverse_proxy 127.0.0.1:7767 encode zstd gzip log { output file /media/data/logs/read.log { roll_size 1mb roll_keep 1 } } } atuin.tammi.cc { reverse_proxy 127.0.0.1:4444 encode zstd gzip log { output file /media/data/logs/atuin.log { roll_size 1mb roll_keep 1 } } } relationship.tammi.cc { root * /media/data/relationship file_server encode zstd gzip log { output file /media/data/logs/relationship.log { roll_size 1mb roll_keep 1 } } } start.tammi.cc { basic_auth { petri $2a$14$1gj396cBvvMoC7kW0qSZBOF9Qzwt8ewyujua1EpdDJm9gXdBFsfEe } reverse_proxy 127.0.0.1:5555 encode zstd gzip log { output file /media/data/logs/start.log { roll_size 1mb roll_keep 1 } } } bin.tammi.cc { reverse_proxy 127.0.0.1:8820 encode zstd gzip import cors {header.origin} log { output file /media/data/logs/bin.log { roll_size 1mb roll_keep 1 } } } llm.tammi.cc { reverse_proxy 127.0.0.1:12500 encode zstd gzip log { output file /media/data/logs/llm.log { roll_size 1mb roll_keep 1 } } } base.tammi.cc { reverse_proxy 127.0.0.1:980 encode zstd gzip log { output file /media/data/logs/base.log { roll_size 1mb roll_keep 1 } } } threat.tammi.cc { reverse_proxy 127.0.0.1:3050 encode zstd gzip log { output file /media/data/logs/threat.log { roll_size 1mb roll_keep 1 } } } flux.tammi.cc { reverse_proxy 127.0.0.1:8080 encode zstd gzip log { output file /media/data/logs/flux.log { roll_size 1mb roll_keep 1 } } } haku.tammi.cc { reverse_proxy 127.0.0.1:8888 encode zstd gzip log { output file /media/data/logs/haku.log { roll_size 1mb roll_keep 1 } } } memos.tammi.cc { reverse_proxy 127.0.0.1:8081 encode zstd gzip log { output file /media/data/logs/memos.log { roll_size 1mb roll_keep 1 } } } dav.tammi.cc { reverse_proxy 127.0.0.1:5232 encode zstd gzip log { output file /media/data/logs/haku.log { roll_size 1mb roll_keep 1 } } } admin.tammi.cc { reverse_proxy 127.0.0.1:10000 encode zstd gzip log { output file /media/data/logs/webmin.log { roll_size 1mb roll_keep 1 } } } minio.tammi.cc { reverse_proxy localhost:9001 } s3.tammi.cc { reverse_proxy localhost:9199 } vault.tammi.cc { encode zstd gzip reverse_proxy /notifications/hub/negotiate 127.0.0.1:8000 reverse_proxy /notifications/hub 127.0.0.1:3012 reverse_proxy 127.0.0.1:8000 { header_up X-Real-IP {remote_host} } log { output file /media/data/logs/vault.log { roll_size 1mb roll_keep 1 } } } audio.tammi.cc { reverse_proxy 127.0.0.1:3333 encode zstd gzip log { output file /media/data/logs/audio.log { roll_size 1mb roll_keep 1 } } } import conf.d/* # Refer to the Caddy docs for more information: