- Change MediaWiki from port 8084 to 8086 to resolve conflict with TasmoAdmin - Update Traefik loadbalancer port for MediaWiki - Add MediaWiki to ports-in-use.md documentation - TasmoAdmin now uses port 8084, MediaWiki uses port 8086
6.1 KiB
6.1 KiB
Ports in Use
This document tracks all ports used by services in the EZ-Homelab. Update this document whenever services are added or ports are changed.
| Stack | Service | External Port | Internal Port | Protocol | Purpose |
|---|---|---|---|---|---|
| Core | Traefik | 80 | 80 | TCP | HTTP (redirects to HTTPS) |
| Core | Traefik | 443 | 443 | TCP | HTTPS |
| Core | Traefik | 8080 | 8080 | TCP | Dashboard (protected) |
| Infrastructure | Dockge | 5001 | 5001 | TCP | Web UI |
| Infrastructure | Pi-hole | 53 | 53 | TCP/UDP | DNS |
| Infrastructure | Docker Proxy | 127.0.0.1:2375 | 2375 | TCP | Docker API proxy |
| Home Assistant | ESPHome | 6052 | 6052 | TCP | Web UI |
| Home Assistant | TasmoAdmin | 8084 | 80 | TCP | Web UI |
| Home Assistant | MotionEye | 8765 | 8765 | TCP | Web UI |
| Home Assistant | Node-RED | 1880 | 1880 | TCP | Web UI |
| Home Assistant | Mosquitto | 1883 | 1883 | TCP | MQTT |
| Home Assistant | Mosquitto | 9001 | 9001 | TCP | MQTT Websockets |
| Media | Jellyfin | 8096 | 8096 | TCP | Web UI |
| Media | Calibre-Web | 8083 | 8083 | TCP | Web UI |
| Media Management | Sonarr | 8989 | 8989 | TCP | Web UI |
| Media Management | Radarr | 7878 | 7878 | TCP | Web UI |
| Media Management | Prowlarr | 9696 | 9696 | TCP | Web UI |
| Media Management | Readarr | 8787 | 8787 | TCP | Web UI |
| Media Management | Lidarr | 8686 | 8686 | TCP | Web UI |
| Media Management | Lazylibrarian | 5299 | 5299 | TCP | Web UI |
| Media Management | Mylar3 | 8090 | 8090 | TCP | Web UI |
| Media Management | Jellyseerr | 5055 | 5055 | TCP | Web UI |
| Media Management | Unmanic | 8888 | 8888 | TCP | Web UI |
| Media Management | Tdarr Server | 8266 | 8266 | TCP | Web UI |
| Media Management | Tdarr Node | 8267 | 8267 | TCP | Worker port |
| Media Management | Flaresolverr | 8191 | 8191 | TCP | HTTP proxy |
| Monitoring | Prometheus | 9090 | 9090 | TCP | Web UI/Metrics |
| Monitoring | Grafana | 3000 | 3000 | TCP | Web UI |
| Monitoring | cAdvisor | 8082 | 8080 | TCP | Web UI |
| Monitoring | Uptime Kuma | 3001 | 3001 | TCP | Web UI |
| Monitoring | Loki | 3100 | 3100 | TCP | Web UI |
| Monitoring | Node Exporter | 9100 | 9100 | TCP | Metrics |
| Utilities | Backrest | 9898 | 9898 | TCP | Web UI |
| Utilities | Duplicati | 8200 | 8200 | TCP | Web UI |
| Utilities | Form.io | 3002 | 3001 | TCP | Web UI |
| Utilities | Vaultwarden | 80 | 80 | TCP | Internal port |
| VPN | Gluetun | 8888 | 8888 | TCP | HTTP proxy |
| VPN | Gluetun | 8388 | 8388 | TCP/UDP | Shadowsocks |
| VPN | Gluetun | 8081 | 8080 | TCP | qBittorrent Web UI |
| VPN | Gluetun | 6881 | 6881 | TCP/UDP | qBittorrent |
| VPN | qBittorrent | N/A | N/A | N/A | Routed through Gluetun |
| Productivity | DokuWiki | 80 | 80 | TCP | Internal port |
| Productivity | Nextcloud | 80 | 80 | TCP | Internal port |
| Productivity | Gitea | 3010 | 3000 | TCP | Web UI |
| Productivity | MinIO | 9000 | 9000 | TCP | API |
| Productivity | MinIO | 9001 | 9001 | TCP | Web UI |
| Productivity | MediaWiki | 8086 | 80 | TCP | Web UI |
Port Range Reference
| Range | Usage |
|---|---|
| 1-1023 | System ports (well-known) |
| 1024-49151 | Registered ports |
| 49152-65535 | Dynamic/private ports |
Common Port Conflicts
- Port 80: Used by Traefik for HTTP (conflicts with internal services only)
- Port 3000: Used by Grafana
- Port 3001: Used by Uptime Kuma
- Port 8888: Used by Gluetun HTTP proxy
- Port 53: Used by Pi-hole for DNS
- Port 2375: Used by Docker Proxy (localhost only)
- Port 5001: Used by Dockge
- Port 8080: Used by Traefik dashboard
- Port 9090: Used by Prometheus
Adding New Services
When adding new services:
- Check this document for available ports
- Choose ports that don't conflict with existing services
- Update this document with new port mappings
- Consider using Traefik labels instead of direct port exposure for web services
Port Planning Guidelines
- Web services: Use Traefik labels (no direct ports needed)
- Databases: Use internal networking only (no external ports)
- VPN services: Route through Gluetun for security
- Development tools: Consider localhost-only binding (127.0.0.1:port)
- Monitoring: Use high-numbered ports (9000+ range)
Updating This Document
This document should be updated whenever:
- New services are added to any stack
- Existing services change their port mappings
- Services are removed from stacks
- Network configurations change
Run this command to find all port mappings in compose files:
grep -r "ports:" docker-compose/ | grep -v "^#" | sort