Files
homelab/README.md
Arpad Krejczinger f7b5d26eab Reorganize repository structure and add configuration management
- Create organized directory structure:
  - docs/ for all documentation files
  - config/ for deployment configurations and scripts
- Add CLAUDE.md with project architecture and development workflow
- Update README.md with new structure and current status
- Move all documentation to docs/ directory
- Organize Docker and Nginx configurations under config/

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-06 17:24:11 +02:00

72 lines
3.4 KiB
Markdown

# Homelab Setup
## Overview
Setting up a personal homelab using a ThinkPad laptop running Arch Linux to move away from cloud providers like Google.
## Goals
- [x] Linux installation (Arch Linux on ThinkPad)
- [x] SSH remote access (hostname: homelab)
- [x] Dotfiles and development environment setup
- [x] Network domain setup
- [ ] Self-hosted cloud storage (ownCloud/Nextcloud)
- [x] Self-hosted git repository (Gitea/Forgejo/GitLab)
- [ ] Gradual migration from commercial cloud services
## Hardware
- **Main Server**: ThinkPad laptop
- **Development**: Windows PC with WSL (for AI experimentation)
- **Android tablet**: Not good for long-term work but can be useful for short SSH sessions
- Runs Manjaro in a VM, same OS like the laptop
## Inspiration & Resources
- PewDiePie homelab setup video: https://www.youtube.com/watch?v=u_Lxkt50xOg
- Need to collect tips and inspiration from this video
## Current Status
- ✅ Arch Linux installed on ThinkPad
- ✅ SSH access configured (accessible as `homelab`)
- ✅ Dotfiles management with yadm configured and merged
- ✅ Development environment setup completed
- ✅ Network domain setup (DuckDNS + Nginx reverse proxy)
- ✅ Gitea Git server running (Docker container)
- Next: SSL certificates, additional self-hosted services
## Documentation Structure
### Quick Start Guide
1. **System Setup**: Follow [docs/system-setup.md](docs/system-setup.md) for Arch installation and configuration
2. **Network Security**: Configure SSH, DNS, and VPN using [docs/network-security.md](docs/network-security.md)
3. **Services**: Plan and deploy applications from [docs/services.md](docs/services.md)
4. **Tasks**: Track progress in [TODO.md](TODO.md)
5. **Issues**: Find solutions in [docs/troubleshooting.md](docs/troubleshooting.md)
### Repository Structure
```
homelab/
├── README.md # This overview
├── TODO.md # Task tracking
├── docs/ # Detailed documentation
│ ├── system-setup.md # Arch Linux installation & config
│ ├── network-security.md # SSH, DNS, VPN, firewall
│ ├── services.md # Self-hosted services
│ └── troubleshooting.md # Solutions & fixes
└── config/ # Configurations & scripts
├── docker/gitea/ # Gitea container setup
├── nginx/ # Reverse proxy configs
└── scripts/ # Utility scripts
```
### Documentation Files
- **[docs/system-setup.md](docs/system-setup.md)** - Complete Arch Linux installation, TTY config, desktop setup
- **[docs/network-security.md](docs/network-security.md)** - SSH hardening, DuckDNS, WireGuard VPN, firewall setup
- **[docs/services.md](docs/services.md)** - Self-hosted services: Git hosting, cloud storage, media server
- **[TODO.md](TODO.md)** - Centralized task list with progress tracking by category
- **[docs/troubleshooting.md](docs/troubleshooting.md)** - Hardware issues, software problems, and solutions
### Current Configuration
- **System**: Arch Linux with XFCE desktop, ter-124b TTY font, Colemak layout
- **Network**: Static IP (192.168.0.100), SSH port 2222, DuckDNS (ak-homelab.duckdns.org)
- **Services**: Nginx reverse proxy, Gitea Git server (Docker)
- **Security**: SSH hardened, firewall planned, SSL certificates pending
- **Development**: yadm dotfiles, tmux with temperature monitoring, zsh with proper history