106 lines
4.6 KiB
Markdown
106 lines
4.6 KiB
Markdown
# homelab_docker
|
|
|
|
A collection of Docker services for a home lab environment.
|
|
|
|
## Port Matrix
|
|
|
|
| Service | 80 | 81 | 222 | 2283 | 3000 | 5000 | 5540 | 5678 | 6379 | 8001 | 8554 | 8555 | 8971 | 9000 | 9443 | 9999 | 27017 |
|
|
|---------|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|
|
|
| 🔥 Firefly III | ✅ | ✅ | | | | | | | | | | | | | | | |
|
|
| 📹 Frigate | | | | | | ✅ | | | | | ✅ | ✅ | ✅ | | | | |
|
|
| 🐙 Gitea | | | ✅ | | ✅ | | | | | | | | | | | | |
|
|
| 📱 Immich | | | | ✅ | | | | | | | | | | | | | |
|
|
| 🍃 MongoDB | | | | | | | | | | | | | | | | | ✅ |
|
|
| 🔄 n8n | | | | | | | | ✅ | | | | | | | | | |
|
|
| 🐳 Portainer | | | | | | | | | | | | | | ✅ | ✅ | | |
|
|
| 🔴 Redis | | | | | | | ✅ | | ✅ | | | | | | | | |
|
|
| 📊 What's Up Docker | | | | | | | | | | | | | | | | ✅ | |
|
|
| 🗺️ WebMap | | | | | | | | | | ✅ | | | | | | | |
|
|
|
|
## Services
|
|
|
|
### 🔥 Firefly III
|
|
**Ports:** 80 (Core), 81 (Data Importer)
|
|
**Description:** Personal finance manager with budgeting, expense tracking, and financial insights. Includes data import capabilities and automated cron jobs for recurring transactions.
|
|
|
|
### 📹 Frigate
|
|
**Ports:** 8971 (Web UI), 5000 (Internal API), 8554 (RTSP), 8555 (WebRTC)
|
|
**Description:** AI-powered NVR with real-time object detection using USB Coral TPU. Features face recognition, license plate recognition, and motion detection with custom zones.
|
|
**Configuration:** 3 cameras (achtertuin, tuinhuis, carport) via NVR at 192.168.2.26. MQTT integration with Home Assistant for automation. Recording strategy: motion/detection clips retained for 3 days, no continuous recording.
|
|
|
|
### 🐙 Gitea
|
|
**Ports:** 3000 (Web), 222 (SSH)
|
|
**Description:** Self-hosted Git service similar to GitHub/GitLab. Provides repository hosting, issue tracking, and collaboration tools with PostgreSQL backend.
|
|
|
|
### 📱 Immich
|
|
**Ports:** 2283
|
|
**Description:** Self-hosted photo and video backup solution with machine learning capabilities. Features automatic organization, face recognition, and mobile app support.
|
|
**Notes:** Healthcheck uses bash TCP probe on `localhost:2283`. Database is optimized for HDD with `DB_STORAGE_TYPE: 'HDD'`.
|
|
|
|
### 🍃 MongoDB
|
|
**Ports:** 27017
|
|
**Description:** NoSQL database service for applications requiring flexible document storage and high performance data operations.
|
|
|
|
### 🔄 n8n
|
|
**Ports:** 5678
|
|
**Description:** Workflow automation platform that connects different services and APIs. Create automated workflows with a visual interface.
|
|
|
|
### 🐳 Portainer
|
|
**Ports:** 9000, 9443
|
|
**Description:** Web-based Docker management interface for managing containers, images, volumes, and networks through a user-friendly GUI.
|
|
|
|
### 🔴 Redis
|
|
**Ports:** 6379 (Redis), 5540 (RedisInsight)
|
|
**Description:** In-memory data structure store with RedisInsight for database management and monitoring. Used as cache, message broker, and session store.
|
|
|
|
### 📊 What's Up Docker
|
|
**Ports:** 9999
|
|
**Description:** Web-based container update monitoring tool that tracks available updates for Docker containers. Provides a dashboard to view outdated containers and sends notifications via webhooks.
|
|
**Notes:** Webhook configured to send update notifications to external endpoint.
|
|
|
|
### 🗺️ WebMap
|
|
**Ports:** 8001
|
|
**Description:** Network discovery and visualization tool that scans network devices and provides a web interface to view network topology and device information.
|
|
|
|
## Getting Started
|
|
|
|
### Option 1: Single Command (Recommended)
|
|
Start all services with one command:
|
|
|
|
```bash
|
|
# Start all services
|
|
docker-compose up -d
|
|
|
|
# Or use the management script
|
|
./manage.sh start
|
|
```
|
|
|
|
### Option 2: Individual Services
|
|
Each service is contained in its own directory with a `compose.yaml` file:
|
|
|
|
```bash
|
|
cd <service-directory>
|
|
docker-compose up -d
|
|
```
|
|
|
|
### Management Script
|
|
Use the included `manage.sh` script for easy management:
|
|
|
|
```bash
|
|
./manage.sh start # Start all services
|
|
./manage.sh stop # Stop all services
|
|
./manage.sh restart # Restart all services
|
|
./manage.sh status # Show service status
|
|
./manage.sh logs [service] # View logs
|
|
./manage.sh update # Update and restart
|
|
./manage.sh backup # Backup data volumes
|
|
./manage.sh clean # Clean up unused resources
|
|
```
|
|
|
|
## Requirements
|
|
|
|
- Docker and Docker Compose
|
|
- Sufficient storage for data volumes
|
|
- Network access for services that require external connections
|
|
|