/homelab

Primary LanguageShell

Docker Services Management

Available Services

  • calibre
  • couchdb
  • hoarder
  • miniflux
  • monitoring/grafana
  • monitoring/influxdb-v2
  • npm (Nginx Proxy Manager)
  • openwebui
  • speedtest

Setup

  1. Create the proxy network:
docker network create proxy
  1. Make sure all scripts are executable:
chmod +x setup.sh scripts/*.sh

Usage

Using Makefile (recommended)

# Start a service
make start SERVICE=<service>

# Stop a service 
make stop SERVICE=<service>

# Restart a service
make restart SERVICE=<service>

# Check service status
make status SERVICE=<service>

# View service logs
make logs SERVICE=<service>

# Backup a service
make backup SERVICE=<service> BACKUP_DEST=/path/to/backup

Using setup.sh directly

# Start a service
./setup.sh <service> start

# Stop a service
./setup.sh <service> stop

# Restart a service
./setup.sh <service> restart

# Check service status
./setup.sh <service> status

# View service logs
./setup.sh <service> logs

# Backup a service
./setup.sh <service> backup /path/to/backup

Examples:

# Start Grafana
./setup.sh monitoring/grafana start

# Stop Calibre
./setup.sh calibre stop

# View all available services
./setup.sh

Backup

To backup all volumes:

./scripts/backup.sh /path/to/backup/destination

Directory Structure

.
├── compose/        # Docker compose files
├── volumes/        # Docker volumes
├── configs/        # Configuration files
├── scripts/        # Management scripts
└── secrets/        # Secret files