auth.thesatelliteoflove.com {
    reverse_proxy authentik-server-1:9000
}

paper.thesatelliteoflove.com {
    reverse_proxy paperlessngx-webserver-1:8000
}

pin.thesatelliteoflove.com {
    reverse_proxy pinry-pinry-1:80
}

cal.thesatelliteoflove.com {
    redir /.well-known/caldav /dav.php 302
    redir /.well-known/carddav /dav.php 302
    reverse_proxy baikal-baikal-1:80
}

books.thesatelliteoflove.com {
    reverse_proxy authentik-server-1:9000
}

audio.thesatelliteoflove.com {
    reverse_proxy audiobookshelf-audiobookshelf-1:80
}

post.thesatelliteoflove.com {
    reverse_proxy postiz:5000
}

loclog.thesatelliteoflove.com {
    reverse_proxy dawarich_app:3000
}

watcher.thesatelliteoflove.com {
    reverse_proxy changedetection:5000
}

tasks.thesatelliteoflove.com {
    reverse_proxy mmdl:3000
}

kanboard.thesatelliteoflove.com {
    reverse_proxy kanboard:80
}

grocy.thesatelliteoflove.com {
    # API endpoints bypass forward auth for mobile apps
    handle /api/* {
        reverse_proxy grocy:80
    }
    
    # Web interface requires Authentik authentication
    forward_auth authentik-server-1:9000 {
        uri /outpost.goauthentik.io/auth/caddy
        copy_headers {
            X-authentik-username
            X-authentik-groups  
            X-authentik-email
            X-authentik-name
            X-authentik-uid
        }
    }
    reverse_proxy grocy:80
}

phlog.thesatelliteoflove.com {
    reverse_proxy ghost-1-ghost-1:2368
}


code.thesatelliteoflove.com {
    reverse_proxy authentik-server-1:9000
}

snippets.thesatelliteoflove.com {
    reverse_proxy bytestash:5000
}

files.thesatelliteoflove.com {
    reverse_proxy palmr-palmr-1:5487
}

git.thesatelliteoflove.com {
    reverse_proxy gitea:3000
}

thesatelliteoflove.com {
    reverse_proxy /micropub/* micropub_server-micropub-1:5000
    reverse_proxy /micropub micropub_server-micropub-1:5000
    root * /srv/tsol
    file_server
}

bookmarks.thesatelliteoflove.com {
    reverse_proxy hoarder-web-1:3000
}

social.thesatelliteoflove.com {
    reverse_proxy gotosocial:8080
}

models.thesatelliteoflove.com {
    reverse_proxy manyfold-app-1:3214
}


home.thesatelliteoflove.com {
    reverse_proxy authentik-server-1:9000
}

gotify.thesatelliteoflove.com {
    reverse_proxy gotify:80
}

gotify-assistant.thesatelliteoflove.com {
    reverse_proxy igotify-assistant:8080
}

pdg.thesatelliteoflove.com {
    root * /srv/pdg
    try_files {path} {path}.html {path}/ =404
    file_server
    encode gzip
 
    handle_errors {
        rewrite * /{err.status_code}.html
        file_server
    }
}

repair.nerder.land {
    root * /srv/repair
    file_server
}

nerder.land {
    root * /srv/nerderland
    file_server
}

forms.nerder.land {
    reverse_proxy heyform-heyform-1:8000
}
