HT-016 — Nginx Reverse Proxy Setup on WSL2 (Atlantis LAN)
Atlantis ITS · How-To · v1.1 · June 2026 Author: Scout (Ozzy review) · Updated: Ozzy — June 2026 Supersedes: HT-016 (archived)
| Field | Value |
|---|---|
| Document ID | HT-016 |
| Title | Nginx Reverse Proxy Setup on WSL2 (Atlantis LAN) |
| Version | 1.1 |
| Status | Active |
| Author | Scout (Ozzy review) |
| Last Updated | June 10, 2026 |
| Owner | Ozzy / Scout |
| Related Docs | HT-015 (WSL Bridge), HT-022 (Tailscale + RustDesk), SOP-003, INC-004 |
| Forgejo Path | atlantis-docs/how-tos/HT-016-Nginx-WSL2-Atlantis-LAN.md |
| Local Path | C:\AtlantisITS\knowledge\HT-016-Nginx-WSL2-Atlantis-LAN.md |
1. Purpose
Provide clean .atlantis.lan hostnames for all local Trunks services instead of remembering localhost port numbers. This how-to covers the Windows hosts file, nginx WSL2 site configs, and the enable/test/reload cycle for every active Atlantis service.
⚠️ WARNING: The Windows hosts file is wiped by any Windows repair install or Reset this PC procedure. Re-apply this HT after any Trunks rebuild. See INC-004 for context.
Mercy's Rule: "Ports are for machines. Names are for humans."
2. Current Services (June 2026)
Core Infrastructure
| Hostname | Service | Port | Notes |
|---|---|---|---|
forgejo.atlantis.lan | Forgejo | 3010 | Git platform — source of truth |
nova.atlantis.lan | Nova Router | 7100 | Agent routing — NOT raw Ollama |
n8n.atlantis.lan | n8n Automation | 5678 | Trunks WSL2 instance |
ops.atlantis.lan | OPS Command Center | 3000 | Mercy owned |
mkdocs.atlantis.lan | MkDocs KB | 8000 | Local build only |
AI Operations Suite (V26 — NEW)
| Hostname | Service | Port | Notes |
|---|---|---|---|
litellm.atlantis.lan | LiteLLM Gateway | 4000 | Model router — Docker WSL2 |
noc.atlantis.lan | Atlantis AI NOC | 5200 | AA-NOC frontend |
radar.atlantis.lan | Repo Radar | 5300 | OSS intelligence |
tailscale.atlantis.lan | Tailscale Radar | 5400 | Network health dashboard |
council.atlantis.lan | Atlantis Council | 5150 | Multi-agent roundtable |
quest.atlantis.lan | Atlantis Quest | 5153 | 16-bit RPG dev |
Apps & Tools
| Hostname | Service | Port | Notes |
|---|---|---|---|
jobs.atlantis.lan | Job Engine | 3005 | Lead aggregator |
horizon.atlantis.lan | Horizon Runway | 5176 | Local dev — prod is Vercel |
moltbook.atlantis.lan | Nova Moltbook | 7202 | Docker, atlantis-sandbox |
Monitoring (Docker Desktop)
| Hostname | Service | Port | Notes |
|---|---|---|---|
grafana.atlantis.lan | Grafana | 3021 | Metrics dashboards |
prometheus.atlantis.lan | Prometheus | 9090 | Metrics collector |
ntfy.atlantis.lan | NTFY | 8080 | Push notifications |
Docker Services Note: Grafana (3021) and Prometheus (9090) run in Docker Desktop — NOT in WSL2 PM2. Docker Desktop on Windows exposes these ports to localhost automatically so Nginx proxies them the same way. If proxying fails, verify Docker Desktop is running and containers are healthy.
Nova Router tip:
nova.atlantis.lanroutes to Nova Router on port 7100 (agent routing layer) — NOT raw Ollama on 11434. Always hit the router.Horizon tip:
horizon.atlantis.lanis local dev only. Production Horizon Runway lives athorizon.atlantisits.aion Vercel.
3. Step-by-Step Setup
Step 1 — Windows Hosts File
⚠️ Must be done as Administrator. Skipping Admin causes silent save failures.
Open Notepad as Administrator, then open:
C:\Windows\System32\drivers\etc\hosts
Add this complete block at the bottom:
# ==================== ATLANTIS LAN ====================
127.0.0.1 localhost
# Core Infrastructure
127.0.0.1 forgejo.atlantis.lan
127.0.0.1 nova.atlantis.lan
127.0.0.1 n8n.atlantis.lan
127.0.0.1 ops.atlantis.lan
127.0.0.1 mkdocs.atlantis.lan
# AI Operations Suite
127.0.0.1 litellm.atlantis.lan
127.0.0.1 noc.atlantis.lan
127.0.0.1 radar.atlantis.lan
127.0.0.1 tailscale.atlantis.lan
127.0.0.1 council.atlantis.lan
127.0.0.1 quest.atlantis.lan
# Apps & Tools
127.0.0.1 jobs.atlantis.lan
127.0.0.1 horizon.atlantis.lan
127.0.0.1 moltbook.atlantis.lan
# Monitoring
127.0.0.1 grafana.atlantis.lan
127.0.0.1 prometheus.atlantis.lan
127.0.0.1 ntfy.atlantis.lan
# Future (uncomment when ready)
# 127.0.0.1 bluesky.atlantis.lan
# 127.0.0.1 soc.atlantis.lan
# 127.0.0.1 nova-grid.atlantis.lan
# ======================================================
Save the file, then flush DNS from Command Prompt (Admin):
ipconfig /flushdns
WSL2 Localhost Forwarding: Use
127.0.0.1in the Windows hosts file. WSL2 has built-in localhost forwarding — Windows automatically tunnels127.0.0.1traffic on any port straight into WSL2. No portproxy needed. The172.26.x.xaddress is dynamic — ignore it.For Maranda on the same LAN: Use Trunks' Windows IP instead of
127.0.0.1in her hosts file: runipconfigon Windows, find IPv4 Address.
Step 2 — Install Nginx in WSL2
If nginx is not already installed:
sudo apt update && sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
sudo nginx -t # Should return: syntax is ok / test is successful
Step 3 — Create Nginx Site Configs
Create one config file per service in /etc/nginx/sites-available/. The pattern is identical — only server_name and proxy_pass port change.
Config Template
server {
listen 80;
server_name SERVICE.atlantis.lan;
access_log /var/log/nginx/SERVICE.atlantis.lan.access.log;
error_log /var/log/nginx/SERVICE.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:PORT;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Core Infrastructure Configs
# forgejo.atlantis.lan → :3010
sudo tee /etc/nginx/sites-available/forgejo.atlantis.lan << 'EOF'
server {
listen 80;
server_name forgejo.atlantis.lan;
access_log /var/log/nginx/forgejo.atlantis.lan.access.log;
error_log /var/log/nginx/forgejo.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:3010;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# nova.atlantis.lan → :7100
sudo tee /etc/nginx/sites-available/nova.atlantis.lan << 'EOF'
server {
listen 80;
server_name nova.atlantis.lan;
access_log /var/log/nginx/nova.atlantis.lan.access.log;
error_log /var/log/nginx/nova.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:7100;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# n8n.atlantis.lan → :5678
sudo tee /etc/nginx/sites-available/n8n.atlantis.lan << 'EOF'
server {
listen 80;
server_name n8n.atlantis.lan;
access_log /var/log/nginx/n8n.atlantis.lan.access.log;
error_log /var/log/nginx/n8n.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# ops.atlantis.lan → :3000
sudo tee /etc/nginx/sites-available/ops.atlantis.lan << 'EOF'
server {
listen 80;
server_name ops.atlantis.lan;
access_log /var/log/nginx/ops.atlantis.lan.access.log;
error_log /var/log/nginx/ops.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# mkdocs.atlantis.lan → :8000
sudo tee /etc/nginx/sites-available/mkdocs.atlantis.lan << 'EOF'
server {
listen 80;
server_name mkdocs.atlantis.lan;
access_log /var/log/nginx/mkdocs.atlantis.lan.access.log;
error_log /var/log/nginx/mkdocs.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
AI Operations Suite Configs (V26 NEW)
# litellm.atlantis.lan → :4000
sudo tee /etc/nginx/sites-available/litellm.atlantis.lan << 'EOF'
server {
listen 80;
server_name litellm.atlantis.lan;
access_log /var/log/nginx/litellm.atlantis.lan.access.log;
error_log /var/log/nginx/litellm.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:4000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# noc.atlantis.lan → :5200
sudo tee /etc/nginx/sites-available/noc.atlantis.lan << 'EOF'
server {
listen 80;
server_name noc.atlantis.lan;
access_log /var/log/nginx/noc.atlantis.lan.access.log;
error_log /var/log/nginx/noc.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:5200;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# radar.atlantis.lan → :5300
sudo tee /etc/nginx/sites-available/radar.atlantis.lan << 'EOF'
server {
listen 80;
server_name radar.atlantis.lan;
access_log /var/log/nginx/radar.atlantis.lan.access.log;
error_log /var/log/nginx/radar.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:5300;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# tailscale.atlantis.lan → :5400
sudo tee /etc/nginx/sites-available/tailscale.atlantis.lan << 'EOF'
server {
listen 80;
server_name tailscale.atlantis.lan;
access_log /var/log/nginx/tailscale.atlantis.lan.access.log;
error_log /var/log/nginx/tailscale.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:5400;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# council.atlantis.lan → :5150
sudo tee /etc/nginx/sites-available/council.atlantis.lan << 'EOF'
server {
listen 80;
server_name council.atlantis.lan;
access_log /var/log/nginx/council.atlantis.lan.access.log;
error_log /var/log/nginx/council.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:5150;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# quest.atlantis.lan → :5153
sudo tee /etc/nginx/sites-available/quest.atlantis.lan << 'EOF'
server {
listen 80;
server_name quest.atlantis.lan;
access_log /var/log/nginx/quest.atlantis.lan.access.log;
error_log /var/log/nginx/quest.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:5153;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
Apps, Tools & Monitoring Configs
# jobs.atlantis.lan → :3005
sudo tee /etc/nginx/sites-available/jobs.atlantis.lan << 'EOF'
server {
listen 80;
server_name jobs.atlantis.lan;
access_log /var/log/nginx/jobs.atlantis.lan.access.log;
error_log /var/log/nginx/jobs.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:3005;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# horizon.atlantis.lan → :5176 (local dev only)
sudo tee /etc/nginx/sites-available/horizon.atlantis.lan << 'EOF'
server {
listen 80;
server_name horizon.atlantis.lan;
access_log /var/log/nginx/horizon.atlantis.lan.access.log;
error_log /var/log/nginx/horizon.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:5176;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# moltbook.atlantis.lan → :7202
sudo tee /etc/nginx/sites-available/moltbook.atlantis.lan << 'EOF'
server {
listen 80;
server_name moltbook.atlantis.lan;
access_log /var/log/nginx/moltbook.atlantis.lan.access.log;
error_log /var/log/nginx/moltbook.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:7202;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# grafana.atlantis.lan → :3021
sudo tee /etc/nginx/sites-available/grafana.atlantis.lan << 'EOF'
server {
listen 80;
server_name grafana.atlantis.lan;
access_log /var/log/nginx/grafana.atlantis.lan.access.log;
error_log /var/log/nginx/grafana.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:3021;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# prometheus.atlantis.lan → :9090
sudo tee /etc/nginx/sites-available/prometheus.atlantis.lan << 'EOF'
server {
listen 80;
server_name prometheus.atlantis.lan;
access_log /var/log/nginx/prometheus.atlantis.lan.access.log;
error_log /var/log/nginx/prometheus.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:9090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# ntfy.atlantis.lan → :8080
sudo tee /etc/nginx/sites-available/ntfy.atlantis.lan << 'EOF'
server {
listen 80;
server_name ntfy.atlantis.lan;
access_log /var/log/nginx/ntfy.atlantis.lan.access.log;
error_log /var/log/nginx/ntfy.atlantis.lan.error.log;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
Step 4 — Enable All Sites
# Core Infrastructure
sudo ln -s /etc/nginx/sites-available/forgejo.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/nova.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/n8n.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/ops.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/mkdocs.atlantis.lan /etc/nginx/sites-enabled/
# AI Operations Suite
sudo ln -s /etc/nginx/sites-available/litellm.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/noc.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/radar.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/tailscale.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/council.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/quest.atlantis.lan /etc/nginx/sites-enabled/
# Apps & Tools
sudo ln -s /etc/nginx/sites-available/jobs.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/horizon.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/moltbook.atlantis.lan /etc/nginx/sites-enabled/
# Monitoring
sudo ln -s /etc/nginx/sites-available/grafana.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/prometheus.atlantis.lan /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/ntfy.atlantis.lan /etc/nginx/sites-enabled/
# Test and reload
sudo nginx -t && sudo systemctl reload nginx
TIP: Always run
nginx -tbefore reload. A config syntax error blocks the reload without breaking existing traffic.
Step 5 — Verify
From Windows browser, test each hostname:
# Core
http://forgejo.atlantis.lan
http://nova.atlantis.lan
http://n8n.atlantis.lan
http://ops.atlantis.lan
# AI Ops Suite
http://litellm.atlantis.lan
http://noc.atlantis.lan
http://radar.atlantis.lan
http://tailscale.atlantis.lan
http://council.atlantis.lan
# Apps
http://jobs.atlantis.lan
http://horizon.atlantis.lan
http://moltbook.atlantis.lan
From WSL2, test with curl:
curl -I http://forgejo.atlantis.lan
curl -I http://noc.atlantis.lan
curl -I http://litellm.atlantis.lan
4. Quick Reference
| Task | Command |
|---|---|
| Test nginx config | sudo nginx -t |
| Reload nginx (no drop) | sudo systemctl reload nginx |
| Restart nginx | sudo systemctl restart nginx |
| Check nginx status | sudo systemctl status nginx |
| List enabled sites | ls /etc/nginx/sites-enabled/ |
| Flush DNS (Windows) | ipconfig /flushdns |
| View nginx error log | sudo tail -f /var/log/nginx/error.log |
| View nginx access log | sudo tail -f /var/log/nginx/access.log |
| Disable a site | sudo rm /etc/nginx/sites-enabled/sitename |
| Check port 80 | sudo lsof -i :80 |
5. Post-Rebuild Checklist (INC-004 Context)
Run this checklist any time Trunks receives a Windows repair install or Reset this PC:
[ ] Open Notepad as Administrator
[ ] Re-apply Windows hosts block from Step 1 above
[ ] Run: ipconfig /flushdns (Admin CMD)
[ ] Verify nginx still installed in WSL2: sudo nginx -t
[ ] If nginx was wiped — repeat Steps 2-4
[ ] Verify all PM2 services green: pm2 status
[ ] Verify Docker / WSL2 integration active in Docker Desktop Settings
[ ] Verify LiteLLM Docker container running: docker ps | grep litellm
[ ] Spot-check each .atlantis.lan hostname in browser
6. Notes & Known Limitations
.atlantis.lanhostnames are Trunks-local only — they do not resolve on other LAN machines. For Maranda, use Trunks' Windows IP.- WSL2 nginx runs inside Ubuntu. If Ubuntu is wiped or re-imported, nginx must be reinstalled (Steps 2-4).
horizon.atlantis.lan(port 5176) is local dev only. Production is athorizon.atlantisits.aion Vercel.nova.atlantis.lanhitting port 7100 (nova-router) is intentional. Raw Ollama at 11434 should not be exposed via nginx.- If a service is not running, nginx proxies successfully but returns 502 Bad Gateway. Check
pm2 statusordocker psfirst. nova-blueskyhas no handler yet — expected stub warnings in nova-router logs. Not a blocker.- LiteLLM runs in Docker WSL2. If Docker is not running,
litellm.atlantis.lanwill return 502. Checkdocker ps | grep litellm.
7. Atlantis URL Standard
| Layer | Domain |
|---|---|
| Public — Company | atlantisits.co |
| Public — AI Products | atlantisits.ai |
| Public — Knowledge | atlantisits.info |
| Internal LAN | *.atlantis.lan |
| External Tunnels | *.atlantisits.co (Cloudflare CF Tunnel) |
8. Changelog
| Version | Date | Change |
|---|---|---|
| 1.0 | May 22, 2026 | Initial — Scout + Ozzy. Core infrastructure services. |
| 1.1 | June 10, 2026 | Merged HT-016 (archived). Added V26 AI Ops Suite (LiteLLM, AA-NOC, Repo Radar, Tailscale Radar, Council, Quest). Added monitoring (Grafana, Prometheus, NTFY). Updated Horizon port 3100→5176. Hosts file block ready to paste. INC-004 checklist updated for Docker. |
HT-016 v1.1 · Atlantis ITS · Internal Supersedes HT-016 (archived June 2026) "Ports are for machines. Names are for humans." — Mercy 🔱