| .gitignore | ||
| docker-compose.yml | ||
| README.md | ||
sweetpea-reverse-proxy
Docker Compose stack running the nginx reverse proxy and oauth2-proxy on sweetpea
(Dell OptiPlex 7050 Micro, 192.168.1.47).
This repo manages the containers. The nginx configuration itself (vhosts, snippets,
upstreams) lives in a separate repo: sweetpea-nginx-config tracked at /etc/nginx.
How it fits in the infrastructure
nginx is the single ingress point for all external and LAN traffic to the homelab. It terminates TLS, routes requests to backend services on qwerty and arrs-vm, and serves the maintenance page when backends are down.
oauth2-proxy sits alongside nginx for GitHub OAuth authentication. Currently running but not protecting any active service — set up during an earlier experiment.
Services
| Container | Image | Ports | Role |
|---|---|---|---|
nginx |
nginx:latest | 80, 443 | Reverse proxy for all services |
oauth2-proxy |
oauth2-proxy:latest | 4180 | GitHub OAuth layer (idle) |
Both containers share the reverse-proxy Docker network.
nginx mounts /etc/nginx read-only from the host.
Key files
| File | Purpose |
|---|---|
docker-compose.yml |
Defines nginx and oauth2-proxy containers |
.env |
oauth2-proxy secrets (not tracked — contains GitHub client secret) |
Deployed on
Machine: sweetpea (192.168.1.47)
Path: /opt/reverse-proxy/
Git remote (home): ssh://git@ssh.aaronjanovitch.com:2222/srv/git/repos/sweetpea-reverse-proxy.git
Workflow
# Connect
ssh sweetpea
# Restart the stack
cd /opt/reverse-proxy
docker compose up -d
# View logs
docker compose logs -f nginx
# Commit and push
git -C /opt/reverse-proxy add -A
git -C /opt/reverse-proxy commit -m "..."
git -C /opt/reverse-proxy push home main