Initial commit - NUC server configuration and docs

- CLAUDE.md: Server instructions and service reference
- docs/: Persistent documentation (architecture, guides)
- .artifacts/: Session-generated notes
- playwriter-browser/: Remote browser container config

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-02-01 20:49:20 +00:00
commit 390eda1595
25 changed files with 3664 additions and 0 deletions

151
README.md Normal file
View File

@@ -0,0 +1,151 @@
# NUC Home Server
Personal home server running on Intel NUC at `192.168.1.3`
## Quick Access
| Service | URL | Description |
|---------|-----|-------------|
| **Homepage** | http://192.168.1.3:3000 | Dashboard with all services |
| **Coolify** | http://192.168.1.3:8000 | Service deployment & management |
| **Gitea** | http://192.168.1.3:3030 | Git repository hosting |
| **Outline** | http://192.168.1.3:3080 | Documentation wiki (login via Gitea) |
| **n8n** | http://192.168.1.3:5678 | Workflow automation |
| **Vaultwarden** | http://192.168.1.3:8222 | Password manager (Bitwarden compatible) |
| **Ntfy** | http://192.168.1.3:8333 | Push notifications |
| **Uptime Kuma** | http://192.168.1.3:3001 | Service monitoring |
## SSH Access
```bash
# Connect to the server
ssh nuc
# Or explicitly
ssh alezmad@192.168.1.3
```
Make sure your SSH config includes:
```
Host nuc
HostName 192.168.1.3
User alezmad
IdentityFile ~/.ssh/id_ed25519_nuc
```
## Architecture
```
┌─────────────────────────────────────────────────────────────┐
│ NUC Server │
│ 192.168.1.3 │
├─────────────────────────────────────────────────────────────┤
│ Coolify (PaaS) │
│ ├── Traefik (Reverse Proxy) :80/:443 │
│ ├── Services: │
│ │ ├── Homepage (Dashboard) │
│ │ ├── Gitea (Git + OAuth2 Provider) │
│ │ ├── Outline (Wiki/Docs) │
│ │ ├── n8n (Automation) │
│ │ ├── Vaultwarden (Passwords) │
│ │ ├── Ntfy (Notifications) │
│ │ ├── MinIO (S3 Storage) │
│ │ ├── FileBrowser │
│ │ └── Authentik (Identity - partially configured) │
│ └── Databases (PostgreSQL, Redis per service) │
├─────────────────────────────────────────────────────────────┤
│ Standalone Containers: │
│ ├── Uptime Kuma (Monitoring) │
│ ├── Dozzle (Log Viewer) │
│ ├── Adminer (DB Admin) │
│ └── Kopia (Backups) │
└─────────────────────────────────────────────────────────────┘
```
## Service Details
### Coolify
- **URL:** http://192.168.1.3:8000
- **Purpose:** Self-hosted PaaS for deploying and managing all services
- **Login:** Admin account configured during setup
### Gitea
- **URL:** http://192.168.1.3:3030
- **SSH:** Port 22222
- **Purpose:** Git repository hosting, also serves as OAuth2 provider for Outline
- **Admin:** alezmad
### Outline
- **URL:** http://192.168.1.3:3080
- **Purpose:** Team documentation and wiki
- **Auth:** Login via Gitea (OIDC)
- **Note:** Uses nginx proxy to strip HSTS headers
### n8n
- **URL:** http://192.168.1.3:5678
- **Purpose:** Workflow automation (like Zapier)
- **Runners:** Has dedicated task runners container
### Vaultwarden
- **URL:** http://192.168.1.3:8222
- **Purpose:** Self-hosted Bitwarden-compatible password manager
- **Clients:** Use any Bitwarden client, point to this URL
### Ntfy
- **URL:** http://192.168.1.3:8333
- **Purpose:** Push notifications to mobile/desktop
- **Mobile App:** Available on F-Droid and Play Store
### MinIO
- **Console:** http://192.168.1.3:9001
- **API:** http://192.168.1.3:9000
- **Purpose:** S3-compatible object storage
### Monitoring & Tools
- **Uptime Kuma:** http://192.168.1.3:3001 - Service health monitoring
- **Dozzle:** http://192.168.1.3:9999 - Real-time Docker log viewer
- **Adminer:** http://192.168.1.3:8088 - Database management UI
- **Kopia:** http://192.168.1.3:51515 - Backup management
## Common Tasks
### View Service Logs
```bash
ssh nuc "docker logs <container_name> -f --tail 100"
```
### Restart a Service
```bash
ssh nuc "docker restart <container_name>"
```
### Check All Services
```bash
ssh nuc "docker ps --format 'table {{.Names}}\t{{.Status}}'"
```
### Backup Consideration
- Kopia handles automated backups
- Access at http://192.168.1.3:51515 to manage snapshots
## Troubleshooting
### Service Not Accessible
1. Check if container is running: `ssh nuc "docker ps | grep <service>"`
2. Check logs: `ssh nuc "docker logs <container> --tail 50"`
3. Check port forwarding container if applicable
### After Coolify Redeploy
Containers may be in "Created" state. Start manually:
```bash
ssh nuc "docker start <container_name>"
```
### HTTPS/SSL Issues
Some browsers cache HSTS. Clear at `chrome://net-internals/#hsts`
## Files in This Directory
- `CLAUDE.md` - Instructions for Claude Code AI assistant
- `README.md` - This file (human documentation)
- `.claude/settings.json` - MCP server configuration for Claude Code