Document current homelab state
This commit is contained in:
commit
a1a74f30ba
53
README.md
Normal file
53
README.md
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# Homelab Current State
|
||||
|
||||
## Description
|
||||
|
||||
This repository documents the current known state of the homelab.
|
||||
|
||||
The documentation is based only on stated facts. Missing details are recorded as unknowns and need clarification.
|
||||
|
||||
## Current configuration
|
||||
|
||||
- Main server hardware: Raspberry Pi 5
|
||||
- Core stack:
|
||||
- Docker
|
||||
- Portainer
|
||||
- Nginx Proxy Manager
|
||||
- Network position: behind NAT
|
||||
- Public access path: Nginx Proxy Manager with HTTPS using Let's Encrypt
|
||||
- Private access path: Tailscale
|
||||
- Known port forwarding:
|
||||
- External ports `80-81` forward to internal ports `4480-4481`
|
||||
- External port `443` forwards to internal port `4443`
|
||||
|
||||
## Documentation index
|
||||
|
||||
- [Hardware](docs/hardware.md)
|
||||
- [Core stack](docs/core-stack.md)
|
||||
- [Networking](docs/networking.md)
|
||||
- [Access](docs/access.md)
|
||||
- [Services](docs/services.md)
|
||||
- [Unknowns and clarification questions](docs/questions.md)
|
||||
|
||||
## Known facts
|
||||
|
||||
- The homelab has one known main server: Raspberry Pi 5.
|
||||
- Docker is part of the current stack.
|
||||
- Portainer is part of the current stack.
|
||||
- Nginx Proxy Manager is part of the current stack.
|
||||
- The homelab is behind NAT.
|
||||
- Public services are exposed through Nginx Proxy Manager with HTTPS certificates from Let's Encrypt.
|
||||
- Private access is provided through Tailscale.
|
||||
|
||||
## Unknown / needs clarification
|
||||
|
||||
- Operating system and version on the Raspberry Pi 5.
|
||||
- Storage layout and attached disks.
|
||||
- Network interface configuration.
|
||||
- LAN IP addresses.
|
||||
- Public domain names.
|
||||
- List of all running containers.
|
||||
- Exact Nginx Proxy Manager proxy host configuration.
|
||||
- Tailscale tailnet, device name, and subnet/exit-node configuration if any.
|
||||
- Backup configuration.
|
||||
- Monitoring and alerting configuration.
|
||||
34
docs/access.md
Normal file
34
docs/access.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# Access
|
||||
|
||||
## Description
|
||||
|
||||
This page documents the currently known access methods for the homelab.
|
||||
|
||||
## Current configuration
|
||||
|
||||
- Public services are accessed through Nginx Proxy Manager.
|
||||
- Public HTTPS certificates are issued using Let's Encrypt.
|
||||
- Private access is provided through Tailscale.
|
||||
|
||||
## Known facts
|
||||
|
||||
- Nginx Proxy Manager is the public reverse proxy.
|
||||
- HTTPS is used for public services.
|
||||
- Let's Encrypt is used for public TLS certificates.
|
||||
- Tailscale is used for private access.
|
||||
|
||||
## Unknown / needs clarification
|
||||
|
||||
- Public domain names and subdomains.
|
||||
- Which services are public.
|
||||
- Which services are private-only.
|
||||
- Nginx Proxy Manager proxy hosts.
|
||||
- Nginx Proxy Manager SSL certificate settings.
|
||||
- Whether HTTP-to-HTTPS redirection is enabled.
|
||||
- Whether Nginx Proxy Manager access lists are used.
|
||||
- Tailscale device name for the Raspberry Pi 5.
|
||||
- Whether Tailscale SSH is enabled.
|
||||
- Whether the Raspberry Pi 5 advertises subnet routes.
|
||||
- Whether the Raspberry Pi 5 is an exit node.
|
||||
- User accounts or groups with access through Tailscale.
|
||||
- Local administrator access method for the Raspberry Pi 5.
|
||||
32
docs/core-stack.md
Normal file
32
docs/core-stack.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Core Stack
|
||||
|
||||
## Description
|
||||
|
||||
This page documents the known core software stack running in the homelab.
|
||||
|
||||
## Current configuration
|
||||
|
||||
- Docker
|
||||
- Portainer
|
||||
- Nginx Proxy Manager
|
||||
|
||||
## Known facts
|
||||
|
||||
- Docker is used as part of the core stack.
|
||||
- Portainer is used as part of the core stack.
|
||||
- Nginx Proxy Manager is used as part of the core stack.
|
||||
|
||||
## Unknown / needs clarification
|
||||
|
||||
- Docker version.
|
||||
- Docker installation method.
|
||||
- Whether Docker Compose is used.
|
||||
- Location of Compose files, stack files, or deployment manifests.
|
||||
- Portainer deployment method.
|
||||
- Portainer exposed URL or access method.
|
||||
- Nginx Proxy Manager deployment method.
|
||||
- Nginx Proxy Manager exposed URL or access method.
|
||||
- Container restart policies.
|
||||
- Container network names and topology.
|
||||
- Persistent volume locations.
|
||||
- Backup method for Portainer and Nginx Proxy Manager data.
|
||||
24
docs/hardware.md
Normal file
24
docs/hardware.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Hardware
|
||||
|
||||
## Description
|
||||
|
||||
This page documents the currently known physical hardware for the homelab.
|
||||
|
||||
## Current configuration
|
||||
|
||||
- Main server: Raspberry Pi 5
|
||||
|
||||
## Known facts
|
||||
|
||||
- The Raspberry Pi 5 is the main server.
|
||||
|
||||
## Unknown / needs clarification
|
||||
|
||||
- Raspberry Pi 5 RAM size.
|
||||
- Raspberry Pi 5 operating system boot media.
|
||||
- Storage devices attached to the Raspberry Pi 5.
|
||||
- Power supply model or rating.
|
||||
- Case, cooling, fan, or heatsink details.
|
||||
- UPS presence or absence.
|
||||
- Network connection type: Ethernet or Wi-Fi.
|
||||
- Physical location of the server.
|
||||
35
docs/networking.md
Normal file
35
docs/networking.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Networking
|
||||
|
||||
## Description
|
||||
|
||||
This page documents the current known network position and port forwarding for the homelab.
|
||||
|
||||
## Current configuration
|
||||
|
||||
- The homelab is behind NAT.
|
||||
- Port forwarding is configured as follows:
|
||||
- External ports `80-81` forward to internal ports `4480-4481`
|
||||
- External port `443` forwards to internal port `4443`
|
||||
|
||||
## Known facts
|
||||
|
||||
- NAT is present between the public internet and the homelab.
|
||||
- Public HTTP/HTTPS traffic reaches the homelab through forwarded ports.
|
||||
- External ports `80`, `81`, and `443` are known to be forwarded.
|
||||
- Internal ports `4480`, `4481`, and `4443` are known forwarding targets.
|
||||
|
||||
## Unknown / needs clarification
|
||||
|
||||
- Router or firewall model.
|
||||
- Whether the WAN IP is static, dynamic, or CGNAT.
|
||||
- Internal IP address of the Raspberry Pi 5.
|
||||
- Whether the Raspberry Pi 5 uses DHCP or static addressing.
|
||||
- Exact mapping for external ports `80-81` to internal ports `4480-4481`:
|
||||
- Whether `80` maps to `4480`.
|
||||
- Whether `81` maps to `4481`.
|
||||
- Protocols forwarded for each port: TCP, UDP, or both.
|
||||
- Whether any other ports are forwarded.
|
||||
- LAN subnet and gateway.
|
||||
- DNS provider and DNS records.
|
||||
- IPv6 availability or absence.
|
||||
- Firewall rules on the Raspberry Pi 5.
|
||||
50
docs/questions.md
Normal file
50
docs/questions.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# Unknowns and Clarification Questions
|
||||
|
||||
## Description
|
||||
|
||||
This page lists information that is missing or unclear from the current homelab documentation.
|
||||
|
||||
## Current configuration
|
||||
|
||||
The currently documented configuration is limited to:
|
||||
|
||||
- Raspberry Pi 5 as the main server.
|
||||
- Docker, Portainer, and Nginx Proxy Manager as the core stack.
|
||||
- NAT with forwarded ports:
|
||||
- `80-81` to `4480-4481`
|
||||
- `443` to `4443`
|
||||
- Public access through Nginx Proxy Manager with Let's Encrypt HTTPS.
|
||||
- Private access through Tailscale.
|
||||
|
||||
## Known facts
|
||||
|
||||
- The homelab is documented only from the known facts above.
|
||||
- Anything not listed as known remains unconfirmed.
|
||||
|
||||
## Unknown / needs clarification
|
||||
|
||||
1. What operating system and version is running on the Raspberry Pi 5?
|
||||
2. What is the Raspberry Pi 5 RAM size?
|
||||
3. What storage devices are used, and where is persistent service data stored?
|
||||
4. What is the Raspberry Pi 5 LAN IP address?
|
||||
5. Is the Raspberry Pi 5 using DHCP or a static IP address?
|
||||
6. What router or firewall performs NAT and port forwarding?
|
||||
7. Is the WAN IP static, dynamic, or behind CGNAT?
|
||||
8. Does external port `80` map to internal port `4480`, and does external port `81` map to internal port `4481`?
|
||||
9. Are the forwarded ports TCP only, UDP only, or both?
|
||||
10. Are any other ports forwarded?
|
||||
11. What domain names or subdomains point to the homelab?
|
||||
12. What are the Nginx Proxy Manager proxy hosts?
|
||||
13. Which services are public, and which are private-only?
|
||||
14. Is HTTP-to-HTTPS redirection enabled in Nginx Proxy Manager?
|
||||
15. Are Nginx Proxy Manager access lists used?
|
||||
16. How are Docker, Portainer, and Nginx Proxy Manager deployed?
|
||||
17. Are Docker Compose files, Portainer stacks, or other manifests available?
|
||||
18. What containers are currently running?
|
||||
19. What Docker networks and volumes exist?
|
||||
20. What is the Tailscale device name for the Raspberry Pi 5?
|
||||
21. Does the Raspberry Pi 5 advertise Tailscale subnet routes?
|
||||
22. Is the Raspberry Pi 5 configured as a Tailscale exit node?
|
||||
23. Is Tailscale SSH enabled?
|
||||
24. What backup system exists, if any?
|
||||
25. What monitoring or alerting exists, if any?
|
||||
40
docs/services.md
Normal file
40
docs/services.md
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# Services
|
||||
|
||||
## Description
|
||||
|
||||
This page documents the currently known services in the homelab.
|
||||
|
||||
## Current configuration
|
||||
|
||||
Known services:
|
||||
|
||||
- Portainer
|
||||
- Nginx Proxy Manager
|
||||
|
||||
Known supporting platform:
|
||||
|
||||
- Docker
|
||||
|
||||
## Known facts
|
||||
|
||||
- Portainer is present in the homelab.
|
||||
- Nginx Proxy Manager is present in the homelab.
|
||||
- Public services are exposed through Nginx Proxy Manager using HTTPS.
|
||||
- Private access is available through Tailscale.
|
||||
|
||||
## Unknown / needs clarification
|
||||
|
||||
- Full list of running services and containers.
|
||||
- Service names.
|
||||
- Service purposes.
|
||||
- Public or private exposure for each service.
|
||||
- Internal ports for each service.
|
||||
- External domains for each public service.
|
||||
- Docker image names and versions.
|
||||
- Data volume paths.
|
||||
- Environment variables and secrets handling.
|
||||
- Service dependencies.
|
||||
- Restart policies.
|
||||
- Health checks.
|
||||
- Backup coverage for each service.
|
||||
- Restore process for each service.
|
||||
Loading…
Reference in a new issue