Services Overview¶
Omakase includes 25+ containerized services organized by category. Each service is modular and can be enabled/disabled independently.
Service Categories¶
Core Infrastructure¶
Essential services that should always run:
| Service | Purpose | Port |
|---|---|---|
| Traefik | Reverse proxy & SSL | 80, 443 |
| Authelia | SSO authentication | - |
| CrowdSec | IPS & security | - |
| Cetusguard | Docker socket proxy | - |
Management & Monitoring¶
| Service | Purpose | Default URL |
|---|---|---|
| Portainer | Container management UI | portainer.${DOMAINNAME} |
| Homepage | Unified dashboard | home.${DOMAINNAME} |
| Dozzle | Real-time log viewer | dozzle.${DOMAINNAME} |
Databases¶
| Service | Type | Used By |
|---|---|---|
| PostgreSQL | Relational DB | Authelia, Nextcloud, others |
| Redict (Redis) | Key-value store | Authelia, caching |
Backup¶
| Service | Purpose |
|---|---|
| Restic | Encrypted backups |
Enabling Services¶
Services are included via compose.prod.yaml:
include:
- path: compose/traefik/compose.yaml
- path: compose/authelia/compose.yaml
- path: compose/myservice/compose.yaml # Add your service here
To enable a service:
- Add the service's
compose.yamlto the include list - Configure secrets in Infisical
- Redeploy:
make restart
Adding New Services¶
Quick checklist:
- [ ] Create compose/<service>/compose.yaml
- [ ] Configure dedicated vnet-<service> network
- [ ] Add security options (no-new-privileges:true)
- [ ] Configure secrets in Infisical
- [ ] Add Traefik labels if web-accessible
- [ ] Document service in docs/services/<service>.md
- [ ] Test deployment
Service Status¶
To check service status:
# All services
docker compose ps
# Specific service
docker compose ps <service-name>
# Detailed status
docker compose logs -f <service-name>
Resource Usage¶
View real-time resource consumption:
Service Dependencies¶
Some services depend on others:
graph TD
Traefik[Traefik] --> Services[All Web Services]
Authelia[Authelia] --> PostgreSQL[(PostgreSQL)]
Authelia --> Redict[(Redict)]
Services --> Authelia
Services --> CrowdSec[CrowdSec]
Management[Portainer/Homepage] --> Cetusguard[Cetusguard]
Cetusguard --> Docker[Docker Socket]