No description
Find a file
2026-05-17 19:10:28 +00:00
.gitignore Initialize nginx and oauth2proxy docker compose 2025-07-07 13:36:02 +00:00
docker-compose.yml Initialize nginx and oauth2proxy docker compose 2025-07-07 13:36:02 +00:00
README.md add README 2026-05-17 19:10:28 +00:00

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