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

Start all services with one command:

# 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:

cd <service-directory>
docker-compose up -d

Management Script

Use the included manage.sh script for easy management:

./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
Description
No description provided
Readme 41 KiB
Languages
Shell 100%