Getting Started
This guide covers the essentials for working with the collabrains.eu infrastructure.
Prerequisites
- SSH access to the server
- Basic Docker knowledge
- Hetzner console access (for emergencies)
Login & Access
# SSH into the server
ssh root@collabrains.eu
# Check system status
systemctl status docker
docker ps -a
Essential Commands
View Running Services
# List all containers
docker ps -a
# Check a specific service (example: Immich)
docker ps | grep immich
Monitor System Resources
# Memory and swap usage
free -h
# Disk space
df -h /
# CPU and I/O stats
docker stats
View Service Logs
# Last 50 lines of a service
docker logs SERVICE_NAME --tail 50
# Follow logs in real-time
docker logs SERVICE_NAME -f
# Logs with timestamps
docker logs SERVICE_NAME --tail 50 --timestamps
Restart a Service
# Using docker-compose
cd /data/coolify/services/SERVICE_ID
docker compose restart
# Or restart a specific container
docker restart CONTAINER_NAME
Directory Structure
/data/
├── coolify/ # Coolify configuration
│ ├── services/ # Service docker-compose files
│ │ └── SERVICE_ID/
│ │ ├── docker-compose.yml
│ │ ├── .env
│ │ └── volumes/
│ └── proxy/
│ └── acme.json # SSL certificates
├── monitoring/ # Prometheus + Grafana
├── webhook-receiver/ # GitHub webhook server
├── backups/ # Daily backup files
└── documentation/ # This documentation
First Steps
-
Check System Health
bash docker stats free -h df -h / -
Review Service Status
- Open Coolify: http://localhost:8000
- Check Grafana: https://grafana.collabrains.eu
-
Look for any unhealthy containers
-
Read Service-Specific Docs
- Each service has detailed documentation in the Services section
-
Start with critical services like Authentik or databases
-
Familiarize with Backups
- Automated backups run daily at 2 AM UTC
- Location:
/backups/YYYY-MM-DD/ - See Backups & Recovery for restoration procedures
Key Concepts
Container Orchestration
All services are managed via Docker Compose, not Kubernetes. Services are defined in individual docker-compose.yml files under /data/coolify/services/.
Service Dependencies
Some services depend on others: - n8n requires PostgreSQL + Redis - Grist requires PostgreSQL + Redis - Immich requires PostgreSQL - Authentik requires PostgreSQL
Always check service logs if a dependent service fails.
Networking
- All services communicate via Docker networks
- Each service group (e.g., Paperless) has its own network
- External traffic routes through Traefik reverse proxy
SSL/TLS
- Let's Encrypt certificates managed automatically by Traefik
- Certificates stored in:
/data/coolify/proxy/acme.json - No manual renewal needed
Troubleshooting Basics
| Issue | First Steps |
|---|---|
| Service won't start | Check logs with docker logs SERVICE_NAME, verify dependencies are running |
| Out of disk space | Check /backups, clean old backups if necessary |
| OOM errors | Check free -h, verify swap is available, review docker stats |
| SSL certificate errors | Check Traefik logs, verify domain DNS resolution |
| Redis auth errors | Check service .env files, verify Redis credentials match |
For more detailed troubleshooting, see Troubleshooting.