Sanitized mirror from private repository - 2026-03-20 09:03:20 UTC
Some checks failed
Documentation / Build Docusaurus (push) Failing after 5m1s
Documentation / Deploy to GitHub Pages (push) Has been skipped

This commit is contained in:
Gitea Mirror Bot
2026-03-20 09:03:20 +00:00
commit 851e2132ce
1230 changed files with 305737 additions and 0 deletions

View File

@@ -0,0 +1,212 @@
# 📚 Individual Service Documentation Index
This directory contains detailed documentation for all 159 services in the homelab.
## 📋 Services by Category
### Ai (1 services)
- 🟢 **[ollama](ollama.md)** - guava
### Communication (10 services)
- 🟢 **[element-web](element-web.md)** - anubis
- 🟡 **[jicofo](jicofo.md)** - Atlantis
- 🟡 **[jvb](jvb.md)** - Atlantis
- 🔴 **[mastodon](mastodon.md)** - Atlantis
- 🔴 **[mastodon-db](mastodon-db.md)** - Atlantis
- 🔴 **[mastodon-redis](mastodon-redis.md)** - Atlantis
- 🟡 **[mattermost](mattermost.md)** - homelab_vm
- 🟡 **[mattermost-db](mattermost-db.md)** - homelab_vm
- 🟢 **[prosody](prosody.md)** - Atlantis
- 🟢 **[signal-cli-rest-api](signal-cli-rest-api.md)** - homelab_vm
### Development (4 services)
- 🟢 **[companion](companion.md)** - concord_nuc
- 🟢 **[inv_sig_helper](inv-sig-helper.md)** - concord_nuc
- 🟡 **[invidious](invidious.md)** - concord_nuc
- 🟢 **[redlib](redlib.md)** - Atlantis
### Gaming (1 services)
- 🟢 **[satisfactory-server](satisfactory-server.md)** - homelab_vm
### Media (20 services)
- 🟢 **[bazarr](bazarr.md)** - Calypso
- 🟢 **[calibre-web](calibre-web.md)** - Atlantis
- 🟡 **[database](database.md)** - raspberry-pi-5-vish
- 🟡 **[immich-db](immich-db.md)** - Calypso
- 🟡 **[immich-machine-learning](immich-machine-learning.md)** - Calypso
- 🟡 **[immich-redis](immich-redis.md)** - Calypso
- 🟡 **[immich-server](immich-server.md)** - raspberry-pi-5-vish
- 🟢 **[jackett](jackett.md)** - Atlantis
- 🟡 **[jellyfin](jellyfin.md)** - Chicago_vm
- 🟢 **[lidarr](lidarr.md)** - Calypso
- 🟢 **[linuxserver-prowlarr](linuxserver-prowlarr.md)** - Calypso
- 🟢 **[navidrome](navidrome.md)** - Bulgaria_vm
- 🟡 **[photoprism](photoprism.md)** - anubis
- 🟢 **[plex](plex.md)** - Calypso
- 🟢 **[prowlarr](prowlarr.md)** - Calypso
- 🟢 **[radarr](radarr.md)** - Calypso
- 🟢 **[readarr](readarr.md)** - Calypso
- 🟢 **[sabnzbd](sabnzbd.md)** - Calypso
- 🟢 **[sonarr](sonarr.md)** - Calypso
- 🟢 **[tautulli](tautulli.md)** - Calypso
### Monitoring (7 services)
- 🟢 **[blackbox-exporter](blackbox-exporter.md)** - setillo
- 🟡 **[cadvisor](cadvisor.md)** - setillo
- 🟡 **[grafana](grafana.md)** - homelab_vm
- 🟢 **[node-exporter](node-exporter.md)** - setillo
- 🟢 **[node_exporter](node-exporter.md)** - homelab_vm
- 🟡 **[prometheus](prometheus.md)** - setillo
- 🟢 **[uptime-kuma](uptime-kuma.md)** - Atlantis
### Networking (6 services)
- 🟡 **[app](app.md)** - Bulgaria_vm
- 🟡 **[apt-repo](apt-repo.md)** - Atlantis
- 🟡 **[materialious](materialious.md)** - concord_nuc
- 🟡 **[nginx](nginx.md)** - guava
- 🟡 **[nginx_proxy_manager](nginx-proxy-manager.md)** - Atlantis
- 🟢 **[sonic](sonic.md)** - homelab_vm
### Other (93 services)
- 🟢 **[api](api.md)** - Atlantis
- 🟢 **[apt-cacher-ng](apt-cacher-ng.md)** - Calypso
- 🟢 **[archivebox](archivebox.md)** - homelab_vm
- 🟢 **[archivebox_scheduler](archivebox-scheduler.md)** - homelab_vm
- 🟢 **[baikal](baikal.md)** - Atlantis
- 🟢 **[bg-helper](bg-helper.md)** - concord_nuc
- 🟢 **[binternet](binternet.md)** - homelab_vm
- 🟢 **[chrome](chrome.md)** - homelab_vm
- 🟢 **[cloudlfare-dns-updater](cloudlfare-dns-updater.md)** - things_to_try
- 🟢 **[cocalc](cocalc.md)** - guava
- 🟡 **[coturn](coturn.md)** - Atlantis
- 🟡 **[cron](cron.md)** - Calypso
- 🟢 **[dashdot](dashdot.md)** - homelab_vm
- 🟢 **[ddns-crista-love](ddns-crista-love.md)** - guava
- 🟢 **[ddns-thevish-proxied](ddns-thevish-proxied.md)** - Calypso
- 🟢 **[ddns-thevish-unproxied](ddns-thevish-unproxied.md)** - Calypso
- 🟢 **[ddns-updater](ddns-updater.md)** - homelab_vm
- 🟢 **[ddns-vish-13340](ddns-vish-13340.md)** - concord_nuc
- 🟢 **[ddns-vish-proxied](ddns-vish-proxied.md)** - Calypso
- 🟢 **[ddns-vish-unproxied](ddns-vish-unproxied.md)** - Calypso
- 🟢 **[deiucanta](deiucanta.md)** - anubis
- 🟢 **[dockpeek](dockpeek.md)** - Atlantis
- 🟡 **[documenso](documenso.md)** - Atlantis
- 🟢 **[dozzle](dozzle.md)** - Atlantis
- 🟢 **[drawio](drawio.md)** - homelab_vm
- 🟢 **[droppy](droppy.md)** - Bulgaria_vm
- 🟢 **[fasten](fasten.md)** - guava
- 🟢 **[fenrus](fenrus.md)** - guava
- 🟢 **[firefly-db](firefly-db.md)** - Atlantis
- 🟢 **[firefly-db-backup](firefly-db-backup.md)** - Atlantis
- 🟢 **[flaresolverr](flaresolverr.md)** - Calypso
- 🟢 **[front](front.md)** - Atlantis
- 🟢 **[gotenberg](gotenberg.md)** - Atlantis
- 🟢 **[gotify](gotify.md)** - homelab_vm
- 🟢 **[homeassistant](homeassistant.md)** - concord_nuc
- 🟡 **[hyperpipe-back](hyperpipe-back.md)** - Atlantis
- 🟡 **[hyperpipe-front](hyperpipe-front.md)** - Atlantis
- 🟢 **[invidious-db](invidious-db.md)** - concord_nuc
- 🟢 **[iperf3](iperf3.md)** - Calypso
- 🟢 **[it-tools](it-tools.md)** - Atlantis
- 🟢 **[jdownloader-2](jdownloader-2.md)** - Chicago_vm
- 🟢 **[jellyseerr](jellyseerr.md)** - Calypso
- 🟢 **[libreddit](libreddit.md)** - homelab_vm
- 🟢 **[linuxgsm-l4d2](linuxgsm-l4d2.md)** - homelab_vm
- 🟢 **[linuxgsm-pmc-bind](linuxgsm-pmc-bind.md)** - homelab_vm
- 🟢 **[matrix-conduit](matrix-conduit.md)** - anubis
- 🟢 **[matter-server](matter-server.md)** - concord_nuc
- 🟢 **[meilisearch](meilisearch.md)** - homelab_vm
- 🟢 **[metube](metube.md)** - Bulgaria_vm
- 🟢 **[mongo](mongo.md)** - concord_nuc
- 🟢 **[neko-rooms](neko-rooms.md)** - Chicago_vm
- 🟡 **[netbox](netbox.md)** - Atlantis
- 🟢 **[netbox-db](netbox-db.md)** - Atlantis
- 🟢 **[ntfy](ntfy.md)** - homelab_vm
- 🟡 **[openproject](openproject.md)** - homelab_vm
- 🟡 **[openwebui](openwebui.md)** - guava
- 🟢 **[pi.alert](pi.alert.md)** - anubis
- 🟡 **[piped](piped.md)** - concord_nuc
- 🟡 **[piped-back](piped-back.md)** - Atlantis
- 🟡 **[piped-front](piped-front.md)** - Atlantis
- 🟡 **[piped-frontend](piped-frontend.md)** - concord_nuc
- 🟢 **[piped-proxy](piped-proxy.md)** - concord_nuc
- 🟢 **[podgrab](podgrab.md)** - homelab_vm
- 🟢 **[postgres](postgres.md)** - concord_nuc
- 🟢 **[protonmail-bridge](protonmail-bridge.md)** - homelab_vm
- 🟡 **[proxitok](proxitok.md)** - anubis
- 🟢 **[rainloop](rainloop.md)** - Bulgaria_vm
- 🟡 **[resume](resume.md)** - Calypso
- 🟡 **[romm](romm.md)** - homelab_vm
- 🟢 **[roundcube](roundcube.md)** - homelab_vm
- 🟡 **[roundcube-protonmail](roundcube-protonmail.md)** - homelab_vm
- 🟡 **[server](server.md)** - concord_nuc
- 🟡 **[shlink](shlink.md)** - homelab_vm
- 🟢 **[shlink-db](shlink-db.md)** - homelab_vm
- 🟡 **[shlink-web](shlink-web.md)** - homelab_vm
- 🟢 **[signer](signer.md)** - anubis
- 🟢 **[snmp-exporter](snmp-exporter.md)** - setillo
- 🟢 **[speedtest-exporter](speedtest-exporter.md)** - setillo
- 🟡 **[stirling-pdf](stirling-pdf.md)** - Atlantis
- 🟡 **[synapse](synapse.md)** - Chicago_vm
- 🟢 **[synapse-db](synapse-db.md)** - Chicago_vm
- 🟢 **[termix](termix.md)** - Atlantis
- 🟢 **[watchtower](watchtower.md)** - concord_nuc
- 🟢 **[watchyourlan](watchyourlan.md)** - homelab_vm
- 🟢 **[web](web.md)** - homelab_vm
- 🟢 **[webcheck](webcheck.md)** - homelab_vm
- 🟢 **[webcord](webcord.md)** - homelab_vm
- 🟡 **[webui](webui.md)** - contabo_vm
- 🟢 **[wg-easy](wg-easy.md)** - concord_nuc
- 🟢 **[wgeasy](wgeasy.md)** - Calypso
- 🟢 **[whisparr](whisparr.md)** - Calypso
- 🟢 **[wizarr](wizarr.md)** - Atlantis
- 🟡 **[youtube_downloader](youtube-downloader.md)** - Atlantis
### Productivity (8 services)
- 🟢 **[actual_server](actual-server.md)** - Calypso
- 🟡 **[dokuwiki](dokuwiki.md)** - Atlantis
- 🟡 **[firefly](firefly.md)** - Calypso
- 🟡 **[importer](importer.md)** - Calypso
- 🟡 **[seafile](seafile.md)** - Calypso
- 🟢 **[syncthing](syncthing.md)** - homelab_vm
- 🟡 **[tika](tika.md)** - Atlantis
- 🟡 **[webserver](webserver.md)** - Atlantis
### Security (3 services)
- 🟡 **[adguard](adguard.md)** - setillo
- 🟡 **[pihole](pihole.md)** - Atlantis
- 🔴 **[vaultwarden](vaultwarden.md)** - Atlantis
### Storage (6 services)
- 🟢 **[cache](cache.md)** - Calypso
- 🟢 **[db](db.md)** - homelab_vm
- 🟢 **[firefly-redis](firefly-redis.md)** - Atlantis
- 🟢 **[minio](minio.md)** - Calypso
- 🟢 **[netbox-redis](netbox-redis.md)** - Atlantis
- 🟢 **[redis](redis.md)** - raspberry-pi-5-vish
## 📊 Statistics
- **Total Services**: 159
- **Categories**: 11
- **Hosts**: 12
## 🔍 Quick Search
Use your browser's search function (Ctrl+F / Cmd+F) to quickly find specific services.
---
*This index is auto-generated. Last updated: 2025-11-17*

View File

@@ -0,0 +1,190 @@
# Actual Server
**🟢 Productivity Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | Actual Budget |
| **Host** | Calypso |
| **Category** | Productivity / Finance |
| **Difficulty** | 🟢 |
| **Docker Image** | `actualbudget/actual-server:latest` |
| **Compose File** | `hosts/synology/calypso/actualbudget.yml` |
| **External URL** | `https://actual.vish.gg` |
## 🎯 Purpose
Actual Budget is a local-first personal finance and budgeting application. It supports envelope budgeting, transaction tracking, and syncing across devices.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f actual_server
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Actual
healthcheck:
interval: 10s
retries: 3
start_period: 90s
test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/5006' || exit 1
timeout: 5s
image: actualbudget/actual-server:latest
ports:
- 8304:5006
restart: on-failure:5
security_opt:
- no-new-privileges:true
volumes:
- /volume1/docker/actual:/data:rw
```
### SSO / Authentik Integration
| Setting | Value |
|---------|-------|
| **Authentik App Slug** | `actual-budget` |
| **Authentik Provider PK** | `21` |
| **Discovery URL** | `https://sso.vish.gg/application/o/actual-budget/.well-known/openid-configuration` |
| **Redirect URI** | `https://actual.vish.gg/openid/callback` |
| **User Creation** | `ACTUAL_USER_CREATION_MODE=login` (auto-creates on first SSO login) |
### Environment Variables
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8304 | 5006 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/actual` | `/data` | bind | Application data |
## 🌐 Access Information
Service ports: 8304:5006
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `timeout 10s bash -c ':> /dev/tcp/127.0.0.1/5006' || exit 1`
**Check Interval**: 10s
**Timeout**: 5s
**Retries**: 3
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f actual_server
# Restart service
docker-compose restart actual_server
# Update service
docker-compose pull actual_server
docker-compose up -d actual_server
# Access service shell
docker-compose exec actual_server /bin/bash
# or
docker-compose exec actual_server /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for actual_server
- **Docker Hub**: [actualbudget/actual-server:latest](https://hub.docker.com/r/actualbudget/actual-server:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD actual_server:
- Nextcloud
- Paperless-NGX
- BookStack
- Syncthing
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2026-03-16
**Configuration Source**: `hosts/synology/calypso/actualbudget.yml`

View File

@@ -0,0 +1,185 @@
# Adguard
**🟡 Security Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | adguard |
| **Host** | setillo |
| **Category** | Security |
| **Difficulty** | 🟡 |
| **Docker Image** | `adguard/adguardhome` |
| **Compose File** | `setillo/adguard/adguard-stack.yaml` |
| **Directory** | `setillo/adguard` |
## 🎯 Purpose
AdGuard Home is a network-wide software for blocking ads & tracking.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (setillo)
### Deployment
```bash
# Navigate to service directory
cd setillo/adguard
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f adguard
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: adguard
environment:
- TZ=America/Phoenix
image: adguard/adguardhome
network_mode: host
restart: always
volumes:
- /volume1/docker/adguard/config:/opt/adguardhome/conf
- /volume1/docker/adguard/data:/opt/adguardhome/work
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Phoenix` | Timezone setting |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/adguard/config` | `/opt/adguardhome/conf` | bind | Data storage |
| `/volume1/docker/adguard/data` | `/opt/adguardhome/work` | bind | Data storage |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Authentication issues**
- Verify credentials are correct
- Check LDAP/SSO configuration
- Review authentication logs
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f adguard
# Restart service
docker-compose restart adguard
# Update service
docker-compose pull adguard
docker-compose up -d adguard
# Access service shell
docker-compose exec adguard /bin/bash
# or
docker-compose exec adguard /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for adguard
- **Docker Hub**: [adguard/adguardhome](https://hub.docker.com/r/adguard/adguardhome)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD adguard:
- Vaultwarden
- Authelia
- Pi-hole
- WireGuard
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `setillo/adguard/adguard-stack.yaml`

View File

@@ -0,0 +1,113 @@
# AnythingLLM
**Local RAG Document Assistant**
## Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | anythingllm |
| **Host** | atlantis |
| **Category** | AI |
| **Docker Image** | `mintplexlabs/anythingllm:latest` |
| **Compose File** | `hosts/synology/atlantis/anythingllm/docker-compose.yml` |
| **Port** | 3101 |
| **URL** | `http://192.168.0.200:3101` |
## Purpose
AnythingLLM is a self-hosted, local-first document assistant powered by RAG (Retrieval-Augmented Generation). It indexes documents into a vector database, then uses a local LLM to answer questions with context from those documents.
Primary use cases:
- Semantic search across all Paperless-NGX documents (355 docs as of 2026-03-15)
- Natural language Q&A over document library ("find my 2024 property tax assessment")
- Document summarization ("summarize my medical records")
## Architecture
```
AnythingLLM (atlantis:3101)
├── Embedder: built-in all-MiniLM-L6-v2 (CPU, runs locally)
├── Vector DB: built-in LanceDB (no external service)
├── LLM: Olares qwen3-coder:latest (30B, RTX 5090)
│ └── Endpoint: https://a5be22681.vishinator.olares.com/v1
└── Documents: Paperless-NGX archive (mounted read-only)
```
## Configuration
Configuration is done through the web UI on first launch at `http://192.168.0.200:3101`.
### LLM Provider Setup
| Setting | Value |
|---------|-------|
| **Provider** | Generic OpenAI |
| **Base URL** | `https://a5be22681.vishinator.olares.com/v1` |
| **Model** | `qwen3-coder:latest` |
| **Token Limit** | 65536 |
| **API Key** | (leave blank or any string — Olares auth is bypassed for this endpoint) |
### Embedding Setup
| Setting | Value |
|---------|-------|
| **Provider** | AnythingLLM (built-in) |
| **Model** | all-MiniLM-L6-v2 |
No external embedding service needed. Runs on CPU inside the container.
### Vector Database
| Setting | Value |
|---------|-------|
| **Provider** | LanceDB (built-in) |
No external vector DB service needed. Data stored in the container volume.
## Volumes
| Container Path | Host Path | Purpose |
|----------------|-----------|---------|
| `/app/server/storage` | `/volume2/metadata/docker/anythingllm/storage` | Config, vector DB, user data |
| `/documents/paperless-archive` | `/volume1/archive/paperless/backup_2026-03-15/media/documents/archive` | OCR'd Paperless PDFs (read-only) |
| `/documents/paperless-originals` | `/volume1/archive/paperless/backup_2026-03-15/media/documents/originals` | Original Paperless uploads (read-only) |
## Document Import
After initial setup via the UI:
1. Create a workspace (e.g., "Documents")
2. Open the workspace, click the upload/document icon
3. Browse to `/documents/paperless-archive` — these are OCR'd PDFs with searchable text
4. Select all files and embed them into the workspace
5. AnythingLLM will chunk, embed, and index all documents
The archive directory contains 339 OCR'd PDFs; originals has 355 files (includes non-PDF formats that Tika processed).
## Paperless-NGX Backup
The documents served to AnythingLLM come from a Paperless-NGX backup taken 2026-03-15:
| Property | Value |
|----------|-------|
| **Source** | calypso `/volume1/docker/paperlessngx/` |
| **Destination** | atlantis `/volume1/archive/paperless/backup_2026-03-15/` |
| **Size** | 1.6 GB |
| **Documents** | 355 total (339 with OCR archive) |
| **Previous backup** | `/volume1/archive/paperless/paperless_backup_2025-12-03.tar.gz` |
## Dependencies
- **Olares** must be running with qwen3-coder loaded (the only model on that box)
- Olares endpoint must be accessible from atlantis LAN (192.168.0.145)
- No dependency on atlantis Ollama (stopped — not needed)
## Troubleshooting
| Issue | Cause | Fix |
|-------|-------|-----|
| LLM responses fail | Olares qwen3-coder not running | Check: `ssh olares "sudo kubectl get pods -n ollamaserver-shared"` and scale up if needed |
| Slow embedding | Expected on CPU (Ryzen V1780B) | Initial 355-doc ingestion may take a while; subsequent queries are fast |
| Empty search results | Documents not yet embedded | Check workspace → documents tab, ensure files are uploaded and embedded |
| 502 from Olares endpoint | Model loading / pod restarting | Wait 2-3 min, check Olares pod status |

View File

@@ -0,0 +1,179 @@
# Api
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | api |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `ghcr.io/getumbrel/llama-gpt-api:latest` |
| **Compose File** | `Atlantis/llamagpt.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
api is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f api
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
cap_add:
- IPC_LOCK
container_name: LlamaGPT-api
cpu_shares: 768
environment:
MODEL: /models/llama-2-7b-chat.bin
MODEL_DOWNLOAD_URL: https://huggingface.co/TheBloke/Nous-Hermes-Llama-2-7B-GGML/resolve/main/nous-hermes-llama-2-7b.ggmlv3.q4_0.bin
USE_MLOCK: 1
hostname: llamagpt-api
image: ghcr.io/getumbrel/llama-gpt-api:latest
mem_limit: 8g
restart: on-failure:5
security_opt:
- no-new-privileges:true
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `MODEL` | `/models/llama-2-7b-chat.bin` | Configuration variable |
| `MODEL_DOWNLOAD_URL` | `https://huggingface.co/TheBloke/Nous-Hermes-Llama-2-7B-GGML/resolve/main/nous-hermes-llama-2-7b.ggmlv3.q4_0.bin` | Configuration variable |
| `USE_MLOCK` | `1` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f api
# Restart service
docker-compose restart api
# Update service
docker-compose pull api
docker-compose up -d api
# Access service shell
docker-compose exec api /bin/bash
# or
docker-compose exec api /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for api
- **Docker Hub**: [ghcr.io/getumbrel/llama-gpt-api:latest](https://hub.docker.com/r/ghcr.io/getumbrel/llama-gpt-api:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/llamagpt.yml`

View File

@@ -0,0 +1,183 @@
# App
**🟡 Networking Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | app |
| **Host** | Bulgaria_vm |
| **Category** | Networking |
| **Difficulty** | 🟡 |
| **Docker Image** | `jc21/nginx-proxy-manager:latest` |
| **Compose File** | `Bulgaria_vm/nginx_proxy_manager.yml` |
| **Directory** | `Bulgaria_vm` |
## 🎯 Purpose
app is a networking service that manages network traffic, routing, or connectivity.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Bulgaria_vm)
### Deployment
```bash
# Navigate to service directory
cd Bulgaria_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f app
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
image: jc21/nginx-proxy-manager:latest
ports:
- 80:80
- 8181:81
- 443:443
restart: always
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 80 | 80 | TCP | HTTP web interface |
| 8181 | 81 | TCP | Service port |
| 443 | 443 | TCP | HTTPS web interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `./data` | `/data` | bind | Application data |
| `./letsencrypt` | `/etc/letsencrypt` | bind | Configuration files |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Bulgaria_vm:80`
- **HTTPS**: `https://Bulgaria_vm:443`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f app
# Restart service
docker-compose restart app
# Update service
docker-compose pull app
docker-compose up -d app
# Access service shell
docker-compose exec app /bin/bash
# or
docker-compose exec app /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for app
- **Docker Hub**: [jc21/nginx-proxy-manager:latest](https://hub.docker.com/r/jc21/nginx-proxy-manager:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the networking category on Bulgaria_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Bulgaria_vm/nginx_proxy_manager.yml`

View File

@@ -0,0 +1,186 @@
# Apt Cacher Ng
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | apt-cacher-ng |
| **Host** | Calypso |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `sameersbn/apt-cacher-ng:latest` |
| **Compose File** | `Calypso/apt-cacher-ng/apt-cacher-ng.yml` |
| **Directory** | `Calypso/apt-cacher-ng` |
## 🎯 Purpose
apt-cacher-ng is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso/apt-cacher-ng
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f apt-cacher-ng
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: apt-cacher-ng
dns:
- 1.1.1.1
- 8.8.8.8
environment:
- TZ=America/Los_Angeles
image: sameersbn/apt-cacher-ng:latest
network_mode: bridge
ports:
- 3142:3142
restart: unless-stopped
volumes:
- /volume1/docker/apt-cacher-ng/cache:/var/cache/apt-cacher-ng
- /volume1/docker/apt-cacher-ng/log:/var/log/apt-cacher-ng
- /volume1/docker/apt-cacher-ng/config:/etc/apt-cacher-ng
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 3142 | 3142 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/apt-cacher-ng/cache` | `/var/cache/apt-cacher-ng` | bind | Cache data |
| `/volume1/docker/apt-cacher-ng/log` | `/var/log/apt-cacher-ng` | bind | System logs |
| `/volume1/docker/apt-cacher-ng/config` | `/etc/apt-cacher-ng` | bind | Configuration files |
## 🌐 Access Information
Service ports: 3142:3142
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f apt-cacher-ng
# Restart service
docker-compose restart apt-cacher-ng
# Update service
docker-compose pull apt-cacher-ng
docker-compose up -d apt-cacher-ng
# Access service shell
docker-compose exec apt-cacher-ng /bin/bash
# or
docker-compose exec apt-cacher-ng /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for apt-cacher-ng
- **Docker Hub**: [sameersbn/apt-cacher-ng:latest](https://hub.docker.com/r/sameersbn/apt-cacher-ng:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Calypso
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/apt-cacher-ng/apt-cacher-ng.yml`

View File

@@ -0,0 +1,179 @@
# Apt Repo
**🟡 Networking Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | apt-repo |
| **Host** | Atlantis |
| **Category** | Networking |
| **Difficulty** | 🟡 |
| **Docker Image** | `nginx:alpine` |
| **Compose File** | `Atlantis/repo_nginx.yaml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
apt-repo is a networking service that manages network traffic, routing, or connectivity.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f apt-repo
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: apt-repo
image: nginx:alpine
ports:
- 9661:80
restart: unless-stopped
volumes:
- /volume1/archive/repo/mirror:/usr/share/nginx/html:ro
- /volume1/docker/apt-repo/default.conf:/etc/nginx/conf.d/default.conf:ro
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 9661 | 80 | TCP | HTTP web interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/archive/repo/mirror` | `/usr/share/nginx/html` | bind | Data storage |
| `/volume1/docker/apt-repo/default.conf` | `/etc/nginx/conf.d/default.conf` | bind | Configuration files |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:9661`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f apt-repo
# Restart service
docker-compose restart apt-repo
# Update service
docker-compose pull apt-repo
docker-compose up -d apt-repo
# Access service shell
docker-compose exec apt-repo /bin/bash
# or
docker-compose exec apt-repo /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for apt-repo
- **Docker Hub**: [Official apt-repo](https://hub.docker.com/_/nginx:alpine)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the networking category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/repo_nginx.yaml`

View File

@@ -0,0 +1,184 @@
# Archivebox Scheduler
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | archivebox_scheduler |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `archivebox/archivebox:latest` |
| **Compose File** | `homelab_vm/archivebox.yaml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
archivebox_scheduler is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f archivebox_scheduler
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
command: schedule --foreground --update --every=day
container_name: archivebox_scheduler
environment:
- PUID=1000
- PGID=1000
- TIMEOUT=120
- SEARCH_BACKEND_ENGINE=sonic
- SEARCH_BACKEND_HOST_NAME=sonic
- SEARCH_BACKEND_PASSWORD="REDACTED_PASSWORD"
image: archivebox/archivebox:latest
restart: unless-stopped
volumes:
- ./data:/data
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PUID` | `1000` | User ID for file permissions |
| `PGID` | `1000` | Group ID for file permissions |
| `TIMEOUT` | `120` | Configuration variable |
| `SEARCH_BACKEND_ENGINE` | `sonic` | Configuration variable |
| `SEARCH_BACKEND_HOST_NAME` | `sonic` | Configuration variable |
| `SEARCH_BACKEND_PASSWORD` | `***MASKED***` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `./data` | `/data` | bind | Application data |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f archivebox_scheduler
# Restart service
docker-compose restart archivebox_scheduler
# Update service
docker-compose pull archivebox_scheduler
docker-compose up -d archivebox_scheduler
# Access service shell
docker-compose exec archivebox_scheduler /bin/bash
# or
docker-compose exec archivebox_scheduler /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for archivebox_scheduler
- **Docker Hub**: [archivebox/archivebox:latest](https://hub.docker.com/r/archivebox/archivebox:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/archivebox.yaml`

View File

@@ -0,0 +1,204 @@
# Archivebox
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | archivebox |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `archivebox/archivebox:latest` |
| **Compose File** | `homelab_vm/archivebox.yaml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
archivebox is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f archivebox
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: archivebox
environment:
- PUID=1000
- PGID=1000
- ADMIN_USERNAME=vish
- ADMIN_PASSWORD="REDACTED_PASSWORD"
- ALLOWED_HOSTS=*
- CSRF_TRUSTED_ORIGINS=http://localhost:7254
- PUBLIC_INDEX=True
- PUBLIC_SNAPSHOTS=True
- PUBLIC_ADD_VIEW=False
- SEARCH_BACKEND_ENGINE=sonic
- SEARCH_BACKEND_HOST_NAME=sonic
- SEARCH_BACKEND_PASSWORD="REDACTED_PASSWORD"
image: archivebox/archivebox:latest
ports:
- 7254:8000
restart: unless-stopped
volumes:
- ./data:/data
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PUID` | `1000` | User ID for file permissions |
| `PGID` | `1000` | Group ID for file permissions |
| `ADMIN_USERNAME` | `vish` | Configuration variable |
| `ADMIN_PASSWORD` | `***MASKED***` | Administrator password |
| `ALLOWED_HOSTS` | `*` | Configuration variable |
| `CSRF_TRUSTED_ORIGINS` | `http://localhost:7254` | Configuration variable |
| `PUBLIC_INDEX` | `True` | Configuration variable |
| `PUBLIC_SNAPSHOTS` | `True` | Configuration variable |
| `PUBLIC_ADD_VIEW` | `False` | Configuration variable |
| `SEARCH_BACKEND_ENGINE` | `sonic` | Configuration variable |
| `SEARCH_BACKEND_HOST_NAME` | `sonic` | Configuration variable |
| `SEARCH_BACKEND_PASSWORD` | `***MASKED***` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 7254 | 8000 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `./data` | `/data` | bind | Application data |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://homelab_vm:7254`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f archivebox
# Restart service
docker-compose restart archivebox
# Update service
docker-compose pull archivebox
docker-compose up -d archivebox
# Access service shell
docker-compose exec archivebox /bin/bash
# or
docker-compose exec archivebox /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for archivebox
- **Docker Hub**: [archivebox/archivebox:latest](https://hub.docker.com/r/archivebox/archivebox:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/archivebox.yaml`

View File

@@ -0,0 +1,251 @@
# Audiobookshelf
**🟢 Media Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | audiobookshelf |
| **Host** | Atlantis (Synology) |
| **Category** | Media / Books |
| **Difficulty** | 🟢 |
| **Docker Image** | `ghcr.io/advplyr/audiobookshelf:latest` |
| **Compose File** | `hosts/synology/atlantis/arr-suite/docker-compose.yml` |
| **Directory** | `hosts/synology/atlantis/arr-suite` |
## 🎯 Purpose
Audiobookshelf is a self-hosted audiobook and podcast server with mobile apps. Think of it as "Plex for audiobooks" - it provides a beautiful interface for browsing, streaming, and tracking progress across your audiobook and ebook library. It syncs progress across all devices and has native iOS/Android apps.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Audiobooks/ebooks/podcasts organized in folders
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd hosts/synology/atlantis/arr-suite
# Start the service
docker-compose -f docker-compose.yml up -d audiobookshelf
# Check service status
docker-compose -f docker-compose.yml ps
# View logs
docker-compose -f docker-compose.yml logs -f audiobookshelf
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: audiobookshelf
environment:
- PUID=1029
- PGID=100
- TZ=America/Los_Angeles
volumes:
- /volume2/metadata/docker2/audiobookshelf:/config
- /volume1/data/media/audiobooks:/audiobooks
- /volume1/data/media/podcasts:/podcasts
- /volume1/data/media/ebooks:/ebooks
ports:
- "13378:80"
networks:
media2_net:
ipv4_address: 172.24.0.16
security_opt:
- no-new-privileges:true
restart: always
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PUID` | `1029` | User ID for file permissions |
| `PGID` | `100` | Group ID for file permissions |
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 13378 | 80 | TCP | Web UI |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume2/metadata/docker2/audiobookshelf` | `/config` | bind | Configuration & database |
| `/volume1/data/media/audiobooks` | `/audiobooks` | bind | Audiobook library |
| `/volume1/data/media/podcasts` | `/podcasts` | bind | Podcast library |
| `/volume1/data/media/ebooks` | `/ebooks` | bind | Ebook library |
## 🌐 Access Information
| Interface | URL |
|-----------|-----|
| Web UI | `http://192.168.0.200:13378` |
### Mobile Apps
- **iOS**: Search "Audiobookshelf" on App Store
- **Android**: Search "Audiobookshelf" on Play Store
- **Server Address**: `http://192.168.0.200:13378`
## 🔧 Initial Setup
### 1. Create Admin Account
On first launch, you'll be prompted to create an admin account.
### 2. Create Libraries
Go to **Settings → Libraries** and create:
| Library Name | Type | Folder Path |
|--------------|------|-------------|
| Audiobooks | Audiobook | `/audiobooks` |
| Ebooks | Book | `/ebooks` |
| Podcasts | Podcast | `/podcasts` |
### 3. Enable Folder Watching
In each library's settings, enable **Watch for changes** to auto-import new files when LazyLibrarian downloads them.
## 🔒 Security Considerations
- ✅ Security options configured (no-new-privileges)
- ✅ Running with specific user/group IDs
- ⚠️ Consider setting up authentication for remote access
- ⚠️ Use HTTPS via reverse proxy for external access
## 📊 Resource Requirements
### Recommended Resources
- **Minimum RAM**: 256MB
- **Recommended RAM**: 512MB+
- **CPU**: 1 core minimum
- **Storage**: Varies by library size (metadata + cover art cache)
### Resource Monitoring
```bash
docker stats audiobookshelf
```
## ✨ Key Features
- **Progress Sync**: Automatically syncs listening/reading progress across devices
- **Chapter Support**: Navigate audiobooks by chapter
- **Multiple Users**: Each user has their own library progress
- **Podcast Support**: Subscribe and auto-download podcasts
- **Ebook Support**: Read ebooks directly in the app
- **Offline Mode**: Download audiobooks to mobile devices
- **Metadata Matching**: Auto-fetches book metadata and cover art
## 🚨 Troubleshooting
### Common Issues
**Books not appearing**
- Check file permissions match PUID/PGID
- Verify folder paths are correct
- Manually scan library: Library → Scan
**Progress not syncing**
- Ensure you're logged into the same account
- Check network connectivity
- Force sync in mobile app settings
**Mobile app can't connect**
- Verify server address is correct
- Check firewall allows port 13378
- Ensure device is on same network (or use VPN)
**Metadata not found**
- Try manual match: Book → Match
- Check audiobook folder naming (Author - Title format works best)
- Ensure file metadata tags are correct
### Useful Commands
```bash
# View real-time logs
docker logs -f audiobookshelf
# Restart service
docker restart audiobookshelf
# Update service
docker pull ghcr.io/advplyr/audiobookshelf:latest
docker restart audiobookshelf
# Backup database
cp -r /volume2/metadata/docker2/audiobookshelf /backup/audiobookshelf-$(date +%Y%m%d)
```
## 📂 Recommended Folder Structure
For best metadata matching:
```
/audiobooks/
├── Author Name/
│ ├── Book Title/
│ │ ├── cover.jpg (optional)
│ │ ├── desc.txt (optional)
│ │ └── *.mp3 or *.m4b
│ └── Another Book/
│ └── ...
/ebooks/
├── Author Name/
│ ├── Book Title.epub
│ └── Another Book.pdf
```
## API Access
| Field | Value |
|-------|-------|
| **URL** | http://192.168.0.200:13378 |
| **API Token (arrssuite key)** | `REDACTED_ABS_API_TOKEN` |
```bash
ABS="http://192.168.0.200:13378"
ABS_KEY="REDACTED_ABS_API_TOKEN"
# List libraries
curl -s "$ABS/api/libraries" -H "Authorization: Bearer $ABS_KEY" | python3 -m json.tool
# List items in a library
curl -s "$ABS/api/libraries/<library-id>/items" -H "Authorization: Bearer $ABS_KEY" | python3 -m json.tool
# Trigger scan on a library
curl -s -X POST "$ABS/api/libraries/<library-id>/scan" -H "Authorization: Bearer $ABS_KEY"
```
### Library IDs
| Library | ID |
|---------|----|
| Audiobook | `d36776eb-fe81-467f-8fee-19435ee2827b` |
| Ebooks | `5af23ed3-f69d-479b-88bc-1c4911c99d2d` |
| Podcast | `6fc11431-ec84-4c96-8bec-b2638fff57e7` |
## 📚 Additional Resources
- **Official Documentation**: [Audiobookshelf Docs](https://www.audiobookshelf.org/docs)
- **GitHub**: [advplyr/audiobookshelf](https://github.com/advplyr/audiobookshelf)
- **Discord**: Active community support
## 🔗 Related Services
Services REDACTED_APP_PASSWORD Audiobookshelf:
- LazyLibrarian (automated downloads)
- Calibre (ebook management)
- Prowlarr (indexer management)
---
*Last Updated*: 2025-01-20
*Configuration Source*: `hosts/synology/atlantis/arr-suite/docker-compose.yml`

View File

@@ -0,0 +1,220 @@
# Authentik - SSO / Identity Provider
**Host**: Calypso (DS723+)
**Domain**: `sso.vish.gg`
**Ports**: 9000 (HTTP), 9443 (HTTPS)
**Compose File**: `Calypso/authentik/docker-compose.yaml`
## Overview
Authentik provides Single Sign-On (SSO) and identity management for homelab services. It supports:
- OAuth2 / OpenID Connect
- SAML 2.0
- LDAP
- Proxy authentication (forward auth)
- SCIM provisioning
## Architecture
```
┌─────────────────────────────────────────────────────────────────┐
│ Cloudflare DNS │
│ (sso.vish.gg → Calypso) │
└─────────────────────┬───────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ Synology Reverse Proxy │
│ (sso.vish.gg → localhost:9000) │
└─────────────────────┬───────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ Authentik Stack │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ authentik- │ │ authentik- │ │ authentik- │ │
│ │ server │◄─┤ worker │ │ redis │ │
│ │ (9000) │ │ │ │ │ │
│ └──────┬───────┘ └──────┬───────┘ └──────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌────────────────────────────────┐ │
│ │ authentik-db │ │
│ │ (PostgreSQL 16) │ │
│ └────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
```
## Initial Setup
### 1. Deploy the Stack
Deploy via Portainer GitOps - the stack will auto-pull from the repository.
### 2. Configure DNS
Add DNS record in Cloudflare:
- **Type**: A or CNAME
- **Name**: sso
- **Target**: Your Calypso IP or DDNS hostname
- **Proxy**: Orange cloud ON (recommended for DDoS protection)
### 3. Configure Synology Reverse Proxy
In DSM → Control Panel → Login Portal → Advanced → Reverse Proxy:
| Setting | Value |
|---------|-------|
| Description | Authentik SSO |
| Source Protocol | HTTPS |
| Source Hostname | sso.vish.gg |
| Source Port | 443 |
| Enable HSTS | Yes |
| Destination Protocol | HTTP |
| Destination Hostname | localhost |
| Destination Port | 9000 |
**Custom Headers** (Add these):
| Header | Value |
|--------|-------|
| X-Forwarded-Proto | $scheme |
| X-Forwarded-For | $proxy_add_x_forwarded_for |
| Host | $host |
**WebSocket** (Enable):
- Check "Enable WebSocket"
### 4. Initial Admin Setup
1. Navigate to `https://sso.vish.gg/if/flow/initial-setup/`
2. Create your admin account (default username: akadmin)
3. Set a strong password
4. Complete the setup wizard
## Integrating Services
### Grafana (gf.vish.gg)
1. **In Authentik**: Create OAuth2/OIDC Provider
- Name: Grafana
- Client ID: (copy this)
- Client Secret: (generate and copy)
- Redirect URIs: `https://gf.vish.gg/login/generic_oauth`
2. **In Grafana** (grafana.ini or environment):
```ini
[auth.generic_oauth]
enabled = true
name = Authentik
allow_sign_up = true
client_id = YOUR_CLIENT_ID
client_secret = YOUR_CLIENT_SECRET
scopes = openid profile email
auth_url = https://sso.vish.gg/application/o/authorize/
token_url = https://sso.vish.gg/application/o/token/
api_url = https://sso.vish.gg/application/o/userinfo/
role_attribute_path = contains(groups[*], 'Grafana Admins') && 'Admin' || 'Viewer'
```
### Gitea (git.vish.gg)
1. **In Authentik**: Create OAuth2/OIDC Provider
- Name: Gitea
- Redirect URIs: `https://git.vish.gg/user/oauth2/authentik/callback`
2. **In Gitea**: Settings → Authentication → Add OAuth2
- Provider: OpenID Connect
- Client ID: (from Authentik)
- Client Secret: (from Authentik)
- OpenID Connect Auto Discovery URL: `https://sso.vish.gg/application/o/gitea/.well-known/openid-configuration`
### Seafile (seafile.vish.gg)
1. **In Authentik**: Create OAuth2/OIDC Provider
- Name: Seafile
- Redirect URIs: `https://seafile.vish.gg/oauth/callback/`
2. **In Seafile** (seahub_settings.py):
```python
ENABLE_OAUTH = True
OAUTH_ENABLE_INSECURE_TRANSPORT = False
OAUTH_CLIENT_ID = 'YOUR_CLIENT_ID'
OAUTH_CLIENT_SECRET = 'YOUR_CLIENT_SECRET'
OAUTH_REDIRECT_URL = 'https://seafile.vish.gg/oauth/callback/'
OAUTH_PROVIDER_DOMAIN = 'sso.vish.gg'
OAUTH_AUTHORIZATION_URL = 'https://sso.vish.gg/application/o/authorize/'
OAUTH_TOKEN_URL = 'https://sso.vish.gg/application/o/token/'
OAUTH_USER_INFO_URL = 'https://sso.vish.gg/application/o/userinfo/'
OAUTH_SCOPE = ['openid', 'profile', 'email']
OAUTH_ATTRIBUTE_MAP = {
'id': (True, 'email'),
'email': (True, 'email'),
'name': (False, 'name'),
}
```
### Forward Auth (Proxy Provider)
For services that don't support OAuth natively, use Authentik's proxy provider:
1. **In Authentik**: Create Proxy Provider
- Name: Protected Service
- External Host: https://service.vish.gg
- Mode: Forward auth (single application)
2. **In Synology Reverse Proxy**: Add auth headers
- Forward requests to Authentik's outpost first
## Backup & Recovery
### Data Locations
| Data | Path | Backup Priority |
|------|------|-----------------|
| Database | `/volume1/docker/authentik/database` | Critical |
| Media | `/volume1/docker/authentik/media` | High |
| Templates | `/volume1/docker/authentik/templates` | Medium |
### Backup Command
```bash
# On Calypso via SSH
docker exec Authentik-DB pg_dump -U authentik authentik > /volume1/backups/authentik_$(date +%Y%m%d).sql
```
### Restore
```bash
docker exec -i Authentik-DB psql -U authentik authentik < backup.sql
```
## Troubleshooting
### Check Logs
```bash
docker logs Authentik-SERVER
docker logs Authentik-WORKER
```
### Database Connection Issues
```bash
docker exec Authentik-DB pg_isready -U authentik
```
### Reset Admin Password
```bash
docker exec -it Authentik-SERVER ak create_recovery_key 10 akadmin
```
This creates a recovery link valid for 10 minutes.
## Security Considerations
- Authentik is the gateway to all services - protect it well
- Use a strong admin password
- Enable 2FA for admin accounts
- Regularly rotate the AUTHENTIK_SECRET_KEY (requires re-authentication)
- Keep the PostgreSQL password secure
- Consider IP restrictions in Cloudflare for admin paths
## Related Documentation
- [Official Docs](https://docs.goauthentik.io/)
- [OAuth2 Provider Setup](https://docs.goauthentik.io/docs/providers/oauth2/)
- [Proxy Provider Setup](https://docs.goauthentik.io/docs/providers/proxy/)

View File

@@ -0,0 +1,179 @@
# Baikal
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | baikal |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `ckulka/baikal` |
| **Compose File** | `Atlantis/baikal/baikal.yaml` |
| **Directory** | `Atlantis/baikal` |
## 🎯 Purpose
baikal is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis/baikal
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f baikal
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: baikal
image: ckulka/baikal
ports:
- 12852:80
restart: unless-stopped
volumes:
- /volume1/docker/baikal/config:/var/www/baikal/config
- /volume1/docker/baikal/html:/var/www/baikal/Specific
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 12852 | 80 | TCP | HTTP web interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/baikal/config` | `/var/www/baikal/config` | bind | Configuration files |
| `/volume1/docker/baikal/html` | `/var/www/baikal/Specific` | bind | Data storage |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:12852`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f baikal
# Restart service
docker-compose restart baikal
# Update service
docker-compose pull baikal
docker-compose up -d baikal
# Access service shell
docker-compose exec baikal /bin/bash
# or
docker-compose exec baikal /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for baikal
- **Docker Hub**: [ckulka/baikal](https://hub.docker.com/r/ckulka/baikal)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/baikal/baikal.yaml`

View File

@@ -0,0 +1,371 @@
# Bazarr - Enhanced Subtitle Management
**🟢 Media Service - Subtitle Management**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | bazarr |
| **Host** | Atlantis |
| **Category** | Media |
| **Difficulty** | 🟢 |
| **Docker Image** | `linuxserver/bazarr:latest` |
| **Compose File** | `Atlantis/arr-suite/docker-compose.yml` |
| **Directory** | `Atlantis` |
| **Port** | 6767 |
| **API Key** | `057875988c90c9b05722df7ff5fedc69` |
## 🎯 Purpose
Bazarr is a companion application to Sonarr and Radarr that manages and downloads subtitles for your media library. It automatically searches for and downloads subtitles in your preferred languages, with support for multiple subtitle providers and advanced language profiles.
## ✨ Recent Enhancements (February 2025)
### 🚀 **Subtitle Provider Expansion (4 → 7 providers)**
**Previous Setup (4 providers):**
- ✅ REDACTED_APP_PASSWORD (VIP account)
- ✅ yifysubtitles
- ✅ animetosho
- ✅ podnapisi
**NEW Providers Added (3 additional):**
-**addic7ed** - Premium TV show subtitles with fast releases
-**subf2m** - Comprehensive movie subtitle coverage
-**legendasdivx** - International content specialization
### 🎬 **Optimized for Specific Use Cases:**
**Anime Content**:
- animetosho provider handles dual-audio anime perfectly
- English subtitles prioritized when available
- Japanese fallback support for anime-only content
**International Films** (e.g., "Cold War"):
- Enhanced coverage for non-English original language films
- legendasdivx and subf2m provide better international subtitle sources
- VIP OpenSubtitles account ensures premium access
**TV Shows**:
- addic7ed provides high-quality, fast TV show subtitles
- Community-driven quality control
- Rapid release timing for popular series
### 🔧 **Configuration Improvements:**
1. **Enhanced Provider Coverage**: 75% increase in subtitle sources
2. **Language Profile**: English-focused with proper fallback handling
3. **Quality Scoring**: Optimized minimum scores (80 for series, 60 for movies)
4. **VIP Account Utilization**: OpenSubtitles VIP credentials properly configured
5. **Anime Support**: animetosho provider optimized for anime content
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Sonarr and Radarr configured
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd /volume1/docker/arr-suite
# Start the service
docker-compose up -d bazarr
# Check service status
docker-compose ps bazarr
# View logs
docker-compose logs -f bazarr
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
bazarr:
container_name: bazarr
environment:
- PUID=1027
- PGID=65536
- TZ=America/Los_Angeles
- UMASK=022
image: linuxserver/bazarr:latest
networks:
media_net:
ipv4_address: 172.23.0.9
ports:
- 6767:6767/tcp
restart: always
security_opt:
- no-new-privileges:true
volumes:
- /volume1/docker2/bazarr:/config
- /volume1/data:/data
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PUID` | `1027` | User ID for file permissions |
| `PGID` | `65536` | Group ID for file permissions |
| `TZ` | `America/Los_Angeles` | Timezone setting |
| `UMASK` | `022` | File permission mask |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 6767 | 6767 | TCP | Web interface and API |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker2/bazarr` | `/config` | bind | Configuration files and database |
| `/volume1/data` | `/data` | bind | Media library access |
## 🎛️ Advanced Configuration
### Subtitle Providers Configuration
**Active Providers (7 total):**
1. **OpenSubtitles.com (VIP)**
- Premium account with enhanced limits
- Comprehensive language support
- High-quality community subtitles
2. **addic7ed**
- Specializes in TV show subtitles
- Fast release timing
- Community-moderated quality
3. **yifysubtitles**
- Movie-focused provider
- Good coverage for popular films
- Reliable availability
4. **animetosho**
- Anime-specialized provider
- Handles dual-audio content
- Japanese and English support
5. **podnapisi**
- Multi-language support
- European content strength
- Reliable subtitle timing
6. **subf2m**
- Movie subtitle coverage
- Fast release availability
- International film support
7. **legendasdivx**
- Portuguese/Spanish specialization
- International film coverage
- Non-English content strength
### Language Profile Configuration
**Current Profile: "My language profile"**
- **Primary Language**: English
- **Cutoff Score**: 65535 (maximum quality)
- **Minimum Score**:
- Series: 80
- Movies: 60
- **Fallback Support**: Enabled for original language content
### Quality Scoring System
**Optimized Scoring for Different Content Types:**
**TV Series (Minimum Score: 80)**
- Prioritizes addic7ed and OpenSubtitles
- Fast release timing valued
- Community quality control preferred
**Movies (Minimum Score: 60)**
- Broader provider acceptance
- International content support
- Original language preservation
**Anime Content**
- animetosho provider prioritized
- Dual-audio support
- Japanese fallback when English unavailable
## 📊 Current Status
- **System Health**: ✅ No issues detected
- **Active Providers**: 7 total providers enabled
- **Language Support**: English (primary) with proper fallback
- **API Access**: Fully functional with key `057875988c90c9b05722df7ff5fedc69`
- **VIP Account**: OpenSubtitles.com VIP active
## 🔍 Access Information
- **Web Interface**: `http://atlantis:6767` or `http://100.83.230.112:6767`
- **API Endpoint**: `http://atlantis:6767/api`
- **API Key**: `057875988c90c9b05722df7ff5fedc69`
## 🔒 Security Considerations
- ✅ Security options configured (`no-new-privileges:true`)
- ✅ Running as non-root user (PUID/PGID)
- ✅ API key authentication enabled
- ✅ Network isolation via custom network
## 📈 Resource Requirements
### Current Configuration
- **Memory**: No limits set (recommended: 512MB-1GB)
- **CPU**: No limits set (1 core sufficient)
- **Storage**: Configuration ~100MB, cache varies by usage
### Monitoring
```bash
# Monitor resource usage
docker stats bazarr
# Check disk usage
du -sh /volume1/docker2/bazarr
```
## 🏥 Health Monitoring
### API Health Check
```bash
# Check system health
curl -s -H "X-API-KEY: REDACTED_API_KEY" \
"http://localhost:6767/api/system/health"
# Check provider status
curl -s -H "X-API-KEY: REDACTED_API_KEY" \
"http://localhost:6767/api/providers"
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Status}}' bazarr
# View recent logs
docker logs --tail 50 bazarr
# Check provider connectivity
docker exec bazarr curl -f http://localhost:6767/api/system/status
```
## 🛠️ Troubleshooting
### Common Issues
**Subtitles Not Downloading**
1. Check provider status in web interface
2. Verify API keys for premium providers
3. Check language profile configuration
4. Review minimum score settings
**Provider Connection Issues**
```bash
# Check provider status
curl -H "X-API-KEY: REDACTED_API_KEY" \
"http://localhost:6767/api/providers"
# Test provider connectivity
docker exec bazarr ping opensubtitles.com
```
**Performance Issues**
- Monitor provider response times
- Check subtitle cache size
- Review concurrent download limits
- Verify network connectivity
**Language Profile Problems**
- Verify language codes are correct
- Check cutoff scores aren't too high
- Review provider language support
- Test with manual subtitle search
### Useful Commands
```bash
# Check service status
docker-compose ps bazarr
# View real-time logs
docker-compose logs -f bazarr
# Restart service
docker-compose restart bazarr
# Update service
docker-compose pull bazarr
docker-compose up -d bazarr
# Access service shell
docker-compose exec bazarr /bin/bash
# Check configuration
docker exec bazarr cat /config/config/config.yaml
```
## 🔗 Integration with Arr Suite
### Sonarr Integration
- **API Key**: Configured for automatic episode subtitle downloads
- **Language Profile**: Synced with Sonarr quality profiles
- **Monitoring**: Real-time episode monitoring enabled
### Radarr Integration
- **API Key**: Configured for automatic movie subtitle downloads
- **Quality Matching**: Aligned with Radarr quality profiles
- **Search Triggers**: Automatic search on movie import
### Recommended Workflow
1. **Media Import**: Sonarr/Radarr imports new content
2. **Automatic Trigger**: Bazarr detects new media
3. **Provider Search**: All 7 providers searched simultaneously
4. **Quality Scoring**: Best subtitle selected based on profile
5. **Download & Sync**: Subtitle downloaded and synced to media
## 📚 Additional Resources
- **Official Documentation**: [Bazarr Wiki](https://wiki.bazarr.media/)
- **Docker Hub**: [linuxserver/bazarr](https://hub.docker.com/r/linuxserver/bazarr)
- **Community Forums**: [Bazarr Discord](https://discord.gg/MH2e2eb)
- **GitHub Issues**: [Bazarr GitHub](https://github.com/morpheus65535/bazarr)
- **Provider Documentation**: [Subtitle Provider Guide](https://wiki.bazarr.media/Additional-Configuration/Providers/)
## 🔗 Related Services
Services that integrate with Bazarr:
- **Sonarr** - TV show management and monitoring
- **Radarr** - Movie management and monitoring
- **Plex** - Media server and streaming
- **Jellyfin** - Alternative media server
- **Prowlarr** - Indexer management (indirect integration)
## 📝 Change Log
### February 2025 - Major Provider Enhancement
- ✅ Added 3 new subtitle providers (75% increase)
- ✅ Optimized language profiles for anime and international content
- ✅ Enhanced VIP account utilization
- ✅ Improved quality scoring system
- ✅ Added comprehensive documentation
### Previous Updates
- Initial deployment on Atlantis
- Basic provider configuration
- Sonarr/Radarr integration setup
---
*This documentation reflects the enhanced Bazarr configuration with expanded subtitle provider support and optimized language profiles for diverse content types.*
**Last Updated**: February 9, 2025
**Configuration Source**: `Atlantis/arr-suite/docker-compose.yml`
**Enhancement Author**: OpenHands Agent

View File

@@ -0,0 +1,125 @@
# Bazarr
**🟢 Media Service**
## Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | bazarr |
| **Host** | Atlantis (Synology) |
| **Category** | Media / Subtitles |
| **Docker Image** | `lscr.io/linuxserver/bazarr:latest` |
| **Compose File** | `hosts/synology/atlantis/arr-suite/docker-compose.yml` |
| **URL** | http://192.168.0.200:6767 |
| **Version** | 1.5.6 |
## Purpose
Bazarr is the subtitle companion to Sonarr and Radarr. It monitors your library for missing or
wanted subtitles, searches configured providers, and downloads them automatically. It syncs
directly with Sonarr/Radarr via SignalR so new items trigger subtitle searches immediately.
## API Access
| Field | Value |
|-------|-------|
| **URL** | http://192.168.0.200:6767 |
| **API Key** | `REDACTED_BAZARR_API_KEY` |
| **Header** | `X-Api-Key: "REDACTED_API_KEY"` |
```bash
BAZARR="http://192.168.0.200:6767"
BAZARR_KEY="REDACTED_BAZARR_API_KEY"
# System status and version
curl -s "$BAZARR/api/system/status" -H "X-Api-Key: $BAZARR_KEY" | python3 -m json.tool
# Health check
curl -s "$BAZARR/api/system/health" -H "X-Api-Key: $BAZARR_KEY" | python3 -m json.tool
# Missing subtitles count
curl -s "$BAZARR/api/badges" -H "X-Api-Key: $BAZARR_KEY" | python3 -m json.tool
# List missing episode subtitles
curl -s "$BAZARR/api/episodes/wanted" -H "X-Api-Key: $BAZARR_KEY" | python3 -m json.tool
# List missing movie subtitles
curl -s "$BAZARR/api/movies/wanted" -H "X-Api-Key: $BAZARR_KEY" | python3 -m json.tool
```
## Current Status (2026-03-02)
- Sonarr SignalR: **LIVE**
- Radarr SignalR: **LIVE**
- Missing episode subtitles: 846
- Missing movie subtitles: 6
- Provider issues: 0
## Configuration
### Docker Compose (in docker-compose.yml)
```yaml
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
environment:
- PUID=1029
- PGID=100
- TZ=America/Los_Angeles
- UMASK=022
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:bazarr
- TP_SCHEME=http
- TP_DOMAIN=192.168.0.200:8580
- TP_THEME=dracula
volumes:
- /volume2/metadata/docker2/bazarr:/config
- /volume1/data:/data
ports:
- "6767:6767"
networks:
media2_net:
ipv4_address: 172.24.0.x
security_opt:
- no-new-privileges:true
restart: always
```
Config on Atlantis: `/volume2/metadata/docker2/bazarr/config/config.yaml`
Note: The API key is stored in `config.yaml` on Atlantis (not in this repo). Retrieve it with:
```bash
grep "apikey" /volume2/metadata/docker2/bazarr/config/config.yaml
```
## Connected Services
| Service | Connection | Status |
|---------|-----------|--------|
| Sonarr | SignalR + API | LIVE |
| Radarr | SignalR + API | LIVE |
Bazarr connects *to* Sonarr/Radarr (not the reverse). Configure under
Settings → Sonarr and Settings → Radarr in the Bazarr UI.
## Troubleshooting
**SignalR shows CONNECTING or DISCONNECTED**
- Verify Sonarr/Radarr are running: `docker ps | grep -E 'sonarr|radarr'`
- Check the host/API key in Bazarr Settings → Sonarr/Radarr
- Restart Bazarr: `docker restart bazarr`
**No subtitle providers**
- Check badges: `providers` field should be 0 for no errors
- Go to Settings → Providers in the Bazarr UI to configure providers (OpenSubtitles, etc.)
**Subtitle not found for a specific episode**
- Go to the episode in Bazarr → Manual Search to browse provider results
- Check the episode language profile matches what providers offer
## Related Services
- Sonarr — http://192.168.0.200:8989
- Radarr — http://192.168.0.200:7878
- See also: `docs/services/individual/download-priority.md` for the NZB-first strategy

View File

@@ -0,0 +1,140 @@
# Beeper
**🟢 Communication Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | beeper |
| **Host** | Homelab VM |
| **Category** | Communication |
| **Docker Image** | `ghcr.io/zachatrocity/docker-beeper:latest` |
| **Compose File** | `homelab_vm/beeper.yaml` |
| **Portainer Stack** | `beeper` (ID=536, homelab-vm endpoint, standalone) |
## 🎯 Purpose
Beeper is a universal chat client that bridges many messaging platforms (iMessage, WhatsApp, Telegram, Signal, Discord, etc.) into a single interface. This deployment uses a KasmVNC-based Docker image that runs the Beeper desktop app in a containerized browser session accessible via web browser.
> **Note**: Beeper is no longer a standalone product — it merged with Automattic/Texts.com. This image (`docker-beeper`) provides the legacy Beeper Linux desktop client via KasmVNC.
## 🚀 Access
| Interface | URL | Notes |
|-----------|-----|-------|
| Web UI (HTTPS) | `https://<homelab-vm-ip>:3656` | Use this — accept self-signed cert |
| Web UI (HTTP) | `http://<homelab-vm-ip>:3655` | Redirects to HTTPS, will show error |
> **Important**: KasmVNC requires HTTPS. Always access via port **3656** with HTTPS. Accept the self-signed certificate warning in your browser.
## 🔧 Configuration
### Docker Compose (`homelab_vm/beeper.yaml`)
```yaml
services:
beeper:
image: ghcr.io/zachatrocity/docker-beeper:latest
container_name: Beeper
healthcheck:
test: ["CMD-SHELL", "nc -z 127.0.0.1 3000 || exit 1"]
interval: 10s
timeout: 5s
retries: 3
start_period: 90s
security_opt:
- seccomp:unconfined
environment:
PUID: 1029
PGID: 100
TZ: America/Los_Angeles
volumes:
- /home/homelab/docker/beeper:/config:rw
ports:
- 3655:3000 # HTTP (redirects to HTTPS — use port 3656)
- 3656:3001 # HTTPS (use this — accept self-signed cert in browser)
shm_size: "2gb"
restart: on-failure:5
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PUID` | `1029` | User ID for file permissions |
| `PGID` | `100` | Group ID for file permissions |
| `TZ` | `America/Los_Angeles` | Timezone |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|---------|
| 3655 | 3000 | TCP | HTTP (redirects to HTTPS — non-functional) |
| 3656 | 3001 | TCP | HTTPS KasmVNC (use this) |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|---------|
| `/home/homelab/docker/beeper` | `/config` | bind | App config, sessions, data |
### Notable Settings
- **`shm_size: "2gb"`** — Required for Chromium/Electron running inside KasmVNC; prevents crashes
- **`seccomp:unconfined`** — Required for Electron sandbox inside container
- **`restart: on-failure:5`** — Restart on crash up to 5 times (avoids restart loops)
## 🔧 Portainer Deployment
This service is managed as a **standalone Portainer stack** (ID=536) on the homelab-vm endpoint. The compose file is stored in the repo at `homelab_vm/beeper.yaml` for reference, but Portainer manages it with inline content rather than GitOps sync.
> **Why not GitOps?** The homelab-vm Portainer Edge Agent deploys all YAML files in `hosts/vms/homelab-vm/` together as a combined compose project. The local monitoring stack (prometheus/grafana, started from `/home/homelab/docker/monitoring/`) conflicts with `monitoring.yaml` in that directory, blocking new GitOps stack creation. The monitoring-stack Portainer entry was removed to avoid the conflict — those containers continue running independently.
To update beeper:
1. Edit the stack via Portainer UI → Stacks → beeper → Editor
2. Or use the Portainer API to update stack 536 with new compose content
## 🚨 Troubleshooting
**"This application requires a secure connection (HTTPS)"**
- You accessed port 3655 (HTTP). Switch to `https://<ip>:3656`.
- Accept the self-signed certificate warning.
**Container keeps restarting**
- Check logs: `docker logs Beeper`
- The `shm_size: "2gb"` is critical — without it, Chromium OOM-crashes constantly.
- Ensure `/home/homelab/docker/beeper` exists and is writable by PUID 1029.
**Black screen or blank browser**
- Give the container 90 seconds to start (see `start_period` in healthcheck).
- Hard-refresh the browser page.
**Session lost after restart**
- Sessions are persisted to `/home/homelab/docker/beeper` — check that volume is mounted.
### Useful Commands
```bash
# View logs
docker logs -f Beeper
# Restart container
docker restart Beeper
# Check health
docker inspect --format='{{.State.Health.Status}}' Beeper
# Verify data directory
ls -la /home/homelab/docker/beeper/
```
## 📚 Additional Resources
- **Image Source**: [zachatrocity/docker-beeper](https://github.com/zachatrocity/docker-beeper)
- **Beeper**: [beeper.com](https://www.beeper.com) (now merged with Texts.com/Automattic)
---
*Last Updated*: 2026-02-20
*Configuration Source*: `homelab_vm/beeper.yaml`

View File

@@ -0,0 +1,163 @@
# Bg Helper
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | bg-helper |
| **Host** | concord_nuc |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `1337kavin/bg-helper-server:latest` |
| **Compose File** | `concord_nuc/piped.yaml` |
| **Directory** | `concord_nuc` |
## 🎯 Purpose
bg-helper is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (concord_nuc)
### Deployment
```bash
# Navigate to service directory
cd concord_nuc
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f bg-helper
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: piped-bg-helper
image: 1337kavin/bg-helper-server:latest
restart: unless-stopped
```
### Environment Variables
No environment variables configured.
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f bg-helper
# Restart service
docker-compose restart bg-helper
# Update service
docker-compose pull bg-helper
docker-compose up -d bg-helper
# Access service shell
docker-compose exec bg-helper /bin/bash
# or
docker-compose exec bg-helper /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for bg-helper
- **Docker Hub**: [1337kavin/bg-helper-server:latest](https://hub.docker.com/r/1337kavin/bg-helper-server:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on concord_nuc
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `concord_nuc/piped.yaml`

View File

@@ -0,0 +1,177 @@
# Binternet
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | binternet |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `ghcr.io/ahwxorg/binternet:latest` |
| **Compose File** | `homelab_vm/binternet.yaml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
binternet is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f binternet
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
cap_drop:
- ALL
container_name: binternet
image: ghcr.io/ahwxorg/binternet:latest
ports:
- 21544:8080
restart: unless-stopped
security_opt:
- no-new-privileges:true
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 21544 | 8080 | TCP | Alternative HTTP port |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://homelab_vm:21544`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
- ✅ Capabilities dropped
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f binternet
# Restart service
docker-compose restart binternet
# Update service
docker-compose pull binternet
docker-compose up -d binternet
# Access service shell
docker-compose exec binternet /bin/bash
# or
docker-compose exec binternet /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for binternet
- **Docker Hub**: [ghcr.io/ahwxorg/binternet:latest](https://hub.docker.com/r/ghcr.io/ahwxorg/binternet:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/binternet.yaml`

View File

@@ -0,0 +1,179 @@
# Blackbox Exporter
**🟢 Monitoring Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | blackbox-exporter |
| **Host** | setillo |
| **Category** | Monitoring |
| **Difficulty** | 🟢 |
| **Docker Image** | `prom/blackbox-exporter` |
| **Compose File** | `setillo/prometheus/compose.yaml` |
| **Directory** | `setillo/prometheus` |
## 🎯 Purpose
blackbox-exporter is a monitoring and observability tool that helps track system performance and health.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (setillo)
### Deployment
```bash
# Navigate to service directory
cd setillo/prometheus
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f blackbox-exporter
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: blackbox-exporter
image: prom/blackbox-exporter
networks:
- prometheus-net
ports:
- 9115:9115
restart: unless-stopped
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 9115 | 9115 | TCP | Service port |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
Service ports: 9115:9115
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Metrics not collecting**
- Check target endpoints are accessible
- Verify configuration syntax
- Check network connectivity
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f blackbox-exporter
# Restart service
docker-compose restart blackbox-exporter
# Update service
docker-compose pull blackbox-exporter
docker-compose up -d blackbox-exporter
# Access service shell
docker-compose exec blackbox-exporter /bin/bash
# or
docker-compose exec blackbox-exporter /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for blackbox-exporter
- **Docker Hub**: [prom/blackbox-exporter](https://hub.docker.com/r/prom/blackbox-exporter)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD blackbox-exporter:
- Grafana
- Prometheus
- Uptime Kuma
- Node Exporter
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `setillo/prometheus/compose.yaml`

View File

@@ -0,0 +1,170 @@
# Cache
**🟢 Storage Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | cache |
| **Host** | Calypso |
| **Category** | Storage |
| **Difficulty** | 🟢 |
| **Docker Image** | `memcached:1.6` |
| **Compose File** | `Calypso/seafile-server.yaml` |
| **Directory** | `Calypso` |
## 🎯 Purpose
cache is a storage solution that manages data persistence, backup, or file sharing.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f cache
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Seafile-CACHE
entrypoint: memcached -m 256
hostname: memcached
image: memcached:1.6
read_only: true
restart: on-failure:5
security_opt:
- no-new-privileges:true
user: 1026:100
```
### Environment Variables
No environment variables configured.
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
- ✅ Read-only root filesystem
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f cache
# Restart service
docker-compose restart cache
# Update service
docker-compose pull cache
docker-compose up -d cache
# Access service shell
docker-compose exec cache /bin/bash
# or
docker-compose exec cache /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for cache
- **Docker Hub**: [Official cache](https://hub.docker.com/_/memcached:1.6)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the storage category on Calypso
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/seafile-server.yaml`

View File

@@ -0,0 +1,195 @@
# Cadvisor
**🟡 Monitoring Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | cadvisor |
| **Host** | setillo |
| **Category** | Monitoring |
| **Difficulty** | 🟡 |
| **Docker Image** | `gcr.io/cadvisor/cadvisor:latest` |
| **Compose File** | `setillo/prometheus/compose.yaml` |
| **Directory** | `setillo/prometheus` |
## 🎯 Purpose
cadvisor is a monitoring and observability tool that helps track system performance and health.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (setillo)
### Deployment
```bash
# Navigate to service directory
cd setillo/prometheus
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f cadvisor
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
command:
- --docker_only=true
container_name: Prometheus-cAdvisor
cpu_shares: 512
hostname: prometheus-cadvisor
image: gcr.io/cadvisor/cadvisor:latest
mem_limit: 256m
mem_reservation: 64m
networks:
- prometheus-net
read_only: true
restart: on-failure:5
security_opt:
- no-new-privileges=true
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
```
### Environment Variables
No environment variables configured.
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/` | `/rootfs` | bind | Data storage |
| `/var/run` | `/var/run` | bind | Data storage |
| `/sys` | `/sys` | bind | Data storage |
| `/var/run/docker.sock` | `/var/run/docker.sock` | bind | Data storage |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
- ✅ Read-only root filesystem
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Metrics not collecting**
- Check target endpoints are accessible
- Verify configuration syntax
- Check network connectivity
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f cadvisor
# Restart service
docker-compose restart cadvisor
# Update service
docker-compose pull cadvisor
docker-compose up -d cadvisor
# Access service shell
docker-compose exec cadvisor /bin/bash
# or
docker-compose exec cadvisor /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for cadvisor
- **Docker Hub**: [gcr.io/cadvisor/cadvisor:latest](https://hub.docker.com/r/gcr.io/cadvisor/cadvisor:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD cadvisor:
- Grafana
- Prometheus
- Uptime Kuma
- Node Exporter
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `setillo/prometheus/compose.yaml`

View File

@@ -0,0 +1,198 @@
# Calibre Web
**🟢 Media Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | calibre-web |
| **Host** | Atlantis |
| **Category** | Media |
| **Difficulty** | 🟢 |
| **Docker Image** | `ghcr.io/linuxserver/calibre-web` |
| **Compose File** | `Atlantis/calibre-books.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
calibre-web is a media management and streaming service that helps organize and serve your digital media content.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f calibre-web
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: calibre-webui
environment:
- PUID=1026
- PGID=100
- TZ=America/Los_Angeles
- DOCKER_MODS=linuxserver/mods:universal-calibre
- OAUTHLIB_RELAX_TOKEN_SCOPE=1
image: ghcr.io/linuxserver/calibre-web
ports:
- 8083:8083
restart: always
volumes:
- /volume1/docker/calibreweb:/config
- /volume1/docker/books:/books
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PUID` | `1026` | User ID for file permissions |
| `PGID` | `100` | Group ID for file permissions |
| `TZ` | `America/Los_Angeles` | Timezone setting |
| `DOCKER_MODS` | `linuxserver/mods:universal-calibre` | Configuration variable |
| `OAUTHLIB_RELAX_TOKEN_SCOPE` | `***MASKED***` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8083 | 8083 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/calibreweb` | `/config` | bind | Configuration files |
| `/volume1/docker/books` | `/books` | bind | Data storage |
## 🌐 Access Information
Service ports: 8083:8083
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Media not showing**
- Check media file permissions
- Verify volume mounts are correct
- Scan media library manually
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f calibre-web
# Restart service
docker-compose restart calibre-web
# Update service
docker-compose pull calibre-web
docker-compose up -d calibre-web
# Access service shell
docker-compose exec calibre-web /bin/bash
# or
docker-compose exec calibre-web /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for calibre-web
- **Docker Hub**: [ghcr.io/linuxserver/calibre-web](https://hub.docker.com/r/ghcr.io/linuxserver/calibre-web)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD calibre-web:
- Plex
- Jellyfin
- Radarr
- Sonarr
- Bazarr
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/calibre-books.yml`

View File

@@ -0,0 +1,175 @@
# Chrome
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | chrome |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `gcr.io/zenika-hub/alpine-chrome:123` |
| **Compose File** | `homelab_vm/hoarder.yaml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
chrome is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f chrome
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
command:
- chromium-browser
- --no-sandbox
- --disable-gpu
- --disable-dev-shm-usage
- --remote-debugging-address=0.0.0.0
- --remote-debugging-port=9222
- --hide-scrollbars
image: gcr.io/zenika-hub/alpine-chrome:123
ports:
- 9222:9222
restart: unless-stopped
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 9222 | 9222 | TCP | Service port |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
Service ports: 9222:9222
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f chrome
# Restart service
docker-compose restart chrome
# Update service
docker-compose pull chrome
docker-compose up -d chrome
# Access service shell
docker-compose exec chrome /bin/bash
# or
docker-compose exec chrome /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for chrome
- **Docker Hub**: [gcr.io/zenika-hub/alpine-chrome:123](https://hub.docker.com/r/gcr.io/zenika-hub/alpine-chrome:123)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/hoarder.yaml`

View File

@@ -0,0 +1,185 @@
# Cloudlfare Dns Updater
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | cloudlfare-dns-updater |
| **Host** | things_to_try |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `spaskifilip/cloudflare-dns-updater:latest` |
| **Compose File** | `things_to_try/cloudflare-dns-updater.yaml` |
| **Directory** | `things_to_try` |
## 🎯 Purpose
cloudlfare-dns-updater is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (things_to_try)
### Deployment
```bash
# Navigate to service directory
cd things_to_try
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f cloudlfare-dns-updater
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: cloudlfare-dns-updater
environment:
CF_API_TOKEN: YOUR_API_TOKEN
CF_ZONE_ID: YOUR_ZONE_ID1,YOUR_ZONE_ID2
DNS_RECORD_COMMENT_KEY: Comm1,Comm2
PROXIED: true
SCHEDULE_MINUTES: 5
TTL: 1
TYPE: A
image: spaskifilip/cloudflare-dns-updater:latest
restart: unless-stopped
volumes:
- app-data:/app
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `CF_API_TOKEN` | `***MASKED***` | Configuration variable |
| `CF_ZONE_ID` | `YOUR_ZONE_ID1,YOUR_ZONE_ID2` | Configuration variable |
| `DNS_RECORD_COMMENT_KEY` | `***MASKED***` | Configuration variable |
| `SCHEDULE_MINUTES` | `5` | Configuration variable |
| `PROXIED` | `True` | Configuration variable |
| `TYPE` | `A` | Configuration variable |
| `TTL` | `1` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `app-data` | `/app` | volume | Data storage |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f cloudlfare-dns-updater
# Restart service
docker-compose restart cloudlfare-dns-updater
# Update service
docker-compose pull cloudlfare-dns-updater
docker-compose up -d cloudlfare-dns-updater
# Access service shell
docker-compose exec cloudlfare-dns-updater /bin/bash
# or
docker-compose exec cloudlfare-dns-updater /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for cloudlfare-dns-updater
- **Docker Hub**: [spaskifilip/cloudflare-dns-updater:latest](https://hub.docker.com/r/spaskifilip/cloudflare-dns-updater:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on things_to_try
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `things_to_try/cloudflare-dns-updater.yaml`

View File

@@ -0,0 +1,188 @@
# Cocalc
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | cocalc |
| **Host** | guava |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `sagemathinc/cocalc-docker:latest` |
| **Compose File** | `guava/portainer_yaml/cocalc.yaml` |
| **Directory** | `guava/portainer_yaml` |
## 🎯 Purpose
cocalc is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (guava)
### Deployment
```bash
# Navigate to service directory
cd guava/portainer_yaml
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f cocalc
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: cocalc
environment:
- TZ=America/Los_Angeles
- COCALC_NATS_AUTH=false
image: sagemathinc/cocalc-docker:latest
ports:
- 8080:443
restart: unless-stopped
volumes:
- /mnt/data/cocalc/projects:/projects
- /mnt/data/cocalc/home:/home/cocalc
- /mnt/data/cocalc/library:/projects/library
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
| `COCALC_NATS_AUTH` | `false` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8080 | 443 | TCP | HTTPS web interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/mnt/data/cocalc/projects` | `/projects` | bind | Data storage |
| `/mnt/data/cocalc/home` | `/home/cocalc` | bind | Data storage |
| `/mnt/data/cocalc/library` | `/projects/library` | bind | Data storage |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://guava:8080`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f cocalc
# Restart service
docker-compose restart cocalc
# Update service
docker-compose pull cocalc
docker-compose up -d cocalc
# Access service shell
docker-compose exec cocalc /bin/bash
# or
docker-compose exec cocalc /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for cocalc
- **Docker Hub**: [sagemathinc/cocalc-docker:latest](https://hub.docker.com/r/sagemathinc/cocalc-docker:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on guava
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `guava/portainer_yaml/cocalc.yaml`

View File

@@ -0,0 +1,187 @@
# Companion
**🟢 Development Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | companion |
| **Host** | concord_nuc |
| **Category** | Development |
| **Difficulty** | 🟢 |
| **Docker Image** | `quay.io/invidious/invidious-companion:latest` |
| **Compose File** | `concord_nuc/invidious/invidious.yaml` |
| **Directory** | `concord_nuc/invidious` |
## 🎯 Purpose
companion is a development tool that assists with code management, CI/CD, or software development workflows.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (concord_nuc)
### Deployment
```bash
# Navigate to service directory
cd concord_nuc/invidious
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f companion
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
cap_drop:
- ALL
environment:
- SERVER_SECRET_KEY=REDACTED_SECRET_KEY
image: quay.io/invidious/invidious-companion:latest
logging:
options:
max-file: '4'
max-size: 1G
read_only: true
restart: unless-stopped
security_opt:
- no-new-privileges:true
volumes:
- companioncache:/var/tmp/youtubei.js:rw
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `SERVER_SECRET_KEY` | `***MASKED***` | Application secret key |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `companioncache` | `/var/tmp/youtubei.js` | volume | Temporary files |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
- ✅ Read-only root filesystem
- ✅ Capabilities dropped
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f companion
# Restart service
docker-compose restart companion
# Update service
docker-compose pull companion
docker-compose up -d companion
# Access service shell
docker-compose exec companion /bin/bash
# or
docker-compose exec companion /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for companion
- **Docker Hub**: [quay.io/invidious/invidious-companion:latest](https://hub.docker.com/r/quay.io/invidious/invidious-companion:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD companion:
- GitLab
- Gitea
- Jenkins
- Portainer
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `concord_nuc/invidious/invidious.yaml`

View File

@@ -0,0 +1,203 @@
# Coturn
**🟡 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | coturn |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟡 |
| **Docker Image** | `instrumentisto/coturn:latest` |
| **Compose File** | `Atlantis/matrix_synapse_docs/turnserver_docker_compose.yml` |
| **Directory** | `Atlantis/matrix_synapse_docs` |
## 🎯 Purpose
coturn is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis/matrix_synapse_docs
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f coturn
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
command:
- turnserver
- -c
- /config/turnserver.conf
container_name: coturn
environment:
- TZ=America/Los_Angeles
image: instrumentisto/coturn:latest
networks:
turn_net:
ipv4_address: 172.25.0.2
ports:
- 3478:3478/tcp
- 3478:3478/udp
- 5349:5349/tcp
- 5349:5349/udp
- 49160-49200:49160-49200/udp
restart: unless-stopped
ulimits:
nofile:
hard: 65536
soft: 65536
volumes:
- /volume1/docker/turnserver/turnserver.conf:/config/turnserver.conf:ro
- /volume1/docker/turnserver/certs:/config/certs:ro
- /volume1/docker/turnserver/logs:/var/log
- /volume1/docker/turnserver/db:/var/lib/coturn
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 3478 | 3478 | TCP | Service port |
| 3478 | 3478 | UDP | Service port |
| 5349 | 5349 | TCP | Service port |
| 5349 | 5349 | UDP | Service port |
| 49160-49200 | 49160-49200 | UDP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/turnserver/turnserver.conf` | `/config/turnserver.conf` | bind | Configuration files |
| `/volume1/docker/turnserver/certs` | `/config/certs` | bind | Configuration files |
| `/volume1/docker/turnserver/logs` | `/var/log` | bind | System logs |
| `/volume1/docker/turnserver/db` | `/var/lib/coturn` | bind | Service data |
## 🌐 Access Information
Service ports: 3478:3478/tcp, 3478:3478/udp, 5349:5349/tcp, 5349:5349/udp, 49160-49200:49160-49200/udp
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f coturn
# Restart service
docker-compose restart coturn
# Update service
docker-compose pull coturn
docker-compose up -d coturn
# Access service shell
docker-compose exec coturn /bin/bash
# or
docker-compose exec coturn /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for coturn
- **Docker Hub**: [instrumentisto/coturn:latest](https://hub.docker.com/r/instrumentisto/coturn:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/matrix_synapse_docs/turnserver_docker_compose.yml`

View File

@@ -0,0 +1,178 @@
# Cron
**🟡 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | cron |
| **Host** | Calypso |
| **Category** | Other |
| **Difficulty** | 🟡 |
| **Docker Image** | `alpine:latest` |
| **Compose File** | `Calypso/firefly/firefly.yaml` |
| **Directory** | `Calypso/firefly` |
## 🎯 Purpose
cron is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso/firefly
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f cron
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
command: sh -c "echo \"0 3 * * * wget -qO- http://firefly:8080/api/v1/cron/9610001d2871a8622ea5bf5e65fe25db\"
| crontab - && crond -f -L /dev/stdout"
container_name: Firefly-Cron
cpu_shares: 256
depends_on:
firefly:
condition: service_started
environment:
TZ: America/Los_Angeles
hostname: firefly-cron
image: alpine:latest
mem_limit: 64m
restart: on-failure:5
security_opt:
- no-new-privileges:true
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f cron
# Restart service
docker-compose restart cron
# Update service
docker-compose pull cron
docker-compose up -d cron
# Access service shell
docker-compose exec cron /bin/bash
# or
docker-compose exec cron /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for cron
- **Docker Hub**: [Official cron](https://hub.docker.com/_/alpine:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Calypso
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/firefly/firefly.yaml`

View File

@@ -0,0 +1,176 @@
# Dashdot
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | dashdot |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `mauricenino/dashdot` |
| **Compose File** | `homelab_vm/dashdot.yaml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
dashdot is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f dashdot
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: dashdot
image: mauricenino/dashdot
ports:
- 7512:3001
privileged: true
restart: unless-stopped
stdin_open: true
tty: true
volumes:
- /:/mnt/host:ro
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 7512 | 3001 | TCP | Monitoring interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/` | `/mnt/host` | bind | Data storage |
## 🌐 Access Information
Service ports: 7512:3001
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f dashdot
# Restart service
docker-compose restart dashdot
# Update service
docker-compose pull dashdot
docker-compose up -d dashdot
# Access service shell
docker-compose exec dashdot /bin/bash
# or
docker-compose exec dashdot /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for dashdot
- **Docker Hub**: [mauricenino/dashdot](https://hub.docker.com/r/mauricenino/dashdot)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/dashdot.yaml`

View File

@@ -0,0 +1,190 @@
# Database
**🟡 Media Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | database |
| **Host** | raspberry-pi-5-vish |
| **Category** | Media |
| **Difficulty** | 🟡 |
| **Docker Image** | `ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0` |
| **Compose File** | `raspberry-pi-5-vish/immich/docker-compose.yml` |
| **Directory** | `raspberry-pi-5-vish/immich` |
## 🎯 Purpose
database is a media management and streaming service that helps organize and serve your digital media content.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (raspberry-pi-5-vish)
### Deployment
```bash
# Navigate to service directory
cd raspberry-pi-5-vish/immich
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f database
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: immich_postgres
environment:
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: --data-checksums
POSTGRES_PASSWORD: "REDACTED_PASSWORD"
POSTGRES_USER: ${DB_USERNAME}
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
restart: unless-stopped
shm_size: 128mb
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `POSTGRES_PASSWORD` | `***MASKED***` | PostgreSQL password |
| `POSTGRES_USER` | `${DB_USERNAME}` | Configuration variable |
| `POSTGRES_DB` | `${DB_DATABASE_NAME}` | Configuration variable |
| `POSTGRES_INITDB_ARGS` | `--data-checksums` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `${DB_DATA_LOCATION}` | `/var/lib/postgresql/data` | volume | Application data |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Media not showing**
- Check media file permissions
- Verify volume mounts are correct
- Scan media library manually
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f database
# Restart service
docker-compose restart database
# Update service
docker-compose pull database
docker-compose up -d database
# Access service shell
docker-compose exec database /bin/bash
# or
docker-compose exec database /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for database
- **Docker Hub**: [ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0](https://hub.docker.com/r/ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD database:
- Plex
- Jellyfin
- Radarr
- Sonarr
- Bazarr
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `raspberry-pi-5-vish/immich/docker-compose.yml`

View File

@@ -0,0 +1,183 @@
# Db
**🟢 Storage Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | db |
| **Host** | homelab_vm |
| **Category** | Storage |
| **Difficulty** | 🟢 |
| **Docker Image** | `mariadb:11.4-noble` |
| **Compose File** | `homelab_vm/romm/romm.yaml` |
| **Directory** | `homelab_vm/romm` |
## 🎯 Purpose
db is a storage solution that manages data persistence, backup, or file sharing.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm/romm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f db
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: RomM-DB
environment:
MYSQL_DATABASE: romm
MYSQL_PASSWORD: "REDACTED_PASSWORD"
MYSQL_ROOT_PASSWORD: "REDACTED_PASSWORD"
MYSQL_USER: rommuser
TZ: America/Los_Angeles
image: mariadb:11.4-noble
restart: on-failure:5
security_opt:
- no-new-privileges:false
volumes:
- /mnt/atlantis_docker/romm/db:/var/lib/mysql:rw
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `MYSQL_DATABASE` | `romm` | Configuration variable |
| `MYSQL_USER` | `rommuser` | Configuration variable |
| `MYSQL_PASSWORD` | `***MASKED***` | Configuration variable |
| `MYSQL_ROOT_PASSWORD` | `***MASKED***` | MySQL root password |
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/mnt/atlantis_docker/romm/db` | `/var/lib/mysql` | bind | Service data |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f db
# Restart service
docker-compose restart db
# Update service
docker-compose pull db
docker-compose up -d db
# Access service shell
docker-compose exec db /bin/bash
# or
docker-compose exec db /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for db
- **Docker Hub**: [Official db](https://hub.docker.com/_/mariadb:11.4-noble)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the storage category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/romm/romm.yaml`

View File

@@ -0,0 +1,181 @@
# Ddns Crista Love
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | ddns-crista-love |
| **Host** | guava |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `favonia/cloudflare-ddns:latest` |
| **Compose File** | `guava/portainer_yaml/dynamic_dns.yaml` |
| **Directory** | `guava/portainer_yaml` |
## 🎯 Purpose
ddns-crista-love is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (guava)
### Deployment
```bash
# Navigate to service directory
cd guava/portainer_yaml
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f ddns-crista-love
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
cap_drop:
- all
container_name: ddns-crista-love
environment:
- CLOUDFLARE_API_TOKEN=REDACTED_TOKEN
- DOMAINS=crista.love,cle.crista.love,cocalc.crista.love,mm.crista.love
- PROXIED=true
image: favonia/cloudflare-ddns:latest
network_mode: host
read_only: true
restart: always
security_opt:
- no-new-privileges:true
user: 3000:3000
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `CLOUDFLARE_API_TOKEN` | `***MASKED***` | Configuration variable |
| `DOMAINS` | `crista.love,cle.crista.love,cocalc.crista.love,mm.crista.love` | Service domain name |
| `PROXIED` | `true` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
- ✅ Read-only root filesystem
- ✅ Capabilities dropped
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f ddns-crista-love
# Restart service
docker-compose restart ddns-crista-love
# Update service
docker-compose pull ddns-crista-love
docker-compose up -d ddns-crista-love
# Access service shell
docker-compose exec ddns-crista-love /bin/bash
# or
docker-compose exec ddns-crista-love /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for ddns-crista-love
- **Docker Hub**: [favonia/cloudflare-ddns:latest](https://hub.docker.com/r/favonia/cloudflare-ddns:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on guava
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `guava/portainer_yaml/dynamic_dns.yaml`

View File

@@ -0,0 +1,180 @@
# Ddns Thevish Proxied
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | ddns-thevish-proxied |
| **Host** | Calypso |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `favonia/cloudflare-ddns:latest` |
| **Compose File** | `Calypso/dynamic_dns.yaml` |
| **Directory** | `Calypso` |
## 🎯 Purpose
ddns-thevish-proxied is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f ddns-thevish-proxied
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
cap_drop:
- all
environment:
- CLOUDFLARE_API_TOKEN=REDACTED_TOKEN
- DOMAINS=www.thevish.io
- PROXIED=true
image: favonia/cloudflare-ddns:latest
network_mode: host
read_only: true
restart: always
security_opt:
- no-new-privileges:true
user: 1026:100
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `CLOUDFLARE_API_TOKEN` | `***MASKED***` | Configuration variable |
| `DOMAINS` | `www.thevish.io` | Service domain name |
| `PROXIED` | `true` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
- ✅ Read-only root filesystem
- ✅ Capabilities dropped
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f ddns-thevish-proxied
# Restart service
docker-compose restart ddns-thevish-proxied
# Update service
docker-compose pull ddns-thevish-proxied
docker-compose up -d ddns-thevish-proxied
# Access service shell
docker-compose exec ddns-thevish-proxied /bin/bash
# or
docker-compose exec ddns-thevish-proxied /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for ddns-thevish-proxied
- **Docker Hub**: [favonia/cloudflare-ddns:latest](https://hub.docker.com/r/favonia/cloudflare-ddns:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Calypso
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/dynamic_dns.yaml`

View File

@@ -0,0 +1,180 @@
# Ddns Thevish Unproxied
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | ddns-thevish-unproxied |
| **Host** | Calypso |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `favonia/cloudflare-ddns:latest` |
| **Compose File** | `Calypso/dynamic_dns.yaml` |
| **Directory** | `Calypso` |
## 🎯 Purpose
ddns-thevish-unproxied is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f ddns-thevish-unproxied
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
cap_drop:
- all
environment:
- CLOUDFLARE_API_TOKEN=REDACTED_TOKEN
- DOMAINS=binterest.thevish.io,hoarder.thevish.io,joplin.thevish.io,matrix.thevish.io,*.vps.thevish.io
- PROXIED=false
image: favonia/cloudflare-ddns:latest
network_mode: host
read_only: true
restart: always
security_opt:
- no-new-privileges:true
user: 1026:100
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `CLOUDFLARE_API_TOKEN` | `***MASKED***` | Configuration variable |
| `DOMAINS` | `binterest.thevish.io,hoarder.thevish.io,joplin.thevish.io,matrix.thevish.io,*.vps.thevish.io` | Service domain name |
| `PROXIED` | `false` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
- ✅ Read-only root filesystem
- ✅ Capabilities dropped
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f ddns-thevish-unproxied
# Restart service
docker-compose restart ddns-thevish-unproxied
# Update service
docker-compose pull ddns-thevish-unproxied
docker-compose up -d ddns-thevish-unproxied
# Access service shell
docker-compose exec ddns-thevish-unproxied /bin/bash
# or
docker-compose exec ddns-thevish-unproxied /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for ddns-thevish-unproxied
- **Docker Hub**: [favonia/cloudflare-ddns:latest](https://hub.docker.com/r/favonia/cloudflare-ddns:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Calypso
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/dynamic_dns.yaml`

View File

@@ -0,0 +1,215 @@
# Ddns Updater
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | ddns-updater |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `qmcgaw/ddns-updater` |
| **Compose File** | `homelab_vm/ddns.yml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
ddns-updater is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f ddns-updater
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: ddns-updater
environment:
- CONFIG=
- PERIOD=5m
- UPDATE_COOLDOWN_PERIOD=5m
- PUBLICIP_FETCHERS=all
- PUBLICIP_HTTP_PROVIDERS=all
- PUBLICIPV4_HTTP_PROVIDERS=all
- PUBLICIPV6_HTTP_PROVIDERS=all
- PUBLICIP_DNS_PROVIDERS=all
- PUBLICIP_DNS_TIMEOUT=3s
- HTTP_TIMEOUT=10s
- LISTENING_PORT=8000
- ROOT_URL=/
- BACKUP_PERIOD=0
- BACKUP_DIRECTORY=/updater/data
- LOG_LEVEL=info
- LOG_CALLER=hidden
- SHOUTRRR_ADDRESSES=
image: qmcgaw/ddns-updater
network_mode: bridge
ports:
- 8000:8000/tcp
restart: always
volumes:
- /home/homelab/docker/ddns/data:/updater/data
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `CONFIG` | `` | Configuration variable |
| `PERIOD` | `5m` | Configuration variable |
| `UPDATE_COOLDOWN_PERIOD` | `5m` | Configuration variable |
| `PUBLICIP_FETCHERS` | `all` | Configuration variable |
| `PUBLICIP_HTTP_PROVIDERS` | `all` | Configuration variable |
| `PUBLICIPV4_HTTP_PROVIDERS` | `all` | Configuration variable |
| `PUBLICIPV6_HTTP_PROVIDERS` | `all` | Configuration variable |
| `PUBLICIP_DNS_PROVIDERS` | `all` | Configuration variable |
| `PUBLICIP_DNS_TIMEOUT` | `3s` | Configuration variable |
| `HTTP_TIMEOUT` | `10s` | Configuration variable |
| `LISTENING_PORT` | `8000` | Configuration variable |
| `ROOT_URL` | `/` | Configuration variable |
| `BACKUP_PERIOD` | `0` | Configuration variable |
| `BACKUP_DIRECTORY` | `/updater/data` | Configuration variable |
| `LOG_LEVEL` | `info` | Logging verbosity level |
| `LOG_CALLER` | `hidden` | Configuration variable |
| `SHOUTRRR_ADDRESSES` | `` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8000 | 8000 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/home/homelab/docker/ddns/data` | `/updater/data` | bind | Application data |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://homelab_vm:8000`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f ddns-updater
# Restart service
docker-compose restart ddns-updater
# Update service
docker-compose pull ddns-updater
docker-compose up -d ddns-updater
# Access service shell
docker-compose exec ddns-updater /bin/bash
# or
docker-compose exec ddns-updater /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for ddns-updater
- **Docker Hub**: [qmcgaw/ddns-updater](https://hub.docker.com/r/qmcgaw/ddns-updater)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/ddns.yml`

View File

@@ -0,0 +1,180 @@
# Ddns Vish 13340
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | ddns-vish-13340 |
| **Host** | concord_nuc |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `favonia/cloudflare-ddns:latest` |
| **Compose File** | `concord_nuc/dyndns_updater.yaml` |
| **Directory** | `concord_nuc` |
## 🎯 Purpose
ddns-vish-13340 is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (concord_nuc)
### Deployment
```bash
# Navigate to service directory
cd concord_nuc
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f ddns-vish-13340
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
cap_drop:
- all
environment:
- CLOUDFLARE_API_TOKEN=REDACTED_TOKEN
- DOMAINS=api.vish.gg,api.vp.vish.gg,in.vish.gg,client.spotify.vish.gg,spotify.vish.gg
- PROXIED=false
image: favonia/cloudflare-ddns:latest
network_mode: host
read_only: true
restart: always
security_opt:
- no-new-privileges:true
user: 1000:1000
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `CLOUDFLARE_API_TOKEN` | `***MASKED***` | Configuration variable |
| `DOMAINS` | `api.vish.gg,api.vp.vish.gg,in.vish.gg,client.spotify.vish.gg,spotify.vish.gg` | Service domain name |
| `PROXIED` | `false` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
- ✅ Read-only root filesystem
- ✅ Capabilities dropped
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f ddns-vish-13340
# Restart service
docker-compose restart ddns-vish-13340
# Update service
docker-compose pull ddns-vish-13340
docker-compose up -d ddns-vish-13340
# Access service shell
docker-compose exec ddns-vish-13340 /bin/bash
# or
docker-compose exec ddns-vish-13340 /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for ddns-vish-13340
- **Docker Hub**: [favonia/cloudflare-ddns:latest](https://hub.docker.com/r/favonia/cloudflare-ddns:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on concord_nuc
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `concord_nuc/dyndns_updater.yaml`

View File

@@ -0,0 +1,180 @@
# Ddns Vish Proxied
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | ddns-vish-proxied |
| **Host** | Calypso |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `favonia/cloudflare-ddns:latest` |
| **Compose File** | `Calypso/dynamic_dns.yaml` |
| **Directory** | `Calypso` |
## 🎯 Purpose
ddns-vish-proxied is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f ddns-vish-proxied
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
cap_drop:
- all
environment:
- CLOUDFLARE_API_TOKEN=REDACTED_TOKEN
- DOMAINS=www.vish.gg
- PROXIED=true
image: favonia/cloudflare-ddns:latest
network_mode: host
read_only: true
restart: always
security_opt:
- no-new-privileges:true
user: 1026:100
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `CLOUDFLARE_API_TOKEN` | `***MASKED***` | Configuration variable |
| `DOMAINS` | `www.vish.gg` | Service domain name |
| `PROXIED` | `true` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
- ✅ Read-only root filesystem
- ✅ Capabilities dropped
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f ddns-vish-proxied
# Restart service
docker-compose restart ddns-vish-proxied
# Update service
docker-compose pull ddns-vish-proxied
docker-compose up -d ddns-vish-proxied
# Access service shell
docker-compose exec ddns-vish-proxied /bin/bash
# or
docker-compose exec ddns-vish-proxied /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for ddns-vish-proxied
- **Docker Hub**: [favonia/cloudflare-ddns:latest](https://hub.docker.com/r/favonia/cloudflare-ddns:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Calypso
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/dynamic_dns.yaml`

View File

@@ -0,0 +1,180 @@
# Ddns Vish Unproxied
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | ddns-vish-unproxied |
| **Host** | Calypso |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `favonia/cloudflare-ddns:latest` |
| **Compose File** | `Calypso/dynamic_dns.yaml` |
| **Directory** | `Calypso` |
## 🎯 Purpose
ddns-vish-unproxied is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f ddns-vish-unproxied
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
cap_drop:
- all
environment:
- CLOUDFLARE_API_TOKEN=REDACTED_TOKEN
- DOMAINS=cal.vish.gg,git.vish.gg,pw.vish.gg,reddit.vish.gg,*.vish.gg,vish.gg,vp.vish.gg
- PROXIED=false
image: favonia/cloudflare-ddns:latest
network_mode: host
read_only: true
restart: always
security_opt:
- no-new-privileges:true
user: 1026:100
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `CLOUDFLARE_API_TOKEN` | `***MASKED***` | Configuration variable |
| `DOMAINS` | `cal.vish.gg,git.vish.gg,pw.vish.gg,reddit.vish.gg,*.vish.gg,vish.gg,vp.vish.gg` | Service domain name |
| `PROXIED` | `false` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
- ✅ Read-only root filesystem
- ✅ Capabilities dropped
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f ddns-vish-unproxied
# Restart service
docker-compose restart ddns-vish-unproxied
# Update service
docker-compose pull ddns-vish-unproxied
docker-compose up -d ddns-vish-unproxied
# Access service shell
docker-compose exec ddns-vish-unproxied /bin/bash
# or
docker-compose exec ddns-vish-unproxied /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for ddns-vish-unproxied
- **Docker Hub**: [favonia/cloudflare-ddns:latest](https://hub.docker.com/r/favonia/cloudflare-ddns:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Calypso
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/dynamic_dns.yaml`

View File

@@ -0,0 +1,172 @@
# Deiucanta
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | deiucanta |
| **Host** | anubis |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `ghcr.io/deiucanta/chatpad:latest` |
| **Compose File** | `anubis/chatgpt.yml` |
| **Directory** | `anubis` |
## 🎯 Purpose
deiucanta is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (anubis)
### Deployment
```bash
# Navigate to service directory
cd anubis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f deiucanta
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Chatpad-AI
image: ghcr.io/deiucanta/chatpad:latest
ports:
- 5690:80
restart: always
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 5690 | 80 | TCP | HTTP web interface |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://anubis:5690`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f deiucanta
# Restart service
docker-compose restart deiucanta
# Update service
docker-compose pull deiucanta
docker-compose up -d deiucanta
# Access service shell
docker-compose exec deiucanta /bin/bash
# or
docker-compose exec deiucanta /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for deiucanta
- **Docker Hub**: [ghcr.io/deiucanta/chatpad:latest](https://hub.docker.com/r/ghcr.io/deiucanta/chatpad:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on anubis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `anubis/chatgpt.yml`

View File

@@ -0,0 +1,190 @@
# Dockpeek
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | dockpeek |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `ghcr.io/dockpeek/dockpeek:latest` |
| **Compose File** | `Atlantis/dockpeek.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
dockpeek is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f dockpeek
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Dockpeek
environment:
DOCKER_HOST: unix:///var/run/docker.sock
PASSWORD: "REDACTED_PASSWORD"
SECRET_KEY: REDACTED_SECRET_KEY
USERNAME: vish
healthcheck:
interval: 10s
retries: 3
start_period: 90s
test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/8000' || exit 1
timeout: 5s
image: ghcr.io/dockpeek/dockpeek:latest
ports:
- 3812:8000
restart: on-failure:5
volumes:
- /var/run/docker.sock:/var/run/docker.sock
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `SECRET_KEY` | `***MASKED***` | Application secret key |
| `USERNAME` | `vish` | Configuration variable |
| `PASSWORD` | `***MASKED***` | Configuration variable |
| `DOCKER_HOST` | `unix:///var/run/docker.sock` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 3812 | 8000 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/var/run/docker.sock` | `/var/run/docker.sock` | bind | Data storage |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:3812`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `timeout 10s bash -c ':> /dev/tcp/127.0.0.1/8000' || exit 1`
**Check Interval**: 10s
**Timeout**: 5s
**Retries**: 3
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f dockpeek
# Restart service
docker-compose restart dockpeek
# Update service
docker-compose pull dockpeek
docker-compose up -d dockpeek
# Access service shell
docker-compose exec dockpeek /bin/bash
# or
docker-compose exec dockpeek /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for dockpeek
- **Docker Hub**: [ghcr.io/dockpeek/dockpeek:latest](https://hub.docker.com/r/ghcr.io/dockpeek/dockpeek:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/dockpeek.yml`

View File

@@ -0,0 +1,222 @@
# Documenso
**🟡 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | documenso |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟡 |
| **Docker Image** | `documenso/documenso:latest` |
| **Compose File** | `Atlantis/documenso/documenso.yaml` |
| **Directory** | `Atlantis/documenso` |
## 🎯 Purpose
documenso is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis/documenso
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f documenso
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Documenso
depends_on:
db:
condition: service_healthy
environment:
- PORT=3000
- NEXTAUTH_SECRET=REDACTED_NEXTAUTH_SECRET
- NEXT_PRIVATE_ENCRYPTION_KEY=REDACTED_ENCRYPTION_KEY
- NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY=REDACTED_ENCRYPTION_KEY
- NEXTAUTH_URL=https://documenso.thevish.io
- NEXT_PUBLIC_WEBAPP_URL=https://documenso.thevish.io
- NEXT_PRIVATE_INTERNAL_WEBAPP_URL=http://documenso:3000
- NEXT_PUBLIC_MARKETING_URL=https://documenso.thevish.io
- NEXT_PRIVATE_DATABASE_URL=postgres://documensouser:documensopass@documenso-db:5432/documenso
- NEXT_PRIVATE_DIRECT_DATABASE_URL=postgres://documensouser:documensopass@documenso-db:5432/documenso
- NEXT_PUBLIC_UPLOAD_TRANSPORT=database
- NEXT_PRIVATE_SMTP_TRANSPORT=smtp-auth
- NEXT_PRIVATE_SMTP_HOST=smtp.gmail.com
- NEXT_PRIVATE_SMTP_PORT=587
- NEXT_PRIVATE_SMTP_USERNAME=your-email@example.com
- NEXT_PRIVATE_SMTP_PASSWORD="REDACTED_PASSWORD"
- NEXT_PRIVATE_SMTP_SECURE=false
- NEXT_PRIVATE_SMTP_FROM_NAME=Vish
- NEXT_PRIVATE_SMTP_FROM_ADDRESS=your-email@example.com
- NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH=/opt/documenso/cert.p12
image: documenso/documenso:latest
ports:
- 3513:3000
volumes:
- /volume1/docker/documenso/data:/opt/documenso:rw
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PORT` | `3000` | Configuration variable |
| `NEXTAUTH_SECRET` | `***MASKED***` | Configuration variable |
| `NEXT_PRIVATE_ENCRYPTION_KEY` | `***MASKED***` | Configuration variable |
| `NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY` | `***MASKED***` | Configuration variable |
| `NEXTAUTH_URL` | `https://documenso.thevish.io` | Configuration variable |
| `NEXT_PUBLIC_WEBAPP_URL` | `https://documenso.thevish.io` | Configuration variable |
| `NEXT_PRIVATE_INTERNAL_WEBAPP_URL` | `http://documenso:3000` | Configuration variable |
| `NEXT_PUBLIC_MARKETING_URL` | `https://documenso.thevish.io` | Configuration variable |
| `NEXT_PRIVATE_DATABASE_URL` | `postgres://documensouser:documensopass@documenso-db:5432/documenso` | Database connection string |
| `NEXT_PRIVATE_DIRECT_DATABASE_URL` | `postgres://documensouser:documensopass@documenso-db:5432/documenso` | Database connection string |
| `NEXT_PUBLIC_UPLOAD_TRANSPORT` | `database` | Configuration variable |
| `NEXT_PRIVATE_SMTP_TRANSPORT` | `smtp-auth` | Configuration variable |
| `NEXT_PRIVATE_SMTP_HOST` | `smtp.gmail.com` | Configuration variable |
| `NEXT_PRIVATE_SMTP_PORT` | `587` | Configuration variable |
| `NEXT_PRIVATE_SMTP_USERNAME` | `your-email@example.com` | Configuration variable |
| `NEXT_PRIVATE_SMTP_PASSWORD` | `***MASKED***` | Configuration variable |
| `NEXT_PRIVATE_SMTP_SECURE` | `false` | Configuration variable |
| `NEXT_PRIVATE_SMTP_FROM_NAME` | `Vish` | Configuration variable |
| `NEXT_PRIVATE_SMTP_FROM_ADDRESS` | `your-email@example.com` | Configuration variable |
| `NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH` | `/opt/documenso/cert.p12` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 3513 | 3000 | TCP | Web interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/documenso/data` | `/opt/documenso` | bind | Data storage |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:3513`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f documenso
# Restart service
docker-compose restart documenso
# Update service
docker-compose pull documenso
docker-compose up -d documenso
# Access service shell
docker-compose exec documenso /bin/bash
# or
docker-compose exec documenso /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for documenso
- **Docker Hub**: [documenso/documenso:latest](https://hub.docker.com/r/documenso/documenso:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/documenso/documenso.yaml`

View File

@@ -0,0 +1,193 @@
# Dokuwiki
**🟡 Productivity Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | dokuwiki |
| **Host** | Atlantis |
| **Category** | Productivity |
| **Difficulty** | 🟡 |
| **Docker Image** | `ghcr.io/linuxserver/dokuwiki` |
| **Compose File** | `Atlantis/dokuwiki.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
dokuwiki is a productivity application that helps manage tasks, documents, or workflows.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f dokuwiki
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: dokuwiki
environment:
- TZ=America/Los_Angeles
- PUID=1026
- PGID=100
image: ghcr.io/linuxserver/dokuwiki
ports:
- 8399:80
- 4443:443
restart: always
volumes:
- /volume1/docker/dokuwiki:/config
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
| `PUID` | `1026` | User ID for file permissions |
| `PGID` | `100` | Group ID for file permissions |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8399 | 80 | TCP | HTTP web interface |
| 4443 | 443 | TCP | HTTPS web interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/dokuwiki` | `/config` | bind | Configuration files |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:8399`
- **HTTP**: `http://Atlantis:4443`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f dokuwiki
# Restart service
docker-compose restart dokuwiki
# Update service
docker-compose pull dokuwiki
docker-compose up -d dokuwiki
# Access service shell
docker-compose exec dokuwiki /bin/bash
# or
docker-compose exec dokuwiki /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for dokuwiki
- **Docker Hub**: [ghcr.io/linuxserver/dokuwiki](https://hub.docker.com/r/ghcr.io/linuxserver/dokuwiki)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD dokuwiki:
- Nextcloud
- Paperless-NGX
- BookStack
- Syncthing
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/dokuwiki.yml`

View File

@@ -0,0 +1,130 @@
# Download Priority: NZB-First / Torrent Fallback
## Overview
Sonarr and Radarr are configured to exhaust all Usenet (NZB) sources before falling back to
torrents. A torrent is only used if:
1. No working NZB is found, **and**
2. 120 minutes have elapsed since the item was first wanted
This prevents noisy torrent grabs when a perfectly good NZB exists but takes a moment to be
indexed.
## How It Works
### Delay Profile (both Sonarr and Radarr)
| Setting | Value | Reason |
|---------|-------|--------|
| `preferredProtocol` | `usenet` | SABnzbd is tried first |
| `usenetDelay` | 0 min | Grab NZBs immediately |
| `torrentDelay` | **120 min** | Wait 2 hours before allowing torrent grabs |
| `bypassIfHighestQuality` | **false** | Never skip the torrent delay, even for top-quality releases |
`bypassIfHighestQuality: false` is critical. Without it, any torrent matching the highest quality
tier would bypass the 120-minute wait entirely.
### Download Clients
| Client | Protocol | Priority | Service |
|--------|----------|----------|---------|
| SABnzbd | Usenet | **1** (highest) | Sonarr + Radarr |
| Deluge | Torrent | **50** (lower) | Sonarr + Radarr |
Lower priority number = higher precedence. SABnzbd at priority 1 always wins when both protocols
are eligible.
### End-to-End Flow
```
Item goes Wanted
Sonarr/Radarr searches indexers immediately
├─ NZB found? ──► SABnzbd downloads it ──► Done
└─ No NZB found
Wait 120 min (torrent delay)
Search again → Torrent found? ──► Deluge downloads it ──► Done
```
Failed download handling is enabled on both services: if SABnzbd reports a failed download
(missing blocks, password-protected, etc.), the *arr app marks it failed and re-searches,
eventually falling through to Deluge after the delay.
## Configuration Details
### Deluge
Deluge runs inside the gluetun VPN container (network_mode: `service:gluetun`), so all torrent
traffic is routed through the VPN.
- **Host:** `gluetun` (Docker service name, shared network with gluetun)
- **Port:** `8112`
- **Config on Atlantis:** `/volume2/metadata/docker2/deluge/`
- **Default password:** `deluge` (linuxserver/deluge image default)
### SABnzbd
- **Host:** `192.168.0.200`
- **Port:** `8080`
- **Categories:** `tv` (Sonarr), `movies` (Radarr)
## Adjusting the Torrent Delay
To change the 120-minute torrent delay via API:
**Sonarr:**
```bash
curl -X PUT "http://192.168.0.200:8989/api/v3/delayprofile/1" \
-H "X-Api-Key: "REDACTED_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id":1,"enableUsenet":true,"enableTorrent":true,"preferredProtocol":"usenet",
"usenetDelay":0,"torrentDelay":120,"bypassIfHighestQuality":false,
"bypassIfAboveCustomFormatScore":false,"minimumCustomFormatScore":0,
"order":2147483647,"tags":[]}'
```
**Radarr:**
```bash
curl -X PUT "http://192.168.0.200:7878/api/v3/delayprofile/1" \
-H "X-Api-Key: "REDACTED_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id":1,"enableUsenet":true,"enableTorrent":true,"preferredProtocol":"usenet",
"usenetDelay":0,"torrentDelay":120,"bypassIfHighestQuality":false,
"bypassIfAboveCustomFormatScore":false,"minimumCustomFormatScore":0,
"order":2147483647,"tags":[]}'
```
Replace `120` with any value in minutes (e.g. `0` to disable the wait, `60` for 1 hour).
## Verifying the Configuration
```bash
# Check delay profiles
curl -s "http://192.168.0.200:8989/api/v3/delayprofile" \
-H "X-Api-Key: "REDACTED_API_KEY" | python3 -m json.tool
curl -s "http://192.168.0.200:7878/api/v3/delayprofile" \
-H "X-Api-Key: "REDACTED_API_KEY" | python3 -m json.tool
# Check download clients
curl -s "http://192.168.0.200:8989/api/v3/downloadclient" \
-H "X-Api-Key: "REDACTED_API_KEY" | python3 -m json.tool
curl -s "http://192.168.0.200:7878/api/v3/downloadclient" \
-H "X-Api-Key: "REDACTED_API_KEY" | python3 -m json.tool
```
Expected results:
- Both delay profiles: `torrentDelay=120`, `bypassIfHighestQuality=false`
- Sonarr clients: SABnzbd `enable=true priority=1`, Deluge `enable=true priority=50`
- Radarr clients: SABnzbd `enable=true priority=1`, Deluge `enable=true priority=50`
## Scope
This configuration applies to **Sonarr and Radarr only**. Lidarr and Whisparr are out of scope.

View File

@@ -0,0 +1,188 @@
# Dozzle
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | dozzle |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `amir20/dozzle:latest` |
| **Compose File** | `Atlantis/dozzle/dozzle.yaml` |
| **Directory** | `Atlantis/dozzle` |
## 🎯 Purpose
dozzle is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis/dozzle
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f dozzle
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Dozzle
cpu_shares: 768
environment:
DOZZLE_AUTH_PROVIDER: simple
image: amir20/dozzle:latest
mem_limit: 3g
ports:
- 8892:8080
restart: on-failure:5
security_opt:
- no-new-privileges:true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /volume1/docker/dozzle:/data:rw
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `DOZZLE_AUTH_PROVIDER` | `simple` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8892 | 8080 | TCP | Alternative HTTP port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/var/run/docker.sock` | `/var/run/docker.sock` | bind | Data storage |
| `/volume1/docker/dozzle` | `/data` | bind | Application data |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:8892`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f dozzle
# Restart service
docker-compose restart dozzle
# Update service
docker-compose pull dozzle
docker-compose up -d dozzle
# Access service shell
docker-compose exec dozzle /bin/bash
# or
docker-compose exec dozzle /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for dozzle
- **Docker Hub**: [amir20/dozzle:latest](https://hub.docker.com/r/amir20/dozzle:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/dozzle/dozzle.yaml`

View File

@@ -0,0 +1,171 @@
# Drawio
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | drawio |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `jgraph/drawio` |
| **Compose File** | `homelab_vm/drawio.yml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
drawio is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f drawio
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Draw.io
cpu_shares: 768
healthcheck:
test: curl -f http://localhost:8080/ || exit 1
image: jgraph/drawio
mem_limit: 4g
ports:
- 5022:8080
restart: on-failure:5
security_opt:
- no-new-privileges:true
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 5022 | 8080 | TCP | Alternative HTTP port |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://homelab_vm:5022`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `curl -f http://localhost:8080/ || exit 1`
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f drawio
# Restart service
docker-compose restart drawio
# Update service
docker-compose pull drawio
docker-compose up -d drawio
# Access service shell
docker-compose exec drawio /bin/bash
# or
docker-compose exec drawio /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for drawio
- **Docker Hub**: [jgraph/drawio](https://hub.docker.com/r/jgraph/drawio)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/drawio.yml`

View File

@@ -0,0 +1,175 @@
# Droppy
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | droppy |
| **Host** | Bulgaria_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `silverwind/droppy` |
| **Compose File** | `Bulgaria_vm/droppy.yml` |
| **Directory** | `Bulgaria_vm` |
## 🎯 Purpose
droppy is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Bulgaria_vm)
### Deployment
```bash
# Navigate to service directory
cd Bulgaria_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f droppy
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: droppy
image: silverwind/droppy
ports:
- 8989:8989
restart: always
volumes:
- /root/docker/droppy/config/:/config
- /root/docker/droppy/files/:/files
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8989 | 8989 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/root/docker/droppy/config/` | `/config` | bind | Configuration files |
| `/root/docker/droppy/files/` | `/files` | bind | Data storage |
## 🌐 Access Information
Service ports: 8989:8989
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f droppy
# Restart service
docker-compose restart droppy
# Update service
docker-compose pull droppy
docker-compose up -d droppy
# Access service shell
docker-compose exec droppy /bin/bash
# or
docker-compose exec droppy /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for droppy
- **Docker Hub**: [silverwind/droppy](https://hub.docker.com/r/silverwind/droppy)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Bulgaria_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Bulgaria_vm/droppy.yml`

View File

@@ -0,0 +1,177 @@
# Element Web
**🟢 Communication Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | element-web |
| **Host** | anubis |
| **Category** | Communication |
| **Difficulty** | 🟢 |
| **Docker Image** | `vectorim/element-web:latest` |
| **Compose File** | `anubis/element.yml` |
| **Directory** | `anubis` |
## 🎯 Purpose
element-web is a communication platform that enables messaging, collaboration, or social interaction.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (anubis)
### Deployment
```bash
# Navigate to service directory
cd anubis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f element-web
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: element-web
image: vectorim/element-web:latest
ports:
- 9000:80
restart: unless-stopped
volumes:
- /home/vish/docker/elementweb/config.json:/app/config.json
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 9000 | 80 | TCP | HTTP web interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/home/vish/docker/elementweb/config.json` | `/app/config.json` | bind | Configuration files |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://anubis:9000`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f element-web
# Restart service
docker-compose restart element-web
# Update service
docker-compose pull element-web
docker-compose up -d element-web
# Access service shell
docker-compose exec element-web /bin/bash
# or
docker-compose exec element-web /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for element-web
- **Docker Hub**: [vectorim/element-web:latest](https://hub.docker.com/r/vectorim/element-web:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the communication category on anubis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `anubis/element.yml`

View File

@@ -0,0 +1,179 @@
# Fasten
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | fasten |
| **Host** | guava |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `ghcr.io/fastenhealth/fasten-onprem:main` |
| **Compose File** | `guava/portainer_yaml/fasten_health.yaml` |
| **Directory** | `guava/portainer_yaml` |
## 🎯 Purpose
fasten is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (guava)
### Deployment
```bash
# Navigate to service directory
cd guava/portainer_yaml
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f fasten
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: fasten-onprem
image: ghcr.io/fastenhealth/fasten-onprem:main
ports:
- 9090:8080
restart: unless-stopped
volumes:
- /mnt/data/fasten/db:/opt/fasten/db
- /mnt/data/fasten/cache:/opt/fasten/cache
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 9090 | 8080 | TCP | Alternative HTTP port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/mnt/data/fasten/db` | `/opt/fasten/db` | bind | Database files |
| `/mnt/data/fasten/cache` | `/opt/fasten/cache` | bind | Cache data |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://guava:9090`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f fasten
# Restart service
docker-compose restart fasten
# Update service
docker-compose pull fasten
docker-compose up -d fasten
# Access service shell
docker-compose exec fasten /bin/bash
# or
docker-compose exec fasten /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for fasten
- **Docker Hub**: [ghcr.io/fastenhealth/fasten-onprem:main](https://hub.docker.com/r/ghcr.io/fastenhealth/fasten-onprem:main)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on guava
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `guava/portainer_yaml/fasten_health.yaml`

View File

@@ -0,0 +1,186 @@
# Fenrus
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | fenrus |
| **Host** | guava |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `revenz/fenrus:latest` |
| **Compose File** | `guava/portainer_yaml/fenrus_dashboard.yaml` |
| **Directory** | `guava/portainer_yaml` |
## 🎯 Purpose
fenrus is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (guava)
### Deployment
```bash
# Navigate to service directory
cd guava/portainer_yaml
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f fenrus
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: fenrus
environment:
TZ: America/Los_Angeles
healthcheck:
interval: 30s
retries: 3
start_period: 90s
test:
- CMD-SHELL
- curl -f http://127.0.0.1:3000/ || exit 1
timeout: 5s
image: revenz/fenrus:latest
ports:
- 45678:3000
restart: unless-stopped
volumes:
- /mnt/data/fenrus:/app/data:rw
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 45678 | 3000 | TCP | Web interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/mnt/data/fenrus` | `/app/data` | bind | Application data |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://guava:45678`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `CMD-SHELL curl -f http://127.0.0.1:3000/ || exit 1`
**Check Interval**: 30s
**Timeout**: 5s
**Retries**: 3
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f fenrus
# Restart service
docker-compose restart fenrus
# Update service
docker-compose pull fenrus
docker-compose up -d fenrus
# Access service shell
docker-compose exec fenrus /bin/bash
# or
docker-compose exec fenrus /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for fenrus
- **Docker Hub**: [revenz/fenrus:latest](https://hub.docker.com/r/revenz/fenrus:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on guava
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `guava/portainer_yaml/fenrus_dashboard.yaml`

View File

@@ -0,0 +1,189 @@
# Firefly Db Backup
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | firefly-db-backup |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `postgres` |
| **Compose File** | `Atlantis/firefly.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
firefly-db-backup is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f firefly-db-backup
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: firefly-db-backup
entrypoint: "bash -c 'bash -s < /dump/dump_\\`date +%d-%m-%Y\"_\"%H_%M_%S\\`.psql\
\ \n (ls -t /dump/dump*.psql|head -n $$BACKUP_NUM_KEEP;ls /dump/dump*.psql)|sort|uniq\
\ -u|xargs rm -- {} \n sleep $$BACKUP_FREQUENCY \ndone \nEOF'\n"
environment:
BACKUP_FREQUENCY: 7d
BACKUP_NUM_KEEP: 10
PGDATABASE: firefly
PGHOST: firefly-db
PGPASSWORD: "REDACTED_PASSWORD"
PGUSER: firefly
image: postgres
networks:
- internal
volumes:
- /volume1/docker/fireflydb:/dump
- /etc/localtime:/etc/localtime:ro
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PGHOST` | `firefly-db` | Configuration variable |
| `PGDATABASE` | `firefly` | Configuration variable |
| `PGUSER` | `firefly` | Configuration variable |
| `PGPASSWORD` | `***MASKED***` | Configuration variable |
| `BACKUP_NUM_KEEP` | `10` | Configuration variable |
| `BACKUP_FREQUENCY` | `7d` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/fireflydb` | `/dump` | bind | Data storage |
| `/etc/localtime` | `/etc/localtime` | bind | Configuration files |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f firefly-db-backup
# Restart service
docker-compose restart firefly-db-backup
# Update service
docker-compose pull firefly-db-backup
docker-compose up -d firefly-db-backup
# Access service shell
docker-compose exec firefly-db-backup /bin/bash
# or
docker-compose exec firefly-db-backup /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for firefly-db-backup
- **Docker Hub**: [Official firefly-db-backup](https://hub.docker.com/_/postgres)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/firefly.yml`

View File

@@ -0,0 +1,179 @@
# Firefly Db
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | firefly-db |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `postgres` |
| **Compose File** | `Atlantis/firefly.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
firefly-db is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f firefly-db
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: firefly-db
environment:
POSTGRES_DB: firefly
POSTGRES_PASSWORD: "REDACTED_PASSWORD"
POSTGRES_USER: firefly
image: postgres
networks:
- internal
restart: always
volumes:
- /volume1/docker/fireflydb:/var/lib/postgresql/data
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `POSTGRES_DB` | `firefly` | Configuration variable |
| `POSTGRES_USER` | `firefly` | Configuration variable |
| `POSTGRES_PASSWORD` | `***MASKED***` | PostgreSQL password |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/fireflydb` | `/var/lib/postgresql/data` | bind | Application data |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f firefly-db
# Restart service
docker-compose restart firefly-db
# Update service
docker-compose pull firefly-db
docker-compose up -d firefly-db
# Access service shell
docker-compose exec firefly-db /bin/bash
# or
docker-compose exec firefly-db /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for firefly-db
- **Docker Hub**: [Official firefly-db](https://hub.docker.com/_/postgres)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/firefly.yml`

View File

@@ -0,0 +1,164 @@
# Firefly Redis
**🟢 Storage Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | firefly-redis |
| **Host** | Atlantis |
| **Category** | Storage |
| **Difficulty** | 🟢 |
| **Docker Image** | `redis` |
| **Compose File** | `Atlantis/firefly.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
firefly-redis is a storage solution that manages data persistence, backup, or file sharing.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f firefly-redis
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: firefly-redis
image: redis
networks:
- internal
```
### Environment Variables
No environment variables configured.
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f firefly-redis
# Restart service
docker-compose restart firefly-redis
# Update service
docker-compose pull firefly-redis
docker-compose up -d firefly-redis
# Access service shell
docker-compose exec firefly-redis /bin/bash
# or
docker-compose exec firefly-redis /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for firefly-redis
- **Docker Hub**: [Official firefly-redis](https://hub.docker.com/_/redis)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the storage category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/firefly.yml`

View File

@@ -0,0 +1,188 @@
# Firefly
**🟡 Productivity Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | firefly |
| **Host** | Calypso |
| **Category** | Productivity |
| **Difficulty** | 🟡 |
| **Docker Image** | `fireflyiii/core:latest` |
| **Compose File** | `Calypso/firefly/firefly.yaml` |
| **Directory** | `Calypso/firefly` |
## 🎯 Purpose
firefly is a productivity application that helps manage tasks, documents, or workflows.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso/firefly
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f firefly
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Firefly
cpu_shares: 768
depends_on:
db:
condition: service_started
redis:
condition: service_healthy
env_file:
- stack.env
healthcheck:
test: curl -f http://localhost:8080/ || exit 1
hostname: firefly
image: fireflyiii/core:latest
mem_limit: 1g
ports:
- 6182:8080
restart: on-failure:5
security_opt:
- no-new-privileges:true
volumes:
- /volume1/docker/firefly/upload:/var/www/html/storage/upload:rw
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 6182 | 8080 | TCP | Alternative HTTP port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/firefly/upload` | `/var/www/html/storage/upload` | bind | Data storage |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Calypso:6182`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `curl -f http://localhost:8080/ || exit 1`
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f firefly
# Restart service
docker-compose restart firefly
# Update service
docker-compose pull firefly
docker-compose up -d firefly
# Access service shell
docker-compose exec firefly /bin/bash
# or
docker-compose exec firefly /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for firefly
- **Docker Hub**: [fireflyiii/core:latest](https://hub.docker.com/r/fireflyiii/core:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD firefly:
- Nextcloud
- Paperless-NGX
- BookStack
- Syncthing
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/firefly/firefly.yaml`

View File

@@ -0,0 +1,178 @@
# Flaresolverr
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | flaresolverr |
| **Host** | Calypso |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `flaresolverr/flaresolverr:latest` |
| **Compose File** | `Calypso/arr_suite_with_dracula.yml` |
| **Directory** | `Calypso` |
## 🎯 Purpose
flaresolverr is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f flaresolverr
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: flaresolverr
environment:
- TZ=America/Los_Angeles
image: flaresolverr/flaresolverr:latest
networks:
media_net:
ipv4_address: 172.23.0.3
ports:
- 8191:8191
restart: always
security_opt:
- no-new-privileges:true
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8191 | 8191 | TCP | Service port |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
Service ports: 8191:8191
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f flaresolverr
# Restart service
docker-compose restart flaresolverr
# Update service
docker-compose pull flaresolverr
docker-compose up -d flaresolverr
# Access service shell
docker-compose exec flaresolverr /bin/bash
# or
docker-compose exec flaresolverr /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for flaresolverr
- **Docker Hub**: [flaresolverr/flaresolverr:latest](https://hub.docker.com/r/flaresolverr/flaresolverr:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Calypso
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/arr_suite_with_dracula.yml`

View File

@@ -0,0 +1,185 @@
# Front
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | front |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `ghcr.io/getumbrel/llama-gpt-ui:latest` |
| **Compose File** | `Atlantis/llamagpt.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
front is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f front
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: LlamaGPT
cpu_shares: 768
environment:
- OPENAI_API_KEY=REDACTED_API_KEY
- OPENAI_API_HOST=http://llamagpt-api:8000
- DEFAULT_MODEL=/models/llama-2-7b-chat.bin
- WAIT_HOSTS=llamagpt-api:8000
- WAIT_TIMEOUT=600
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:3000
hostname: llamagpt
image: ghcr.io/getumbrel/llama-gpt-ui:latest
mem_limit: 1g
ports:
- 3136:3000
restart: on-failure:5
security_opt:
- no-new-privileges:true
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `OPENAI_API_KEY` | `***MASKED***` | Configuration variable |
| `OPENAI_API_HOST` | `http://llamagpt-api:8000` | Configuration variable |
| `DEFAULT_MODEL` | `/models/llama-2-7b-chat.bin` | Configuration variable |
| `WAIT_HOSTS` | `llamagpt-api:8000` | Configuration variable |
| `WAIT_TIMEOUT` | `600` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 3136 | 3000 | TCP | Web interface |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:3136`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `wget --no-verbose --tries=1 --spider http://localhost:3000`
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f front
# Restart service
docker-compose restart front
# Update service
docker-compose pull front
docker-compose up -d front
# Access service shell
docker-compose exec front /bin/bash
# or
docker-compose exec front /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for front
- **Docker Hub**: [ghcr.io/getumbrel/llama-gpt-ui:latest](https://hub.docker.com/r/ghcr.io/getumbrel/llama-gpt-ui:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/llamagpt.yml`

View File

@@ -0,0 +1,369 @@
# Gitea - Self-Hosted Git Service
**🟡 Development Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | Gitea |
| **Host** | Calypso (192.168.0.250) |
| **Category** | Development |
| **Difficulty** | 🟡 |
| **Docker Images** | `gitea/gitea:latest`, `postgres:16-bookworm` |
| **Compose File** | `Calypso/gitea-server.yaml` |
| **Directory** | `Calypso/` |
| **External Domain** | `git.vish.gg` |
## 🎯 Purpose
Gitea is a lightweight, self-hosted Git service that provides a web-based interface for Git repository management, issue tracking, pull requests, and team collaboration. It's a complete DevOps platform similar to GitHub but running on your own infrastructure.
## 🌐 Access Information
### **Web Interface**
- **External Access**: https://git.vish.gg
- **Internal Access**: http://calypso.tail.vish.gg:3052
- **Local Network**: http://192.168.0.250:3052
### **SSH Git Access**
- **External SSH**: `ssh://git@git.vish.gg:2222`
- **Internal SSH**: `ssh://git@192.168.0.250:2222`
- **Tailscale SSH**: `ssh://git@calypso.tail.vish.gg:2222`
## 🔌 Port Forwarding Configuration
### **Router Port Forward**
| Service | External Port | Internal Port | Protocol | Purpose |
|---------|---------------|---------------|----------|---------|
| **Gitea SSH** | 2222 | 2222 | All | Git SSH operations |
### **Container Port Mappings**
| Host Port | Container Port | Purpose |
|-----------|----------------|---------|
| 3052 | 3000 | Web interface |
| 2222 | 22 | SSH Git access |
### **External Git Operations**
```bash
# Clone repository via external SSH
git clone ssh://git@git.vish.gg:2222/username/repository.git
# Add external remote
git remote add origin ssh://git@git.vish.gg:2222/username/repository.git
# Push to external repository
git push origin main
# Clone via HTTPS (web interface)
git clone https://git.vish.gg/username/repository.git
```
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- PostgreSQL database container
- Port forwarding configured for SSH access
- Domain name pointing to external IP (optional)
### Deployment
```bash
# Navigate to service directory
cd Calypso/
# Start Gitea and database
docker-compose -f gitea-server.yaml up -d
# Check service status
docker-compose -f gitea-server.yaml ps
# View logs
docker-compose -f gitea-server.yaml logs -f
```
### Initial Setup
```bash
# Access web interface
http://192.168.0.250:3052
# Complete initial setup wizard:
1. Database configuration (PostgreSQL)
2. General settings (site title, admin account)
3. Optional settings (email, security)
4. Create admin account
```
## 🔧 Configuration
### Docker Compose Services
#### **Gitea Web Service**
```yaml
web:
image: gitea/gitea:latest
container_name: Gitea
ports:
- 3052:3000 # Web interface
- 2222:22 # SSH Git access
environment:
- USER_UID=1026
- USER_GID=100
- ROOT_URL=https://git.vish.gg
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=gitea-db:5432
```
#### **PostgreSQL Database**
```yaml
db:
image: postgres:16-bookworm
container_name: Gitea-DB
environment:
- POSTGRES_DB=gitea
- POSTGRES_USER=giteauser
- POSTGRES_PASSWORD="REDACTED_PASSWORD"
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "gitea", "-U", "giteauser"]
```
### Key Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `ROOT_URL` | `https://git.vish.gg` | External access URL |
| `USER_UID` | `1026` | User ID for file permissions |
| `USER_GID` | `100` | Group ID for file permissions |
| `POSTGRES_DB` | `gitea` | Database name |
| `POSTGRES_USER` | `giteauser` | Database username |
### Volume Mappings
| Host Path | Container Path | Purpose |
|-----------|----------------|---------|
| `/volume1/docker/gitea/data` | `/data` | Gitea application data |
| `/volume1/docker/gitea/db` | `/var/lib/postgresql/data` | PostgreSQL database |
## 🔒 Security Considerations
### **External Exposure Assessment**
- **✅ SSH Access**: Port 2222 with key-based authentication
- **⚠️ Web Interface**: Should be behind HTTPS reverse proxy
- **✅ Database**: Internal container network only
- **✅ Security Options**: `no-new-privileges:true` enabled
### **Security Recommendations**
```bash
# 1. SSH Key Authentication
- Disable password authentication
- Use SSH keys for all Git operations
- Regularly rotate SSH keys
- Monitor SSH access logs
# 2. Web Interface Security
- Enable 2FA for all users
- Use strong passwords
- Configure HTTPS with valid certificates
- Implement rate limiting
# 3. Database Security
- Regular database backups
- Strong database passwords
- Database access restricted to container network
- Monitor database logs
# 4. Access Control
- Configure user permissions carefully
- Use organization/team features for access control
- Regular audit of user accounts and permissions
- Monitor repository access logs
```
## 🚨 Troubleshooting
### **Common Issues**
#### **SSH Git Access Not Working**
```bash
# Test SSH connection
ssh -p 2222 git@git.vish.gg
# Check SSH key configuration
ssh-add -l
cat ~/.ssh/id_rsa.pub
# Verify port forwarding
nmap -p 2222 git.vish.gg
# Check Gitea SSH settings
docker-compose -f gitea-server.yaml logs web | grep ssh
```
#### **Web Interface Not Accessible**
```bash
# Check container status
docker-compose -f gitea-server.yaml ps
# Verify port binding
netstat -tulpn | grep 3052
# Check logs for errors
docker-compose -f gitea-server.yaml logs web
```
#### **Database Connection Issues**
```bash
# Check database health
docker-compose -f gitea-server.yaml logs db
# Test database connection
docker-compose -f gitea-server.yaml exec db pg_isready -U giteauser
# Verify database credentials
docker-compose -f gitea-server.yaml exec web env | grep POSTGRES
```
### **Performance Optimization**
```bash
# Monitor resource usage
docker stats Gitea Gitea-DB
# Optimize PostgreSQL settings
# Edit postgresql.conf for better performance
# Increase shared_buffers, work_mem
# Configure Gitea caching
# Enable Redis cache for better performance
# Configure Git LFS for large files
```
## 📊 Resource Requirements
### **Recommended Resources**
- **Minimum RAM**: 2GB total (1GB Gitea + 1GB PostgreSQL)
- **Recommended RAM**: 4GB+ for production use
- **CPU**: 2+ cores for multiple concurrent users
- **Storage**: 50GB+ for repositories and database
- **Network**: Moderate bandwidth for Git operations
### **Scaling Considerations**
- **Small teams (1-10 users)**: Default configuration sufficient
- **Medium teams (10-50 users)**: Increase memory allocation
- **Large teams (50+ users)**: Consider external PostgreSQL
- **Enterprise**: Implement clustering and load balancing
## 🔍 Health Monitoring
### **Service Health Checks**
```bash
# Check web interface health
curl -f http://192.168.0.250:3052/api/healthz
# Database health check
docker-compose -f gitea-server.yaml exec db pg_isready -U giteauser
# SSH service check
ssh -p 2222 git@192.168.0.250 info
```
### **Monitoring Metrics**
- **Active users**: Number of logged-in users
- **Repository count**: Total repositories hosted
- **Git operations**: Push/pull frequency and size
- **Database performance**: Query response times
- **Storage usage**: Repository and database disk usage
## 🌐 Integration with Homelab
### **Tailscale Access**
```bash
# Secure internal access
https://calypso.tail.vish.gg:3052
# SSH via Tailscale
ssh://git@calypso.tail.vish.gg:2222
```
### **CI/CD Integration**
```bash
# Gitea Actions (built-in CI/CD)
# Configure runners for automated builds
# Set up webhooks for external services
# Integrate with Docker registry
# External CI/CD
# Jenkins integration via webhooks
# GitHub Actions mirror
# GitLab CI/CD pipeline import
```
### **Backup Integration**
```bash
# Database backups
docker-compose -f gitea-server.yaml exec db pg_dump -U giteauser gitea > backup.sql
# Repository backups
rsync -av /volume1/docker/gitea/data/git/repositories/ /backup/gitea-repos/
# Automated backup scripts
# Schedule regular backups via cron
# Test backup restoration procedures
```
## 🔐 SSO / Authentik Integration
Gitea uses Authentik as an OAuth2/OIDC provider. Both local login and SSO are enabled.
### Authentication Methods
1. **Local Login** — Username/password (admin fallback)
2. **OAuth2 SSO** — "Sign in with Authentik" button on login page
### Configuration
| Setting | Value |
|---------|-------|
| **Authentik App Slug** | `gitea` |
| **Authentik Provider PK** | `2` |
| **Client ID** | `7KamS51a0H7V8HyIsfMKNJ8COstZEFh4Z8Em6ZhO` |
| **Redirect URIs** | `https://git.vish.gg/user/oauth2/authentik/callback`, `https://git.vish.gg/user/oauth2/Authentik/callback` |
| **Discovery URL** | `https://sso.vish.gg/application/o/gitea/.well-known/openid-configuration` |
> **Note:** Both lower and upper-case `authentik`/`Authentik` redirect URIs are registered in Authentik — Gitea sends the capitalised form (`Authentik`) based on the auth source name.
### To re-register the auth source (if lost)
```bash
docker exec -u git Gitea gitea admin auth add-oauth \
--name 'Authentik' \
--provider openidConnect \
--key <client_id> \
--secret <client_secret> \
--auto-discover-url 'https://sso.vish.gg/application/o/gitea/.well-known/openid-configuration' \
--scopes 'openid email profile'
```
### Status
- **OAuth2 SSO**: ✅ Working (added 2026-03-16)
- **Local Login**: ✅ Working
- **Admin user**: `Vish` / `admin@thevish.io`
## 📚 Additional Resources
- **Official Documentation**: [Gitea Documentation](https://docs.gitea.io/)
- **Docker Hub**: [Gitea Docker Image](https://hub.docker.com/r/gitea/gitea)
- **Community**: [Gitea Discourse](https://discourse.gitea.io/)
- **API Documentation**: [Gitea API](https://docs.gitea.io/en-us/api-usage/)
- **Authentik Integration**: [Authentik Gitea Docs](https://docs.goauthentik.io/integrations/services/gitea/)
## 🔗 Related Services
- **PostgreSQL**: Database backend
- **Nginx**: Reverse proxy for HTTPS
- **Docker Registry**: Container image storage
- **Jenkins**: CI/CD integration
- **Grafana**: Monitoring and metrics
---
*This documentation covers the complete Gitea setup including external SSH access and web interface configuration.*
**Last Updated**: 2026-03-16
**Configuration Source**: `hosts/synology/calypso/gitea-server.yaml`
**External Access**: `https://git.vish.gg` (web), `ssh://git@git.vish.gg:2222` (SSH)

View File

@@ -0,0 +1,77 @@
# Garry's Mod PropHunt Server
## Service Information
- **Type**: Game Server
- **Game**: Garry's Mod
- **Gamemode**: PropHunt
- **Category**: Gaming
- **Host**: seattle-vm (Contabo)
## Description
Dedicated Garry's Mod server running the popular PropHunt gamemode where players hide as props while others hunt them down. Features custom maps, automated management, and optimized performance.
## Configuration
- **Game Port**: 27015
- **RCON Port**: 39903 (localhost only)
- **Max Players**: 24
- **Tickrate**: 66
- **Default Map**: ph_office
- **Process User**: gmod
## Features
- PropHunt gamemode with custom maps
- Automated server management
- Steam Workshop integration
- VAC anti-cheat protection
- RCON remote administration
- Automated restarts and updates
- Performance monitoring
- Custom server configurations
## Management
```bash
# Check server status
ps aux | grep srcds_linux
# View server directory
ls -la /home/gmod/gmod-prophunt-server/
# Docker management (alternative)
cd /opt/gmod-prophunt/docker/
docker-compose up -d
docker-compose logs -f
```
## Access
- **Game Server**: YOUR_WAN_IP:27015
- **RCON**: 127.0.0.1:39903 (localhost only)
- **Steam Server Browser**: Search for "PropHunt Server"
## Server Features
- **PropHunt Gameplay**: Hide as props, hunt as seekers
- **Map Rotation**: Multiple PropHunt-specific maps
- **Voice Chat**: In-game voice communication
- **Admin System**: Server administration tools
- **Anti-Cheat**: VAC protection enabled
## File Structure
```
/home/gmod/gmod-prophunt-server/
├── srcds_run # Server startup script
├── srcds_linux # Server binary
├── garrysmod/ # Game files
│ ├── addons/ # Server modifications
│ ├── gamemodes/ # PropHunt gamemode
│ ├── maps/ # Server maps
│ └── cfg/ # Configuration files
```
## Performance
- **CPU Usage**: ~11% (optimized for 16 vCPU)
- **Memory Usage**: ~1GB RAM
- **Network**: UDP traffic on port 27015
- **Uptime**: High availability with automatic restarts
## Related Documentation
- [Seattle VM Garry's Mod Setup](../../hosts/vms/seattle/gmod-prophunt/README.md)
- [Docker Compose Configuration](../../hosts/vms/seattle/gmod-prophunt/docker-compose.yml)

View File

@@ -0,0 +1,175 @@
# Gotenberg
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | gotenberg |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `gotenberg/gotenberg` |
| **Compose File** | `Atlantis/paperlessngx.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
gotenberg is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f gotenberg
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
command:
- gotenberg
- --chromium-disable-routes=true
container_name: PaperlessNGX-GOTENBERG
image: gotenberg/gotenberg
ports:
- 3000:3000
restart: always
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 3000 | 3000 | TCP | Web interface |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:3000`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f gotenberg
# Restart service
docker-compose restart gotenberg
# Update service
docker-compose pull gotenberg
docker-compose up -d gotenberg
# Access service shell
docker-compose exec gotenberg /bin/bash
# or
docker-compose exec gotenberg /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for gotenberg
- **Docker Hub**: [gotenberg/gotenberg](https://hub.docker.com/r/gotenberg/gotenberg)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/paperlessngx.yml`

View File

@@ -0,0 +1,186 @@
# Gotify
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | gotify |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `ghcr.io/gotify/server:latest` |
| **Compose File** | `homelab_vm/gotify.yml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
gotify is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f gotify
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Gotify
environment:
GOTIFY_DEFAULTUSER_NAME: vish
GOTIFY_DEFAULTUSER_PASS: "REDACTED_PASSWORD"
TZ: America/Los_Angeles
image: ghcr.io/gotify/server:latest
ports:
- 8081:80
restart: on-failure:5
volumes:
- /home/homelab/docker/gotify:/app/data:rw
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `GOTIFY_DEFAULTUSER_NAME` | `vish` | Configuration variable |
| `GOTIFY_DEFAULTUSER_PASS` | `REDACTED_PASSWORD` | Configuration variable |
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8081 | 80 | TCP | HTTP web interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/home/homelab/docker/gotify` | `/app/data` | bind | Application data |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://homelab_vm:8081`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f gotify
# Restart service
docker-compose restart gotify
# Update service
docker-compose pull gotify
docker-compose up -d gotify
# Access service shell
docker-compose exec gotify /bin/bash
# or
docker-compose exec gotify /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for gotify
- **Docker Hub**: [ghcr.io/gotify/server:latest](https://hub.docker.com/r/ghcr.io/gotify/server:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/gotify.yml`

View File

@@ -0,0 +1,191 @@
# Grafana OAuth2 with Authentik
**Host**: Homelab VM (192.168.0.210)
**Domain**: `gf.vish.gg`
**Port**: 3300
**Compose File**: `homelab_vm/monitoring.yaml`
**Status**: ✅ Working
## Overview
Grafana is configured to use Authentik OAuth2 for Single Sign-On (SSO). This allows users to log in with their Authentik credentials while maintaining local admin access.
## Authentication Methods
1. **Local Login** - Username/password form (admin/admin by default)
2. **OAuth2 SSO** - "Sign in with Authentik" button
## Architecture
```
User Browser
┌─────────────────┐
│ Cloudflare │
│ (gf.vish.gg) │
└────────┬────────┘
┌─────────────────┐
│ NPM (Calypso) │ ← Direct proxy, NO forward auth
│ Port 443 │
└────────┬────────┘
┌─────────────────┐
│ Grafana │
│ 192.168.0.210 │
│ Port 3300 │
└────────┬────────┘
│ OAuth2 Flow
┌─────────────────┐
│ Authentik │
│ sso.vish.gg │
│ Port 9000 │
└─────────────────┘
```
## Important: OAuth2 vs Forward Auth
**DO NOT** use Authentik Forward Auth (proxy provider) for Grafana. Grafana has native OAuth2 support which provides:
- Role mapping based on Authentik groups
- Proper session management
- User identity within Grafana
Forward Auth intercepts requests before they reach Grafana, preventing the OAuth2 flow from working.
## Configuration
### Authentik Setup
1. **Create OAuth2/OpenID Provider** in Authentik:
- Name: `Grafana OAuth2`
- Client Type: Confidential
- Client ID: `lEGw1UJ9Mhk6QVrNA61rAsr59Kel9gAvdPQ1FAJA`
- Redirect URIs: `https://gf.vish.gg/login/generic_oauth`
2. **CRITICAL: Add Scope Mappings** to the provider:
- `authentik default OAuth Mapping: OpenID 'openid'`
- `authentik default OAuth Mapping: OpenID 'email'`
- `authentik default OAuth Mapping: OpenID 'profile'`
Without these, Authentik won't return email/name claims and Grafana will fail with "InternalError".
3. **Create Application** in Authentik:
- Name: `Grafana`
- Slug: `grafana`
- Provider: Select the OAuth2 provider created above
### Grafana Environment Variables
```yaml
environment:
# OAuth2 SSO Configuration
- GF_AUTH_GENERIC_OAUTH_ENABLED=true
- GF_AUTH_GENERIC_OAUTH_NAME=Authentik
- GF_AUTH_GENERIC_OAUTH_CLIENT_ID=<client_id_from_authentik>
- GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET=<client_secret_from_authentik>
- GF_AUTH_GENERIC_OAUTH_SCOPES=openid profile email
- GF_AUTH_GENERIC_OAUTH_AUTH_URL=https://sso.vish.gg/application/o/authorize/
- GF_AUTH_GENERIC_OAUTH_TOKEN_URL=https://sso.vish.gg/application/o/token/
- GF_AUTH_GENERIC_OAUTH_API_URL=https://sso.vish.gg/application/o/userinfo/
- GF_AUTH_SIGNOUT_REDIRECT_URL=https://sso.vish.gg/application/o/grafana/end-session/
# CRITICAL: Attribute paths to extract user info from Authentik response
- GF_AUTH_GENERIC_OAUTH_EMAIL_ATTRIBUTE_PATH=email
- GF_AUTH_GENERIC_OAUTH_LOGIN_ATTRIBUTE_PATH=preferred_username
- GF_AUTH_GENERIC_OAUTH_NAME_ATTRIBUTE_PATH=name
# Role mapping based on Authentik groups
- GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH=contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer'
# Additional recommended settings
- GF_AUTH_GENERIC_OAUTH_USE_PKCE=true
- GF_AUTH_GENERIC_OAUTH_ALLOW_ASSIGN_GRAFANA_ADMIN=true
# Required for OAuth callbacks
- GF_SERVER_ROOT_URL=https://gf.vish.gg
```
### NPM (Nginx Proxy Manager) Setup
The proxy host for `gf.vish.gg` should:
- Forward to `192.168.0.210:3300`
- **NOT** have any Authentik forward auth configuration
- Enable WebSocket support (for Grafana Live)
- Enable SSL
**Advanced Config should be EMPTY** - no auth_request directives.
### Role Mapping
Create these groups in Authentik and add users:
- `Grafana Admins` → Admin role in Grafana
- `Grafana Editors` → Editor role in Grafana
- No group → Viewer role (default)
## Troubleshooting
### "InternalError" after OAuth login
**Cause 1**: Missing scope mappings in Authentik provider.
**Solution**: In Authentik Admin → Providers → Grafana OAuth2 → Edit:
- Add scope mappings for `openid`, `email`, `profile`
Verify scopes are configured:
```bash
curl https://sso.vish.gg/application/o/grafana/.well-known/openid-configuration | jq '.scopes_supported'
# Should include: ["openid", "email", "profile"]
```
**Cause 2**: Missing email attribute path in Grafana config.
**Solution**: Ensure these env vars are set:
```
GF_AUTH_GENERIC_OAUTH_EMAIL_ATTRIBUTE_PATH=email
GF_AUTH_GENERIC_OAUTH_LOGIN_ATTRIBUTE_PATH=preferred_username
```
### Redirect loop between Grafana and Authentik
**Cause**: Forward Auth is configured in NPM alongside OAuth2.
**Solution**: Remove the Authentik forward auth config from NPM's Advanced Config for gf.vish.gg.
### Check Grafana logs
```bash
docker logs grafana --tail 100 2>&1 | grep -i "oauth\|error"
```
### Test Authentik userinfo endpoint
```bash
curl https://sso.vish.gg/application/o/userinfo/
# Should return REDACTED_APP_PASSWORD when authenticated
```
### Verify OAuth provider configuration via API
```bash
# Check provider has scope mappings
curl -H "Authorization: Bearer <token>" \
https://sso.vish.gg/api/v3/providers/oauth2/1/ | jq '.property_mappings'
# Should NOT be empty
```
## Related Documentation
- [Authentik Service](./authentik.md)
- [Grafana Generic OAuth Docs](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/generic-oauth/)
- [Authentik Grafana Integration](https://docs.goauthentik.io/integrations/services/grafana/)
## Change Log
- **2026-01-31**: Initial OAuth2 setup, removed forward auth from NPM
- **2026-01-31**: Added email/login/name attribute paths to fix userinfo parsing
- **2026-01-31**: Added scope mappings (openid, email, profile) to Authentik provider - **THIS WAS THE FIX**

View File

@@ -0,0 +1,151 @@
# Grafana
**Monitoring Service**
## Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | grafana |
| **Host** | homelab_vm |
| **Category** | Monitoring |
| **Docker Image** | `grafana/grafana-oss:12.4.0` |
| **Compose File** | `hosts/vms/homelab-vm/monitoring.yaml` |
| **Stack** | `monitoring-stack` (Portainer stack ID 687, endpoint 443399) |
| **Deployment** | GitOps via Portainer |
## Purpose
Grafana is the metrics visualization and dashboarding layer for the homelab monitoring stack. It connects to Prometheus as its datasource and provides dashboards for infrastructure health, NAS metrics, and node-level detail.
## Access
| Method | URL |
|--------|-----|
| **External (SSO)** | `https://gf.vish.gg` |
| **Internal** | `http://192.168.0.210:3300` |
| **Local (on VM)** | `http://localhost:3300` |
Authentication is via **Authentik SSO** (`sso.vish.gg`). The local `admin` account is also available for API/CLI use.
## Dashboards
| Dashboard | UID | Source |
|-----------|-----|--------|
| Node Details - Full Metrics *(default home)* | `node-details-v2` | DB (imported) |
| Infrastructure Overview - All Devices | `infrastructure-overview-v2` | Provisioned (monitoring.yaml) |
| Synology NAS Monitoring | `synology-dashboard-v2` | Provisioned (monitoring.yaml) |
| Node Exporter Full | `rYdddlPWk` | DB (imported from grafana.com) |
> **Note**: `node-details-v2` and `Node Exporter Full` exist only in the `grafana-data` volume (DB). If the volume is deleted, they must be re-imported. The provisioned dashboards (Infrastructure Overview, Synology NAS) are embedded in `monitoring.yaml` and survive volume deletion.
The default home dashboard (`node-details-v2`) is set via the Grafana org preferences API and persists in the DB across container restarts.
## Configuration
### Key Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `GF_SECURITY_ADMIN_USER` | `admin` | Local admin username |
| `GF_SECURITY_ADMIN_PASSWORD` | `admin2024` | Local admin password (first-run only; does not override DB after initial setup) |
| `GF_FEATURE_TOGGLES_DISABLE` | `kubernetesDashboards` | Disables Grafana 12 unified storage feature toggle (prevents log spam, restores stable behavior) |
| `GF_SERVER_ROOT_URL` | `https://gf.vish.gg` | Public URL for redirect/SSO |
| `GF_AUTH_GENERIC_OAUTH_ENABLED` | `true` | Authentik SSO enabled |
### Ports
| Host Port | Container Port | Purpose |
|-----------|----------------|---------|
| 3300 | 3000 | Web interface |
### Volumes
| Volume | Container Path | Purpose |
|--------|----------------|---------|
| `monitoring-stack_grafana-data` | `/var/lib/grafana` | Persistent data (DB, plugins, sessions) |
### Provisioned Configs (Docker configs, not bind mounts)
| Config | Target | Purpose |
|--------|--------|---------|
| `grafana_datasources` | `/etc/grafana/provisioning/datasources/datasources.yaml` | Prometheus datasource |
| `grafana_dashboards_config` | `/etc/grafana/provisioning/dashboards/dashboards.yaml` | Dashboard provider config |
| `dashboard_infrastructure` | `/etc/grafana/provisioning/dashboards/json/infrastructure-overview.json` | Infrastructure Overview dashboard |
| `dashboard_synology` | `/etc/grafana/provisioning/dashboards/json/synology-monitoring.json` | Synology NAS dashboard |
## Authentik SSO
Grafana OAuth2 is configured to use Authentik at `sso.vish.gg`. Role mapping:
| Authentik Group | Grafana Role |
|-----------------|-------------|
| `Grafana Admins` | Admin |
| `Grafana Editors` | Editor |
| *(everyone else)* | Viewer |
See `docs/services/individual/grafana-oauth.md` for setup details.
## Useful Commands
```bash
# Check container status
docker ps --filter name=grafana
# View logs
docker logs grafana -f
# Reset admin password (if locked out)
docker exec grafana grafana cli --homepath /usr/share/grafana admin reset-admin-password <newpassword>
# Set org home dashboard via API
curl -X PUT http://admin:<password>@localhost:3300/api/org/preferences \
-H "Content-Type: application/json" \
-d '{"REDACTED_APP_PASSWORD": "node-details-v2"}'
# Check current home dashboard
curl -s http://admin:<password>@localhost:3300/api/org/preferences
```
## Troubleshooting
### Admin password not working after redeploy
`GF_SECURITY_ADMIN_PASSWORD` only applies on the very first run (empty DB). Subsequent redeployments do not reset it. Use the CLI reset:
```bash
docker exec grafana grafana cli --homepath /usr/share/grafana admin reset-admin-password <newpassword>
```
### Home dashboard reverts to Grafana welcome page
The home dashboard is stored in the `preferences` table in `grafana.db`. It survives container restarts as long as the `grafana-data` volume is not deleted. If lost, re-set it via:
```bash
curl -X PUT http://admin:<password>@localhost:3300/api/org/preferences \
-H "Content-Type: application/json" \
-d '{"REDACTED_APP_PASSWORD": "node-details-v2"}'
```
### "No last resource version found" log spam
This is caused by the `kubernetesDashboards` feature toggle being on by default in Grafana 12. It is disabled via `GF_FEATURE_TOGGLES_DISABLE=kubernetesDashboards` in `monitoring.yaml`.
### Dashboards missing after volume wipe
Re-import `Node Details - Full Metrics` and `Node Exporter Full` from grafana.com (IDs: search grafana.com/grafana/dashboards). The provisioned dashboards (Infrastructure Overview, Synology NAS) will auto-restore from `monitoring.yaml` configs.
## Related Services
- **Prometheus** — metrics datasource (`http://prometheus:9090`)
- **Node Exporter** — host metrics (port 9100)
- **SNMP Exporter** — Synology NAS metrics (port 9116)
- **Authentik** — SSO provider (`sso.vish.gg`)
- **Nginx Proxy Manager** — reverse proxy for `gf.vish.gg`
## Related Documentation
- `docs/admin/monitoring-setup.md` — monitoring stack quick reference
- `docs/admin/monitoring.md` — full monitoring & observability guide
- `docs/services/individual/grafana-oauth.md` — Authentik SSO setup
- `docs/infrastructure/monitoring/README.md` — monitoring stack architecture
- `hosts/vms/homelab-vm/monitoring.yaml` — compose file (source of truth)
---
**Last Updated**: 2026-03-08
**Configuration Source**: `hosts/vms/homelab-vm/monitoring.yaml`

View File

@@ -0,0 +1,677 @@
# Headscale - Self-Hosted Tailscale Control Server
**Status**: 🟢 Live
**Host**: Calypso (`100.103.48.78`)
**Stack File**: `hosts/synology/calypso/headscale.yaml`
**Public URL**: `https://headscale.vish.gg:8443`
**Admin UI**: `https://headscale.vish.gg:8443/admin` (Headplane, Authentik SSO)
**Ports**: 8085 (API), 3002 (Headplane UI), 9099 (Metrics), 50443 (gRPC)
---
## Overview
[Headscale](https://headscale.net/) is an open-source, self-hosted implementation of the Tailscale control server. It allows you to run your own Tailscale coordination server, giving you full control over your mesh VPN network.
### Why Self-Host?
| Feature | Tailscale Cloud | Headscale |
|---------|-----------------|-----------|
| **Control** | Tailscale manages | You manage |
| **Data Privacy** | Keys on their servers | Keys on your servers |
| **Cost** | Free tier limits | Unlimited devices |
| **OIDC Auth** | Limited | Full control |
| **Network Isolation** | Shared infra | Your infra only |
---
## Recommended Host: Calypso
### Why Calypso?
| Factor | Rationale |
|--------|-----------|
| **Authentik Integration** | OIDC provider already running for SSO |
| **Nginx Proxy Manager** | HTTPS/SSL termination already configured |
| **Infrastructure Role** | Hosts auth, git, networking services |
| **Stability** | Synology NAS = 24/7 uptime |
| **Resources** | Low footprint fits alongside 52 containers |
### Alternative Hosts
- **Homelab VM**: Viable, but separates auth from control plane
- **Concord NUC**: Running Home Assistant, keep it focused
- **Atlantis**: Primary media server, avoid network-critical services
---
## Architecture
```
Internet
┌─────────────────┐
│ NPM (Calypso) │ ← SSL termination
│ headscale.vish.gg
└────────┬────────┘
│ :8085
┌─────────────────┐
│ Headscale │ ← Control plane
│ (container) │
└────────┬────────┘
│ OIDC
┌─────────────────┐
│ Authentik │ ← User auth
│ sso.vish.gg │
└─────────────────┘
```
### Network Flow
1. Tailscale clients connect to `headscale.vish.gg` (HTTPS)
2. NPM terminates SSL, forwards to Headscale container
3. Users authenticate via Authentik OIDC
4. Headscale coordinates the mesh network
5. Direct connections established between peers (via DERP relays if needed)
---
## Services
| Service | Container | Port | Purpose |
|---------|-----------|------|---------|
| Headscale | `headscale` | 8085→8080 | Control server API |
| Headscale | `headscale` | 50443 | gRPC API |
| Headscale | `headscale` | 9099→9090 | Prometheus metrics |
| Headplane | `headplane` | 3002→3000 | Web admin UI (replaces headscale-ui) |
---
## Pre-Deployment Setup
### Step 1: Create Authentik Application
In Authentik at `https://sso.vish.gg`:
#### 1.1 Create OAuth2/OIDC Provider
1. Go to **Applications****Providers****Create**
2. Select **OAuth2/OpenID Provider**
3. Configure:
| Setting | Value |
|---------|-------|
| Name | `Headscale` |
| Authorization flow | `default-provider-authorization-implicit-consent` |
| Client type | `Confidential` |
| Client ID | (auto-generated, copy this) |
| Client Secret | (auto-generated, copy this) |
| Redirect URIs | `https://headscale.vish.gg/oidc/callback` |
| Signing Key | `authentik Self-signed Certificate` |
4. Under **Advanced protocol settings**:
- Scopes: `openid`, `profile`, `email`
- Subject mode: `Based on the User's Email`
#### 1.2 Create Application
1. Go to **Applications****Applications****Create**
2. Configure:
| Setting | Value |
|---------|-------|
| Name | `Headscale` |
| Slug | `headscale` |
| Provider | Select the provider you created |
| Launch URL | `https://headscale.vish.gg` |
#### 1.3 Copy Credentials
Save these values to update the stack:
- **Client ID**: `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`
- **Client Secret**: `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`
### Step 2: Configure NPM Proxy Hosts
In Nginx Proxy Manager at `http://calypso.vish.local:81`:
#### 2.1 Headscale API Proxy
| Setting | Value |
|---------|-------|
| Domain Names | `headscale.vish.gg` |
| Scheme | `http` |
| Forward Hostname/IP | `headscale` |
| Forward Port | `8080` |
| Block Common Exploits | ✅ |
| Websockets Support | ✅ |
**SSL Tab:**
- SSL Certificate: Request new Let's Encrypt
- Force SSL: ✅
- HTTP/2 Support: ✅
#### 2.2 Headplane UI Proxy (via /admin path on main domain)
The Headplane UI is served at `https://headscale.vish.gg:8443/admin` via NPM path routing.
| Setting | Value |
|---------|-------|
| Domain Names | `headscale.vish.gg` |
| Scheme | `http` |
| Forward Hostname/IP | `headplane` |
| Forward Port | `3000` |
| Custom Location | `/admin` |
### Step 3: Verify Authentik Network
```bash
# SSH to Calypso and check the network name
ssh admin@calypso.vish.local
docker network ls | grep authentik
```
If the network name differs from `authentik-net`, update the stack file.
### Step 4: Update Stack Configuration
Edit `hosts/synology/calypso/headscale.yaml`:
```yaml
oidc:
client_id: "REDACTED_CLIENT_ID"
client_secret: "REDACTED_CLIENT_SECRET"
```
---
## Deployment
### Option A: GitOps via Portainer
```bash
# 1. Commit the stack file
cd /path/to/homelab
git add hosts/synology/calypso/headscale.yaml
git commit -m "feat(headscale): Add self-hosted Tailscale control server"
git push origin main
# 2. Create GitOps stack via API
curl -X POST \
-H "X-API-Key: "REDACTED_API_KEY" \
-H "Content-Type: application/json" \
"http://vishinator.synology.me:10000/api/stacks/create/standalone/repository?endpointId=443397" \
-d '{
"name": "headscale-stack",
"repositoryURL": "https://git.vish.gg/Vish/homelab.git",
"repositoryReferenceName": "refs/heads/main",
"composeFile": "hosts/synology/calypso/headscale.yaml",
"repositoryAuthentication": true,
"repositoryUsername": "",
"repositoryPassword": "YOUR_GIT_TOKEN",
"autoUpdate": {
"interval": "5m",
"forceUpdate": false,
"forcePullImage": false
}
}'
```
### Option B: Manual via Portainer UI
1. Go to Portainer → Stacks → Add stack
2. Select "Repository"
3. Configure:
- Repository URL: `https://git.vish.gg/Vish/homelab.git`
- Reference: `refs/heads/main`
- Compose path: `hosts/synology/calypso/headscale.yaml`
- Authentication: Enable, enter Git token
4. Enable GitOps updates with 5m polling
5. Deploy
---
## Post-Deployment Verification
### 1. Check Container Health
```bash
# Via Portainer API
curl -s -H "X-API-Key: TOKEN" \
"http://vishinator.synology.me:10000/api/endpoints/443397/docker/containers/json" | \
jq '.[] | select(.Names[0] | contains("headscale")) | {name: .Names[0], state: .State}'
```
### 2. Test API Endpoint
```bash
curl -s https://headscale.vish.gg/health
# Should return: {"status":"pass"}
```
### 3. Check Metrics
```bash
curl -s http://calypso.vish.local:9099/metrics | head -20
```
---
## Client Setup
### Linux/macOS
```bash
# Install Tailscale client
curl -fsSL https://tailscale.com/install.sh | sh
# Connect to your Headscale server
sudo tailscale up --login-server=https://headscale.vish.gg
# This will open a browser for OIDC authentication
# After auth, the device will be registered
```
### With Pre-Auth Key
```bash
# Generate key in Headscale first (see Admin Commands below)
sudo tailscale up --login-server=https://headscale.vish.gg --authkey=YOUR_PREAUTH_KEY
```
### iOS/Android
1. Install Tailscale app from App Store/Play Store
2. Open app → Use a different server
3. Enter: `https://headscale.vish.gg`
4. Authenticate via Authentik
### Verify Connection
```bash
tailscale status
# Should show your device and any other connected peers
tailscale ip
# Shows your Tailscale IP (100.64.x.x)
```
---
## Admin Commands
Execute commands inside the Headscale container on Calypso:
```bash
# SSH to Calypso
ssh -p 62000 Vish@100.103.48.78
# Enter container (full path required on Synology)
sudo /usr/local/bin/docker exec headscale headscale <command>
```
> **Note**: Headscale v0.28+ uses numeric user IDs. Get the ID with `users list` first, then pass `--user <ID>` to other commands.
### User Management
```bash
# List users (shows numeric IDs)
headscale users list
# Create a user
headscale users create myuser
# Rename a user
headscale users rename --identifier <id> <newname>
# Delete a user
headscale users destroy --identifier <id>
```
### Node Management
```bash
# List all nodes
headscale nodes list
# Register a node manually
headscale nodes register --user <user-id> --key nodekey:xxxxx
# Delete a node
headscale nodes delete --identifier <node-id>
# Expire a node (force re-auth)
headscale nodes expire --identifier <node-id>
# Move node to different user
headscale nodes move --identifier <node-id> --user <user-id>
```
### Pre-Auth Keys
```bash
# Create a pre-auth key (single use)
headscale preauthkeys create --user <user-id>
# Create reusable key (expires in 24h)
headscale preauthkeys create --user <user-id> --reusable --expiration 24h
# List keys
headscale preauthkeys list --user <user-id>
```
### API Keys
```bash
# Create API key for external integrations
headscale apikeys create --expiration 90d
# List API keys
headscale apikeys list
```
---
## Route & Exit Node Management
> **How it works**: Exit node and subnet routes are a two-step process.
> 1. The **node** must advertise the route via `tailscale set --advertise-exit-node` or `--advertise-routes`.
> 2. The **server** (Headscale) must approve the advertised route. Without approval, the route is visible but not active.
All commands below are run inside the Headscale container on Calypso:
```bash
ssh -p 62000 Vish@100.103.48.78 "sudo /usr/local/bin/docker exec headscale headscale <command>"
```
### List All Routes
Shows every node that is advertising routes, what is approved, and what is actively serving:
```bash
headscale nodes list-routes
```
Output columns:
- **Approved**: routes the server has approved
- **Available**: routes the node is currently advertising
- **Serving (Primary)**: routes actively being used
### Approve an Exit Node
After a node runs `tailscale set --advertise-exit-node`, approve it server-side:
```bash
# Find the node ID first
headscale nodes list
# Approve exit node routes (IPv4 + IPv6)
headscale nodes approve-routes --identifier <node-id> --routes '0.0.0.0/0,::/0'
```
If the node also advertises a subnet route you want to keep approved alongside exit node:
```bash
# Example: calypso also advertises 192.168.0.0/24
headscale nodes approve-routes --identifier 12 --routes '0.0.0.0/0,::/0,192.168.0.0/24'
```
> **Important**: `approve-routes` **replaces** the full approved route list for that node. Always include all routes you want active (subnet routes + exit routes) in a single command.
### Approve a Subnet Route Only
For nodes that advertise a local subnet (e.g. a router or NAS providing LAN access) but are not exit nodes:
```bash
# Example: approve 192.168.0.0/24 for atlantis
headscale nodes approve-routes --identifier 11 --routes '192.168.0.0/24'
```
### Revoke / Remove Routes
To remove approval for a route, re-run `approve-routes` omitting that route:
```bash
# Example: remove exit node approval from a node, keep subnet only
headscale nodes approve-routes --identifier <node-id> --routes '192.168.0.0/24'
# Remove all approved routes from a node
headscale nodes approve-routes --identifier <node-id> --routes ''
```
### Current Exit Nodes (March 2026)
The following nodes are approved as exit nodes:
| Node | ID | Exit Node Routes | Subnet Routes |
|------|----|-----------------|---------------|
| vish-concord-nuc | 5 | `0.0.0.0/0`, `::/0` | `192.168.68.0/22` |
| setillo | 6 | `0.0.0.0/0`, `::/0` | `192.168.69.0/24` |
| truenas-scale | 8 | `0.0.0.0/0`, `::/0` | — |
| atlantis | 11 | `0.0.0.0/0`, `::/0` | — |
| calypso | 12 | `0.0.0.0/0`, `::/0` | `192.168.0.0/24` |
| gl-mt3000 | 16 | `0.0.0.0/0`, `::/0` | `192.168.12.0/24` |
| gl-be3600 | 17 | `0.0.0.0/0`, `::/0` | `192.168.8.0/24` |
| homeassistant | 19 | `0.0.0.0/0`, `::/0` | — |
---
## Adding a New Node
### Step 1: Install Tailscale on the new device
**Linux:**
```bash
curl -fsSL https://tailscale.com/install.sh | sh
```
**Synology NAS:** Install the Tailscale package from Package Center (or manually via `.spk`).
**TrueNAS Scale:** Available as an app in the TrueNAS app catalog.
**Home Assistant:** Install via the HA Add-on Store (search "Tailscale").
**OpenWrt / GL.iNet routers:** Install `tailscale` via `opkg` or the GL.iNet admin panel.
### Step 2: Generate a pre-auth key (recommended for non-interactive installs)
```bash
# Get the user ID first
headscale users list
# Create a reusable pre-auth key (24h expiry)
headscale preauthkeys create --user <user-id> --reusable --expiration 24h
```
### Step 3: Connect the node
**Interactive (browser-based OIDC auth):**
```bash
sudo tailscale up --login-server=https://headscale.vish.gg
# Follow the printed URL to authenticate via Authentik
```
**Non-interactive (pre-auth key):**
```bash
sudo tailscale up --login-server=https://headscale.vish.gg --authkey=<preauth-key>
```
**With exit node advertising enabled from the start:**
```bash
sudo tailscale up \
--login-server=https://headscale.vish.gg \
--authkey=<preauth-key> \
--advertise-exit-node
```
**With subnet route advertising:**
```bash
sudo tailscale up \
--login-server=https://headscale.vish.gg \
--authkey=<preauth-key> \
--advertise-routes=192.168.1.0/24
```
### Step 4: Verify the node registered
```bash
headscale nodes list
# New node should appear with an assigned 100.x.x.x IP
```
### Step 5: Approve routes (if needed)
If the node advertised exit node or subnet routes:
```bash
headscale nodes list-routes
# Find the node ID and approve as needed
headscale nodes approve-routes --identifier <node-id> --routes '0.0.0.0/0,::/0'
```
### Step 6: (Optional) Rename the node
Headscale uses the system hostname by default. To rename:
```bash
headscale nodes rename --identifier <node-id> <new-name>
```
---
## Configuration Reference
### Key Settings in `config.yaml`
| Setting | Value | Description |
|---------|-------|-------------|
| `server_url` | `https://headscale.vish.gg:8443` | Public URL for clients (port 8443 required) |
| `listen_addr` | `0.0.0.0:8080` | Internal listen address |
| `prefixes.v4` | `100.64.0.0/10` | IPv4 CGNAT range |
| `prefixes.v6` | `fd7a:115c:a1e0::/48` | IPv6 ULA range |
| `dns.magic_dns` | `true` | Enable MagicDNS |
| `dns.base_domain` | `tail.vish.gg` | DNS suffix for devices |
| `database.type` | `sqlite` | Database backend |
| `oidc.issuer` | `https://sso.vish.gg/...` | Authentik OIDC endpoint |
### DERP Configuration
Using Tailscale's public DERP servers (recommended):
```yaml
derp:
urls:
- https://controlplane.tailscale.com/derpmap/default
auto_update_enabled: true
```
For self-hosted DERP, see: https://tailscale.com/kb/1118/custom-derp-servers
---
## Monitoring Integration
### Prometheus Scrape Config
Add to your Prometheus configuration:
```yaml
scrape_configs:
- job_name: 'headscale'
static_configs:
- targets: ['calypso.vish.local:9099']
labels:
instance: 'headscale'
```
### Key Metrics
| Metric | Description |
|--------|-------------|
| `headscale_connected_peers` | Number of connected peers |
| `headscale_registered_machines` | Total registered machines |
| `headscale_online_machines` | Currently online machines |
---
## Troubleshooting
### Client Can't Connect
1. **Check DNS resolution**: `nslookup headscale.vish.gg`
2. **Check SSL certificate**: `curl -v https://headscale.vish.gg/health`
3. **Check NPM logs**: Portainer → Calypso → nginx-proxy-manager → Logs
4. **Check Headscale logs**: `docker logs headscale`
### OIDC Authentication Fails
1. **Verify Authentik is reachable**: `curl https://sso.vish.gg/.well-known/openid-configuration`
2. **Check redirect URI**: Must exactly match in Authentik provider
3. **Check client credentials**: Ensure ID/secret are correct in config
4. **Check Headscale logs**: `docker logs headscale | grep oidc`
### Nodes Not Connecting to Each Other
1. **Check DERP connectivity**: Nodes may be relaying through DERP
2. **Check firewall**: Ensure UDP 41641 is open for direct connections
3. **Check node status**: `tailscale status` on each node
### Container Won't Start
1. **Check config syntax**: YAML formatting errors
2. **Check network exists**: `docker network ls | grep authentik`
3. **Check volume permissions**: Synology may have permission issues
---
## Backup
### Data to Backup
| Path | Content |
|------|---------|
| `headscale-data:/var/lib/headscale/db.sqlite` | User/node database |
| `headscale-data:/var/lib/headscale/private.key` | Server private key |
| `headscale-data:/var/lib/headscale/noise_private.key` | Noise protocol key |
### Backup Command
```bash
# On Calypso
docker run --rm -v headscale-data:/data -v /volume1/backups:/backup \
alpine tar czf /backup/headscale-backup-$(date +%Y%m%d).tar.gz /data
```
---
## Migration from Tailscale
If migrating existing devices from Tailscale cloud:
1. **On each device**: `sudo tailscale logout`
2. **Connect to Headscale**: `sudo tailscale up --login-server=https://headscale.vish.gg`
3. **Re-establish routes**: Configure exit nodes and subnet routes as needed
**Note**: You cannot migrate Tailscale cloud configuration directly. ACLs, routes, and settings must be reconfigured.
---
## Related Documentation
- [Authentik SSO Setup](authentik.md)
- [Nginx Proxy Manager](nginx-proxy-manager.md)
- [GitOps Guide](../../admin/gitops.md)
- [Monitoring Setup](../../admin/monitoring.md)
---
## External Resources
- [Headscale Documentation](https://headscale.net/stable/)
- [Headscale GitHub](https://github.com/juanfont/headscale)
- [Headplane GitHub](https://github.com/tale/headplane) (Admin UI — replaces headscale-ui)
- [Tailscale Client Docs](https://tailscale.com/kb/)
---
*Last updated: March 2026 (added Route & Exit Node Management section, Adding a New Node walkthrough; exit nodes approved for atlantis, calypso, homeassistant, setillo, truenas-scale, vish-concord-nuc)*

View File

@@ -0,0 +1,176 @@
# Homeassistant
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | homeassistant |
| **Host** | concord_nuc |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `ghcr.io/home-assistant/home-assistant:stable` |
| **Compose File** | `concord_nuc/homeassistant.yaml` |
| **Directory** | `concord_nuc` |
## 🎯 Purpose
homeassistant is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (concord_nuc)
### Deployment
```bash
# Navigate to service directory
cd concord_nuc
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f homeassistant
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: homeassistant
environment:
- TZ=America/Los_Angeles
image: ghcr.io/home-assistant/home-assistant:stable
network_mode: host
restart: always
volumes:
- /home/vish/docker/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/home/vish/docker/homeassistant` | `/config` | bind | Configuration files |
| `/etc/localtime` | `/etc/localtime` | bind | Configuration files |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f homeassistant
# Restart service
docker-compose restart homeassistant
# Update service
docker-compose pull homeassistant
docker-compose up -d homeassistant
# Access service shell
docker-compose exec homeassistant /bin/bash
# or
docker-compose exec homeassistant /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for homeassistant
- **Docker Hub**: [ghcr.io/home-assistant/home-assistant:stable](https://hub.docker.com/r/ghcr.io/home-assistant/home-assistant:stable)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on concord_nuc
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `concord_nuc/homeassistant.yaml`

View File

@@ -0,0 +1,188 @@
# Hyperpipe Back
**🟡 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | hyperpipe-back |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟡 |
| **Docker Image** | `codeberg.org/hyperpipe/hyperpipe-backend:latest` |
| **Compose File** | `Atlantis/piped.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
hyperpipe-back is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f hyperpipe-back
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Hyperpipe-API
cpu_shares: 768
depends_on:
nginx:
condition: service_healthy
environment:
HYP_PROXY: hyperpipe-proxy.onrender.com
hostname: hyperpipe-backend
image: codeberg.org/hyperpipe/hyperpipe-backend:latest
mem_limit: 512m
ports:
- 3771:3000
read_only: true
restart: on-failure:5
security_opt:
- no-new-privileges:true
user: 1026:100
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `HYP_PROXY` | `hyperpipe-proxy.onrender.com` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 3771 | 3000 | TCP | Web interface |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:3771`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
- ✅ Read-only root filesystem
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f hyperpipe-back
# Restart service
docker-compose restart hyperpipe-back
# Update service
docker-compose pull hyperpipe-back
docker-compose up -d hyperpipe-back
# Access service shell
docker-compose exec hyperpipe-back /bin/bash
# or
docker-compose exec hyperpipe-back /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for hyperpipe-back
- **Docker Hub**: [codeberg.org/hyperpipe/hyperpipe-backend:latest](https://hub.docker.com/r/codeberg.org/hyperpipe/hyperpipe-backend:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/piped.yml`

View File

@@ -0,0 +1,178 @@
# Hyperpipe Front
**🟡 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | hyperpipe-front |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟡 |
| **Docker Image** | `codeberg.org/hyperpipe/hyperpipe:latest` |
| **Compose File** | `Atlantis/piped.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
hyperpipe-front is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f hyperpipe-front
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Hyperpipe-FRONTEND
cpu_shares: 768
depends_on:
hyperpipe-back:
condition: service_started
entrypoint: sh -c 'find /usr/share/nginx/html -type f -exec sed -i s/pipedapi.kavin.rocks/pipedapi.vishinator.synology.me/g
{} \; -exec sed -i s/hyperpipeapi.onrender.com/hyperpipeapi.vishinator.synology.me/g
{} \; && /docker-entrypoint.sh && nginx -g "daemon off;"'
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost
hostname: hyperpipe-frontend
image: codeberg.org/hyperpipe/hyperpipe:latest
mem_limit: 512m
ports:
- 8745:80
restart: on-failure:5
security_opt:
- no-new-privileges:true
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8745 | 80 | TCP | HTTP web interface |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:8745`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `wget --no-verbose --tries=1 --spider http://localhost`
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f hyperpipe-front
# Restart service
docker-compose restart hyperpipe-front
# Update service
docker-compose pull hyperpipe-front
docker-compose up -d hyperpipe-front
# Access service shell
docker-compose exec hyperpipe-front /bin/bash
# or
docker-compose exec hyperpipe-front /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for hyperpipe-front
- **Docker Hub**: [codeberg.org/hyperpipe/hyperpipe:latest](https://hub.docker.com/r/codeberg.org/hyperpipe/hyperpipe:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/piped.yml`

View File

@@ -0,0 +1,203 @@
# Immich Db
**🟡 Media Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | immich-db |
| **Host** | Calypso |
| **Category** | Media |
| **Difficulty** | 🟡 |
| **Docker Image** | `ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0` |
| **Compose File** | `Calypso/immich/docker-compose.yml` |
| **Directory** | `Calypso/immich` |
## 🎯 Purpose
High performance self-hosted photo and video backup solution.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso/immich
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f immich-db
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Immich-DB
environment:
- TZ=America/Los_Angeles
- POSTGRES_DB=immich
- POSTGRES_USER=immichuser
- POSTGRES_PASSWORD="REDACTED_PASSWORD"
- DB_STORAGE_TYPE=HDD
healthcheck:
interval: 10s
retries: 5
test:
- CMD
- pg_isready
- -q
- -d
- immich
- -U
- immichuser
timeout: 5s
hostname: immich-db
image: ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0
restart: on-failure:5
security_opt:
- no-new-privileges:true
shm_size: 128mb
volumes:
- /volume1/docker/immich/db:/var/lib/postgresql/data:rw
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
| `POSTGRES_DB` | `immich` | Configuration variable |
| `POSTGRES_USER` | `immichuser` | Configuration variable |
| `POSTGRES_PASSWORD` | `***MASKED***` | PostgreSQL password |
| `DB_STORAGE_TYPE` | `HDD` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/immich/db` | `/var/lib/postgresql/data` | bind | Application data |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `CMD pg_isready -q -d immich -U immichuser`
**Check Interval**: 10s
**Timeout**: 5s
**Retries**: 5
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Media not showing**
- Check media file permissions
- Verify volume mounts are correct
- Scan media library manually
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f immich-db
# Restart service
docker-compose restart immich-db
# Update service
docker-compose pull immich-db
docker-compose up -d immich-db
# Access service shell
docker-compose exec immich-db /bin/bash
# or
docker-compose exec immich-db /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for immich-db
- **Docker Hub**: [ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0](https://hub.docker.com/r/ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD immich-db:
- Plex
- Jellyfin
- Radarr
- Sonarr
- Bazarr
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/immich/docker-compose.yml`

View File

@@ -0,0 +1,202 @@
# Immich Machine Learning
**🟡 Media Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | immich-machine-learning |
| **Host** | Calypso |
| **Category** | Media |
| **Difficulty** | 🟡 |
| **Docker Image** | `ghcr.io/immich-app/immich-machine-learning:release` |
| **Compose File** | `Calypso/immich/docker-compose.yml` |
| **Directory** | `Calypso/immich` |
## 🎯 Purpose
High performance self-hosted photo and video backup solution.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso/immich
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f immich-machine-learning
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Immich-LEARNING
depends_on:
immich-db:
condition: service_started
env_file:
- stack.env
environment:
- MPLCONFIGDIR=/matplotlib
hostname: immich-machine-learning
image: ghcr.io/immich-app/immich-machine-learning:release
restart: on-failure:5
security_opt:
- no-new-privileges:true
user: 1026:100
volumes:
- /volume1/docker/immich/upload:/data:rw
- /volume1/docker/immich/external_photos/photos:/external/photos:rw
- /volume1/docker/immich/cache:/cache:rw
- /volume1/docker/immich/cache:/.cache:rw
- /volume1/docker/immich/cache:/.config:rw
- /volume1/docker/immich/matplotlib:/matplotlib:rw
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `MPLCONFIGDIR` | `/matplotlib` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/immich/upload` | `/data` | bind | Application data |
| `/volume1/docker/immich/external_photos/photos` | `/external/photos` | bind | Data storage |
| `/volume1/docker/immich/cache` | `/cache` | bind | Cache data |
| `/volume1/docker/immich/cache` | `/.cache` | bind | Data storage |
| `/volume1/docker/immich/cache` | `/.config` | bind | Data storage |
| `/volume1/docker/immich/matplotlib` | `/matplotlib` | bind | Data storage |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Media not showing**
- Check media file permissions
- Verify volume mounts are correct
- Scan media library manually
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f immich-machine-learning
# Restart service
docker-compose restart immich-machine-learning
# Update service
docker-compose pull immich-machine-learning
docker-compose up -d immich-machine-learning
# Access service shell
docker-compose exec immich-machine-learning /bin/bash
# or
docker-compose exec immich-machine-learning /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for immich-machine-learning
- **Docker Hub**: [ghcr.io/immich-app/immich-machine-learning:release](https://hub.docker.com/r/ghcr.io/immich-app/immich-machine-learning:release)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD immich-machine-learning:
- Plex
- Jellyfin
- Radarr
- Sonarr
- Bazarr
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/immich/docker-compose.yml`

View File

@@ -0,0 +1,184 @@
# Immich Redis
**🟡 Media Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | immich-redis |
| **Host** | Calypso |
| **Category** | Media |
| **Difficulty** | 🟡 |
| **Docker Image** | `redis` |
| **Compose File** | `Calypso/immich/docker-compose.yml` |
| **Directory** | `Calypso/immich` |
## 🎯 Purpose
High performance self-hosted photo and video backup solution.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso/immich
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f immich-redis
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Immich-REDIS
environment:
- TZ=America/Los_Angeles
healthcheck:
test:
- CMD-SHELL
- redis-cli ping || exit 1
hostname: immich-redis
image: redis
restart: on-failure:5
security_opt:
- no-new-privileges:true
user: 1026:100
volumes:
- /volume1/docker/immich/redis:/data:rw
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/immich/redis` | `/data` | bind | Application data |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `CMD-SHELL redis-cli ping || exit 1`
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Media not showing**
- Check media file permissions
- Verify volume mounts are correct
- Scan media library manually
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f immich-redis
# Restart service
docker-compose restart immich-redis
# Update service
docker-compose pull immich-redis
docker-compose up -d immich-redis
# Access service shell
docker-compose exec immich-redis /bin/bash
# or
docker-compose exec immich-redis /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for immich-redis
- **Docker Hub**: [Official immich-redis](https://hub.docker.com/_/redis)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD immich-redis:
- Plex
- Jellyfin
- Radarr
- Sonarr
- Bazarr
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/immich/docker-compose.yml`

View File

@@ -0,0 +1,195 @@
# Immich Server
**🟡 Media Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | immich-server |
| **Host** | raspberry-pi-5-vish |
| **Category** | Media |
| **Difficulty** | 🟡 |
| **Docker Image** | `ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}` |
| **Compose File** | `raspberry-pi-5-vish/immich/docker-compose.yml` |
| **Directory** | `raspberry-pi-5-vish/immich` |
## 🎯 Purpose
High performance self-hosted photo and video backup solution.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (raspberry-pi-5-vish)
### Deployment
```bash
# Navigate to service directory
cd raspberry-pi-5-vish/immich
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f immich-server
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: immich_server
depends_on:
- redis
- database
env_file:
- .env
healthcheck:
interval: 30s
retries: 5
test:
- CMD
- curl
- -f
- http://localhost:2283/api/server-info
timeout: 5s
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
ports:
- 2283:2283
restart: unless-stopped
volumes:
- ${UPLOAD_LOCATION}:/data
- /etc/localtime:/etc/localtime:ro
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 2283 | 2283 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `${UPLOAD_LOCATION}` | `/data` | volume | Application data |
| `/etc/localtime` | `/etc/localtime` | bind | Configuration files |
## 🌐 Access Information
Service ports: 2283:2283
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `CMD curl -f http://localhost:2283/api/server-info`
**Check Interval**: 30s
**Timeout**: 5s
**Retries**: 5
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Media not showing**
- Check media file permissions
- Verify volume mounts are correct
- Scan media library manually
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f immich-server
# Restart service
docker-compose restart immich-server
# Update service
docker-compose pull immich-server
docker-compose up -d immich-server
# Access service shell
docker-compose exec immich-server /bin/bash
# or
docker-compose exec immich-server /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for immich-server
- **Docker Hub**: [ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}](https://hub.docker.com/r/ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release})
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD immich-server:
- Plex
- Jellyfin
- Radarr
- Sonarr
- Bazarr
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `raspberry-pi-5-vish/immich/docker-compose.yml`

View File

@@ -0,0 +1,187 @@
# Importer
**🟡 Productivity Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | importer |
| **Host** | Calypso |
| **Category** | Productivity |
| **Difficulty** | 🟡 |
| **Docker Image** | `fireflyiii/data-importer:latest` |
| **Compose File** | `Calypso/firefly/firefly.yaml` |
| **Directory** | `Calypso/firefly` |
## 🎯 Purpose
importer is a productivity application that helps manage tasks, documents, or workflows.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso/firefly
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f importer
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Firefly-Importer
depends_on:
firefly:
condition: service_healthy
hostname: firefly-importer
image: fireflyiii/data-importer:latest
ports:
- 6192:8080
restart: on-failure:5
security_opt:
- no-new-privileges:false
volumes:
- /volume1/docker/firefly/importer:/var/www/html/storage/upload:rw
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 6192 | 8080 | TCP | Alternative HTTP port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/firefly/importer` | `/var/www/html/storage/upload` | bind | Data storage |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Calypso:6192`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f importer
# Restart service
docker-compose restart importer
# Update service
docker-compose pull importer
docker-compose up -d importer
# Access service shell
docker-compose exec importer /bin/bash
# or
docker-compose exec importer /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for importer
- **Docker Hub**: [fireflyiii/data-importer:latest](https://hub.docker.com/r/fireflyiii/data-importer:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD importer:
- Nextcloud
- Paperless-NGX
- BookStack
- Syncthing
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/firefly/firefly.yaml`

View File

@@ -0,0 +1,182 @@
# Inv Sig Helper
**🟢 Development Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | inv_sig_helper |
| **Host** | concord_nuc |
| **Category** | Development |
| **Difficulty** | 🟢 |
| **Docker Image** | `quay.io/invidious/inv-sig-helper:latest` |
| **Compose File** | `concord_nuc/invidious/invidious_old/invidious.yaml` |
| **Directory** | `concord_nuc/invidious/invidious_old` |
## 🎯 Purpose
inv_sig_helper is a development tool that assists with code management, CI/CD, or software development workflows.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (concord_nuc)
### Deployment
```bash
# Navigate to service directory
cd concord_nuc/invidious/invidious_old
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f inv_sig_helper
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
cap_drop:
- ALL
command:
- --tcp
- 0.0.0.0:12999
environment:
- RUST_LOG=info
image: quay.io/invidious/inv-sig-helper:latest
init: true
read_only: true
restart: unless-stopped
security_opt:
- no-new-privileges:true
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `RUST_LOG` | `info` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
- ✅ Read-only root filesystem
- ✅ Capabilities dropped
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f inv_sig_helper
# Restart service
docker-compose restart inv_sig_helper
# Update service
docker-compose pull inv_sig_helper
docker-compose up -d inv_sig_helper
# Access service shell
docker-compose exec inv_sig_helper /bin/bash
# or
docker-compose exec inv_sig_helper /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for inv_sig_helper
- **Docker Hub**: [quay.io/invidious/inv-sig-helper:latest](https://hub.docker.com/r/quay.io/invidious/inv-sig-helper:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD inv_sig_helper:
- GitLab
- Gitea
- Jenkins
- Portainer
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `concord_nuc/invidious/invidious_old/invidious.yaml`

View File

@@ -0,0 +1,183 @@
# Invidious Db
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | invidious-db |
| **Host** | concord_nuc |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `docker.io/library/postgres:14` |
| **Compose File** | `concord_nuc/invidious/invidious_old/invidious.yaml` |
| **Directory** | `concord_nuc/invidious/invidious_old` |
## 🎯 Purpose
invidious-db is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (concord_nuc)
### Deployment
```bash
# Navigate to service directory
cd concord_nuc/invidious/invidious_old
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f invidious-db
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
environment:
POSTGRES_DB: invidious
POSTGRES_PASSWORD: "REDACTED_PASSWORD"
POSTGRES_USER: kemal
healthcheck:
interval: 30s
retries: 3
test:
- CMD-SHELL
- pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB
timeout: 5s
image: docker.io/library/postgres:14
restart: unless-stopped
volumes:
- postgresdata:/var/lib/postgresql/data
- ./config/sql:/config/sql
- ./docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `POSTGRES_DB` | `invidious` | Configuration variable |
| `POSTGRES_USER` | `kemal` | Configuration variable |
| `POSTGRES_PASSWORD` | `***MASKED***` | PostgreSQL password |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `postgresdata` | `/var/lib/postgresql/data` | volume | Application data |
| `./config/sql` | `/config/sql` | bind | Configuration files |
| `./docker/init-invidious-db.sh` | `/docker-entrypoint-initdb.d/init-invidious-db.sh` | bind | Data storage |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `CMD-SHELL pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB`
**Check Interval**: 30s
**Timeout**: 5s
**Retries**: 3
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f invidious-db
# Restart service
docker-compose restart invidious-db
# Update service
docker-compose pull invidious-db
docker-compose up -d invidious-db
# Access service shell
docker-compose exec invidious-db /bin/bash
# or
docker-compose exec invidious-db /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for invidious-db
- **Docker Hub**: [docker.io/library/postgres:14](https://hub.docker.com/r/docker.io/library/postgres:14)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on concord_nuc
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `concord_nuc/invidious/invidious_old/invidious.yaml`

View File

@@ -0,0 +1,136 @@
# Invidious
**🟢 Active Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | invidious |
| **Host** | concord-nuc (vish-concord-nuc) |
| **Category** | Privacy / Media |
| **Docker Image** | `quay.io/invidious/invidious:latest` |
| **Compose File** | `hosts/physical/concord-nuc/invidious/invidious.yaml` |
| **Portainer Stack** | `invidious-stack` (ID: 584, Endpoint: 443398) |
| **Public URL** | https://in.vish.gg |
## 🎯 Purpose
Invidious is a privacy-respecting alternative YouTube frontend. It strips tracking, allows watching without an account, and supports RSS feeds for subscriptions. Paired with [Materialious](http://concord-nuc:3001) as an alternative Material UI.
## 🐳 Stack Services
The `invidious-stack` compose file defines four services:
| Service | Image | Port | Purpose |
|---------|-------|------|---------|
| `invidious` | `quay.io/invidious/invidious:latest` | 3000 | Main frontend |
| `companion` | `quay.io/invidious/invidious-companion:latest` | 8282 (internal) | YouTube stream handler |
| `invidious-db` | `postgres:14` | 5432 (internal) | PostgreSQL database |
| `materialious` | `wardpearce/materialious:latest` | 3001 | Alternative Material UI |
## 🔧 Configuration
### Invidious Config (`INVIDIOUS_CONFIG`)
```yaml
db:
dbname: invidious
user: kemal
password: "REDACTED_PASSWORD"
host: invidious-db
port: 5432
check_tables: true
invidious_companion:
- private_url: "http://companion:8282/companion"
invidious_companion_key: "pha6nuser7ecei1E"
hmac_key: "Kai5eexiewohchei"
```
### Companion Config
```yaml
SERVER_SECRET_KEY: pha6nuser7ecei1E # Must match invidious_companion_key; exactly 16 alphanumeric chars
SERVER_BASE_PATH: /companion
HOST: 0.0.0.0
PORT: 8282
```
### Nginx Reverse Proxy
`in.vish.gg` is served by nginx on the NUC (`/etc/nginx/sites-enabled/in.vish.gg.conf`), proxying to `http://127.0.0.1:3000` with TLS via Certbot/Let's Encrypt.
## 🌐 Access
| Interface | URL |
|-----------|-----|
| Public (HTTPS) | https://in.vish.gg |
| Local Invidious | http://192.168.68.100:3000 |
| Local Materialious | http://192.168.68.100:3001 |
## 🔍 Health Monitoring
- **Invidious**: `wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/trending` every 30s
- **invidious-db**: `pg_isready -U kemal -d invidious` every 30s
## 🚨 Troubleshooting
### 502 Bad Gateway on in.vish.gg
Nginx is up but Invidious isn't responding on port 3000. Check container status via Portainer (endpoint `vish-concord-nuc`, stack `invidious-stack`) or:
```bash
# Via Portainer API
curl -s -H "X-API-Key: <key>" \
"http://vishinator.synology.me:10000/api/endpoints/443398/docker/containers/json?all=true" | \
jq -r '.[] | select(.Names[0] | test("invidious-stack")) | "\(.Names[0]) \(.State) \(.Status)"'
```
### Invidious crash-loops: "password authentication failed for user kemal"
**Root cause**: PostgreSQL 14 defaults to `scram-sha-256` auth, which the Crystal DB driver in Invidious does not support.
**Fix**: Change `pg_hba.conf` on the `invidious-db` container to use `trust` for the Docker subnet, then reload:
```bash
# Exec into invidious-db as postgres user (via Portainer API exec or docker exec)
awk '{if(/host all all all scram-sha-256/) print "host all all 172.21.0.0/16 trust"; else print}' \
/var/lib/postgresql/data/pg_hba.conf > /tmp/hba.tmp && \
mv /tmp/hba.tmp /var/lib/postgresql/data/pg_hba.conf
psql -U kemal -d invidious -c "SELECT pg_reload_conf();"
```
> **Note**: The `pg_hba.conf` lives inside the `postgresdata` Docker volume, so this change persists across container restarts — but will be lost if the volume is deleted and recreated.
### Companion crash-loops: "SERVER_SECRET_KEY contains invalid characters"
**Root cause**: Portainer's GitOps stack editor can bake the literal string `REDACTED_SECRET_KEY` into the container env when a stack is re-saved via the UI, replacing the real secret with the redaction placeholder.
**Fix**: Update the Portainer stack file via API, replacing `REDACTED_SECRET_KEY` with `pha6nuser7ecei1E`. See `scripts/portainer-emergency-fix.sh` for API key and base URL.
The key must be exactly **16 alphanumeric characters** (a-z, A-Z, 0-9 only — no underscores or special chars).
### Checking logs via Portainer API
```bash
# Get container ID first
ID=$(curl -s -H "X-API-Key: <key>" \
"http://vishinator.synology.me:10000/api/endpoints/443398/docker/containers/json?all=true" | \
jq -r '.[] | select(.Names[0] == "/invidious-stack-invidious-1") | .Id')
# Fetch logs (binary Docker stream format — pipe through strings or tr)
curl -s --max-time 10 -H "X-API-Key: <key>" \
"http://vishinator.synology.me:10000/api/endpoints/443398/docker/containers/${ID}/logs?stdout=1&stderr=1&tail=50" | \
tr -cd '[:print:]\n'
```
## 📚 Additional Resources
- [Invidious GitHub](https://github.com/iv-org/invidious)
- [Invidious Companion GitHub](https://github.com/iv-org/invidious-companion)
- [Materialious GitHub](https://github.com/WardPearce/Materialious)
---
**Last Updated**: 2026-02-27
**Configuration Source**: `hosts/physical/concord-nuc/invidious/invidious.yaml`

View File

@@ -0,0 +1,165 @@
# Iperf3
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | iperf3 |
| **Host** | Calypso |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `networkstatic/iperf3` |
| **Compose File** | `Calypso/iperf3.yml` |
| **Directory** | `Calypso` |
## 🎯 Purpose
iperf3 is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f iperf3
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
command: -s
container_name: iperf3
image: networkstatic/iperf3
network_mode: host
restart: unless-stopped
```
### Environment Variables
No environment variables configured.
### Port Mappings
No ports exposed.
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f iperf3
# Restart service
docker-compose restart iperf3
# Update service
docker-compose pull iperf3
docker-compose up -d iperf3
# Access service shell
docker-compose exec iperf3 /bin/bash
# or
docker-compose exec iperf3 /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for iperf3
- **Docker Hub**: [networkstatic/iperf3](https://hub.docker.com/r/networkstatic/iperf3)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Calypso
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/iperf3.yml`

View File

@@ -0,0 +1,183 @@
# It Tools
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | it-tools |
| **Host** | Atlantis |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `corentinth/it-tools:latest` |
| **Compose File** | `Atlantis/it_tools.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
it-tools is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f it-tools
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: IT-Tools
environment:
- TZ=UTC
image: corentinth/it-tools:latest
labels:
- com.docker.compose.service.description=IT Tools Dashboard
logging:
driver: json-file
options:
max-size: 10k
ports:
- 5545:80
restart: always
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `UTC` | Timezone setting |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 5545 | 80 | TCP | HTTP web interface |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:5545`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f it-tools
# Restart service
docker-compose restart it-tools
# Update service
docker-compose pull it-tools
docker-compose up -d it-tools
# Access service shell
docker-compose exec it-tools /bin/bash
# or
docker-compose exec it-tools /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for it-tools
- **Docker Hub**: [corentinth/it-tools:latest](https://hub.docker.com/r/corentinth/it-tools:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/it_tools.yml`

View File

@@ -0,0 +1,205 @@
# Jackett
**🟢 Media Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | jackett |
| **Host** | Atlantis |
| **Category** | Media |
| **Difficulty** | 🟢 |
| **Docker Image** | `lscr.io/linuxserver/jackett:latest` |
| **Compose File** | `Atlantis/arr-suite/docker-compose.yml` |
| **Directory** | `Atlantis/arr-suite` |
## 🎯 Purpose
jackett is a media management and streaming service that helps organize and serve your digital media content.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis/arr-suite
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f jackett
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: jackett
environment:
- PUID=1029
- PGID=65536
- TZ=America/Los_Angeles
- UMASK=022
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:jackett
- TP_THEME=dracula
image: lscr.io/linuxserver/jackett:latest
networks:
media2_net:
ipv4_address: 172.24.0.11
ports:
- 9117:9117
restart: always
security_opt:
- no-new-privileges:true
volumes:
- /volume1/docker2/jackett:/config
- /volume1/data:/downloads
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PUID` | `1029` | User ID for file permissions |
| `PGID` | `65536` | Group ID for file permissions |
| `TZ` | `America/Los_Angeles` | Timezone setting |
| `UMASK` | `022` | Configuration variable |
| `DOCKER_MODS` | `ghcr.io/themepark-dev/theme.park:jackett` | Configuration variable |
| `TP_THEME` | `dracula` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 9117 | 9117 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker2/jackett` | `/config` | bind | Configuration files |
| `/volume1/data` | `/downloads` | bind | Downloaded files |
## 🌐 Access Information
Service ports: 9117:9117
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Media not showing**
- Check media file permissions
- Verify volume mounts are correct
- Scan media library manually
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f jackett
# Restart service
docker-compose restart jackett
# Update service
docker-compose pull jackett
docker-compose up -d jackett
# Access service shell
docker-compose exec jackett /bin/bash
# or
docker-compose exec jackett /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for jackett
- **Docker Hub**: [lscr.io/linuxserver/jackett:latest](https://hub.docker.com/r/lscr.io/linuxserver/jackett:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD jackett:
- Plex
- Jellyfin
- Radarr
- Sonarr
- Bazarr
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/arr-suite/docker-compose.yml`

View File

@@ -0,0 +1,184 @@
# Jdownloader 2
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | jdownloader-2 |
| **Host** | Chicago_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `jlesage/jdownloader-2` |
| **Compose File** | `Chicago_vm/jdownloader2.yml` |
| **Directory** | `Chicago_vm` |
## 🎯 Purpose
jdownloader-2 is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Chicago_vm)
### Deployment
```bash
# Navigate to service directory
cd Chicago_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f jdownloader-2
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: jdownloader2
environment:
- TZ=America/Los_Angeles
image: jlesage/jdownloader-2
ports:
- 13016:5900
- 53578:5800
- 20123:3129
restart: always
volumes:
- /root/docker/j2/output:/output
- /root/docker/j2/config:/config
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 13016 | 5900 | TCP | Service port |
| 53578 | 5800 | TCP | Service port |
| 20123 | 3129 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/root/docker/j2/output` | `/output` | bind | Data storage |
| `/root/docker/j2/config` | `/config` | bind | Configuration files |
## 🌐 Access Information
Service ports: 13016:5900, 53578:5800, 20123:3129
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f jdownloader-2
# Restart service
docker-compose restart jdownloader-2
# Update service
docker-compose pull jdownloader-2
docker-compose up -d jdownloader-2
# Access service shell
docker-compose exec jdownloader-2 /bin/bash
# or
docker-compose exec jdownloader-2 /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for jdownloader-2
- **Docker Hub**: [jlesage/jdownloader-2](https://hub.docker.com/r/jlesage/jdownloader-2)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Chicago_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Chicago_vm/jdownloader2.yml`

View File

@@ -0,0 +1,205 @@
# Jellyfin
**🟡 Media Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | jellyfin |
| **Host** | Chicago_vm |
| **Category** | Media |
| **Difficulty** | 🟡 |
| **Docker Image** | `jellyfin/jellyfin` |
| **Compose File** | `Chicago_vm/jellyfin.yml` |
| **Directory** | `Chicago_vm` |
## 🎯 Purpose
Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Chicago_vm)
### Deployment
```bash
# Navigate to service directory
cd Chicago_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f jellyfin
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: jellyfin
environment:
- JELLYFIN_PublishedServerUrl=http://stuff.thevish.io
extra_hosts:
- host.docker.internal:host-gateway
image: jellyfin/jellyfin
ports:
- 8096:8096
- 8920:8920
- 7359:7359/udp
- 1900:1900/udp
restart: unless-stopped
user: 0:0
volumes:
- /root/jellyfin/config:/config
- /root/jellyfin/cache:/cache
- /root/jellyfin/media:/media
- /root/jellyfin/media2:/media2:ro
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `JELLYFIN_PublishedServerUrl` | `http://stuff.thevish.io` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8096 | 8096 | TCP | Service port |
| 8920 | 8920 | TCP | Service port |
| 7359 | 7359 | UDP | Service port |
| 1900 | 1900 | UDP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/root/jellyfin/config` | `/config` | bind | Configuration files |
| `/root/jellyfin/cache` | `/cache` | bind | Cache data |
| `/root/jellyfin/media` | `/media` | bind | Media files |
| `/root/jellyfin/media2` | `/media2` | bind | Media files |
## 🌐 Access Information
Service ports: 8096:8096, 8920:8920, 7359:7359/udp, 1900:1900/udp
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ✅ Non-root user configured
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Media not showing**
- Check media file permissions
- Verify volume mounts are correct
- Scan media library manually
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f jellyfin
# Restart service
docker-compose restart jellyfin
# Update service
docker-compose pull jellyfin
docker-compose up -d jellyfin
# Access service shell
docker-compose exec jellyfin /bin/bash
# or
docker-compose exec jellyfin /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for jellyfin
- **Docker Hub**: [jellyfin/jellyfin](https://hub.docker.com/r/jellyfin/jellyfin)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
- **Jellyfin Documentation**: https://jellyfin.org/docs/
- **Jellyfin Forum**: https://forum.jellyfin.org/
## 🔗 Related Services
Services REDACTED_APP_PASSWORD jellyfin:
- Plex
- Jellyfin
- Radarr
- Sonarr
- Bazarr
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Chicago_vm/jellyfin.yml`

View File

@@ -0,0 +1,187 @@
# Jellyseerr
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | jellyseerr |
| **Host** | Calypso |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `fallenbagel/jellyseerr:latest` |
| **Compose File** | `Calypso/arr_suite_with_dracula.yml` |
| **Directory** | `Calypso` |
## 🎯 Purpose
jellyseerr is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f jellyseerr
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: jellyseerr
dns:
- 9.9.9.9
- 1.1.1.1
environment:
- TZ=America/Los_Angeles
image: fallenbagel/jellyseerr:latest
networks:
media_net:
ipv4_address: 172.23.0.11
ports:
- 5055:5055/tcp
restart: always
security_opt:
- no-new-privileges:true
user: 1027:65536
volumes:
- /volume1/docker2/jellyseerr:/app/config
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 5055 | 5055 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker2/jellyseerr` | `/app/config` | bind | Configuration files |
## 🌐 Access Information
Service ports: 5055:5055/tcp
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f jellyseerr
# Restart service
docker-compose restart jellyseerr
# Update service
docker-compose pull jellyseerr
docker-compose up -d jellyseerr
# Access service shell
docker-compose exec jellyseerr /bin/bash
# or
docker-compose exec jellyseerr /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for jellyseerr
- **Docker Hub**: [fallenbagel/jellyseerr:latest](https://hub.docker.com/r/fallenbagel/jellyseerr:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Calypso
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/arr_suite_with_dracula.yml`

View File

@@ -0,0 +1,187 @@
# Jicofo
**🟡 Communication Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | jicofo |
| **Host** | Atlantis |
| **Category** | Communication |
| **Difficulty** | 🟡 |
| **Docker Image** | `jitsi/jicofo:stable` |
| **Compose File** | `Atlantis/jitsi/jitsi.yml` |
| **Directory** | `Atlantis/jitsi` |
## 🎯 Purpose
jicofo is a communication platform that enables messaging, collaboration, or social interaction.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis/jitsi
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f jicofo
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: jitsi-jicofo
depends_on:
- prosody
environment:
- XMPP_DOMAIN=meet.jitsi
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
- JICOFO_AUTH_USER=focus
- JICOFO_AUTH_PASSWORD="REDACTED_PASSWORD"
- JICOFO_COMPONENT_SECRET=REDACTED_JITSI_SECRET
- TZ=America/Los_Angeles
image: jitsi/jicofo:stable
networks:
- meet.jitsi
restart: unless-stopped
volumes:
- /volume1/docker/jitsi/jicofo:/config
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `XMPP_DOMAIN` | `meet.jitsi` | Service domain name |
| `XMPP_AUTH_DOMAIN` | `auth.meet.jitsi` | Service domain name |
| `JICOFO_AUTH_USER` | `focus` | Configuration variable |
| `JICOFO_AUTH_PASSWORD` | `***MASKED***` | Configuration variable |
| `JICOFO_COMPONENT_SECRET` | `***MASKED***` | Configuration variable |
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/jitsi/jicofo` | `/config` | bind | Configuration files |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f jicofo
# Restart service
docker-compose restart jicofo
# Update service
docker-compose pull jicofo
docker-compose up -d jicofo
# Access service shell
docker-compose exec jicofo /bin/bash
# or
docker-compose exec jicofo /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for jicofo
- **Docker Hub**: [jitsi/jicofo:stable](https://hub.docker.com/r/jitsi/jicofo:stable)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the communication category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/jitsi/jitsi.yml`

View File

@@ -0,0 +1,339 @@
# Jitsi Meet - Complete Video Conferencing Platform
**🟡 Communication Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | Jitsi Meet (Complete Stack) |
| **Host** | Atlantis (192.168.0.200) |
| **Category** | Communication |
| **Difficulty** | 🟡 |
| **Docker Images** | `jitsi/web`, `jitsi/prosody`, `jitsi/jicofo`, `jitsi/jvb` |
| **Compose File** | `Atlantis/jitsi/jitsi.yml` |
| **Directory** | `Atlantis/jitsi` |
| **External Domain** | `meet.thevish.io` |
## 🎯 Purpose
Jitsi Meet is a complete open-source video conferencing platform that provides secure, high-quality video calls and meetings. It includes web interface, XMPP server, conference focus, and video bridge components.
## 🌐 Port Forwarding Configuration
### **External Access (Router Port Forwards)**
| Service | External Port | Internal Port | Protocol | Purpose |
|---------|---------------|---------------|----------|---------|
| **Jitsi Web** | 4443 | 4443 | TCP | HTTPS web interface |
| **STUN Server** | 3478 | 3478 | All | NAT traversal for WebRTC |
| **TURN Server** | 5349 | 5349 | All | Relay for restricted networks |
| **RTP Media** | 49160-49200 | 49160-49200 | All | Media streams (40 port range) |
### **Internal Container Ports**
| Component | Container Port | Host Port | Purpose |
|-----------|----------------|-----------|---------|
| **Jitsi Web** | 80, 443 | 5080, 5443 | HTTP/HTTPS interface |
| **JVB** | 10000/udp | 10000/udp | Video bridge |
| **Prosody** | 5222, 5347 | Internal | XMPP server |
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Port forwarding configured on router
- Domain name pointing to external IP
- SSL certificates (Let's Encrypt recommended)
### Deployment
```bash
# Navigate to service directory
cd Atlantis/jitsi
# Start the complete Jitsi Meet stack
docker-compose up -d
# Check all services status
docker-compose ps
# View logs for all components
docker-compose logs -f
```
### External Access
```bash
# Primary access URL
https://meet.thevish.io
# Alternative domain access
https://meet.vish.gg
# Direct port access (if needed)
https://meet.thevish.io:4443
```
## 🔧 Configuration
### Docker Compose Services
#### **Jitsi Web (Frontend)**
```yaml
web:
image: jitsi/web:stable
container_name: jitsi-web
ports:
- "5080:80" # HTTP (redirects to HTTPS)
- "5443:443" # HTTPS web interface
environment:
- PUBLIC_URL=https://meet.thevish.io
- ENABLE_P2P=0
- ENABLE_TURN=1
- TURN_HOST=turn.thevish.io
- TURN_PORT=3478
- DISABLE_HTTPS=0
```
#### **Prosody (XMPP Server)**
```yaml
prosody:
image: jitsi/prosody:stable
container_name: jitsi-prosody
environment:
- XMPP_DOMAIN=meet.jitsi
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
- XMPP_MUC_DOMAIN=muc.meet.jitsi
```
#### **Jicofo (Conference Focus)**
```yaml
jicofo:
image: jitsi/jicofo:stable
container_name: jitsi-jicofo
environment:
- XMPP_DOMAIN=meet.jitsi
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
- JICOFO_AUTH_USER=focus
```
#### **JVB (Video Bridge)**
```yaml
jvb:
image: jitsi/jvb:stable
container_name: jitsi-jvb
ports:
- "10000:10000/udp" # Video bridge
environment:
- JVB_PORT=10000
- JVB_STUN_SERVERS=stun.l.google.com:19302
- DOCKER_HOST_ADDRESS=meet.thevish.io
```
### Key Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PUBLIC_URL` | `https://meet.thevish.io` | External access URL |
| `DOCKER_HOST_ADDRESS` | `meet.thevish.io` | Host address for WebRTC |
| `ENABLE_P2P` | `0` | Disable peer-to-peer (force through server) |
| `ENABLE_TURN` | `1` | Enable TURN server for NAT traversal |
| `TURN_HOST` | `turn.thevish.io` | TURN server hostname |
| `TURN_PORT` | `3478` | TURN server port |
## 🌐 Network Architecture
### **External Access Flow**
```
Internet → Router (Port Forward) → Atlantis → Docker Container
Port 4443 → 192.168.0.200:5443 → jitsi-web:443
Port 3478 → 192.168.0.200:3478 → STUN/TURN server
Port 5349 → 192.168.0.200:5349 → TURN server
Port 49160-49200 → 192.168.0.200:49160-49200 → RTP media
```
### **Internal Container Network**
```
meet.jitsi (Docker Network)
├── jitsi-web (Frontend)
├── jitsi-prosody (XMPP Server)
├── jitsi-jicofo (Conference Focus)
└── jitsi-jvb (Video Bridge)
```
## 🔒 Security Considerations
### **External Exposure Assessment**
- **✅ High Security**: HTTPS encryption on port 4443
- **✅ Standard Protocols**: STUN/TURN are industry standard
- **⚠️ Media Ports**: RTP range 49160-49200 exposed for media
- **✅ Authentication**: Meeting rooms can be password protected
### **Security Recommendations**
```bash
# 1. Enable meeting passwords
- Configure lobby mode for meetings
- Require passwords for sensitive meetings
- Use waiting rooms for additional control
# 2. Monitor access logs
- Review Nginx/web server logs regularly
- Monitor for unusual connection patterns
- Set up alerts for failed authentication attempts
# 3. Keep services updated
- Regular updates for all Jitsi components
- Monitor security advisories
- Implement automated security scanning
# 4. Network security
- Firewall rules for specific IP ranges if needed
- Consider VPN access for internal meetings
- Implement rate limiting on web interface
```
## 🚨 Troubleshooting
### **Common Issues**
#### **Can't Access Web Interface**
```bash
# Check external access
curl -I https://meet.thevish.io
curl -I https://meet.vish.gg
# Verify port forwarding
nmap -p 4443 meet.thevish.io
# Check container status
docker-compose ps
docker-compose logs web
```
#### **Video/Audio Not Working**
```bash
# Check STUN/TURN servers
nmap -p 3478,5349 meet.thevish.io
# Verify RTP port range
nmap -p 49160-49200 meet.thevish.io
# Test WebRTC connectivity
# Use browser developer tools → Network tab
# Look for STUN/TURN connection attempts
```
#### **Meeting Connection Issues**
```bash
# Check JVB (Video Bridge) status
docker-compose logs jvb
# Verify XMPP server
docker-compose logs prosody
# Check conference focus
docker-compose logs jicofo
# Test internal connectivity
docker-compose exec web ping prosody
```
### **Performance Optimization**
```bash
# Monitor resource usage
docker stats
# Check bandwidth usage
iftop -i eth0
# Optimize JVB settings for concurrent users
# Edit JVB configuration for higher capacity
```
## 📊 Resource Requirements
### **Recommended Resources**
- **Minimum RAM**: 4GB total for all components
- **Recommended RAM**: 8GB+ for production use
- **CPU**: 4+ cores for multiple concurrent meetings
- **Network**: High bandwidth for media streaming
- **Storage**: 10GB+ for logs and configuration
### **Scaling Considerations**
- **Small meetings (2-4 people)**: Default configuration sufficient
- **Medium meetings (5-15 people)**: Increase JVB memory allocation
- **Large meetings (15+ people)**: Consider multiple JVB instances
- **Enterprise scale**: Implement Jitsi cluster with load balancing
## 🔍 Health Monitoring
### **Service Health Checks**
```bash
# Check all components
docker-compose ps
# Test web interface
curl -f https://meet.thevish.io/config.js
# Verify XMPP server
docker-compose exec prosody prosodyctl status
# Check video bridge
curl -f http://localhost:8080/colibri/stats
```
### **Monitoring Metrics**
- **Active meetings**: Number of concurrent conferences
- **Participant count**: Total users across all meetings
- **Bandwidth usage**: Network utilization for media streams
- **CPU/Memory**: Resource consumption per component
- **Connection success rate**: WebRTC connection establishment
## 🌐 Integration with Homelab
### **Tailscale Access**
```bash
# Internal access via Tailscale
https://atlantis.tail.vish.gg:5443
# Secure admin access
https://atlantis.tail.vish.gg:5080/admin
```
### **Reverse Proxy Integration**
```bash
# If using Nginx Proxy Manager or Traefik
# Configure reverse proxy for clean URLs
# Handle SSL termination at proxy level
# Load balance multiple Jitsi instances
```
### **Monitoring Integration**
```bash
# Prometheus metrics (if enabled)
http://atlantis.tail.vish.gg:8080/metrics
# Grafana dashboard
# Import Jitsi Meet dashboard for monitoring
# Set up alerts for service failures
```
## 📚 Additional Resources
- **Official Documentation**: [Jitsi Meet Handbook](https://jitsi.github.io/handbook/)
- **Docker Hub**: [Jitsi Docker Images](https://hub.docker.com/u/jitsi)
- **Community**: [Jitsi Community Forum](https://community.jitsi.org/)
- **Security Guide**: [Jitsi Security Best Practices](https://jitsi.github.io/handbook/docs/devops-guide/secure)
## 🔗 Related Services
- **Prosody**: XMPP server component
- **Jicofo**: Conference focus component
- **JVB**: Video bridge component
- **Nginx**: Reverse proxy for web interface
- **Coturn**: STUN/TURN server (if separate)
---
*This documentation covers the complete Jitsi Meet platform including external access configuration and port forwarding requirements.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/jitsi/jitsi.yml`
**External Access**: `https://meet.thevish.io`

View File

@@ -0,0 +1,202 @@
# Jvb
**🟡 Communication Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | jvb |
| **Host** | Atlantis |
| **Category** | Communication |
| **Difficulty** | 🟡 |
| **Docker Image** | `jitsi/jvb:stable` |
| **Compose File** | `Atlantis/jitsi/jitsi.yml` |
| **Directory** | `Atlantis/jitsi` |
## 🎯 Purpose
jvb is a communication platform that enables messaging, collaboration, or social interaction.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis/jitsi
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f jvb
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: jitsi-jvb
depends_on:
- prosody
environment:
- XMPP_SERVER=prosody
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
- JVB_AUTH_USER=jvb
- JVB_AUTH_PASSWORD="REDACTED_PASSWORD"
- JVB_BREWERY_MUC=jvbbrewery
- JVB_PORT=10000
- JVB_TCP_HARVESTER_DISABLED=true
- JVB_STUN_SERVERS=stun.l.google.com:19302
- JVB_ENABLE_APIS=rest,colibri
- DOCKER_HOST_ADDRESS=meet.thevish.io
- TZ=America/Los_Angeles
image: jitsi/jvb:stable
networks:
- meet.jitsi
ports:
- 10000:10000/udp
restart: unless-stopped
volumes:
- /volume1/docker/jitsi/jvb:/config
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `XMPP_SERVER` | `prosody` | Configuration variable |
| `XMPP_AUTH_DOMAIN` | `auth.meet.jitsi` | Service domain name |
| `JVB_AUTH_USER` | `jvb` | Configuration variable |
| `JVB_AUTH_PASSWORD` | `***MASKED***` | Configuration variable |
| `JVB_BREWERY_MUC` | `jvbbrewery` | Configuration variable |
| `JVB_PORT` | `10000` | Configuration variable |
| `JVB_TCP_HARVESTER_DISABLED` | `true` | Configuration variable |
| `JVB_STUN_SERVERS` | `stun.l.google.com:19302` | Configuration variable |
| `JVB_ENABLE_APIS` | `rest,colibri` | Configuration variable |
| `DOCKER_HOST_ADDRESS` | `meet.thevish.io` | Configuration variable |
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 10000 | 10000 | UDP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/jitsi/jvb` | `/config` | bind | Configuration files |
## 🌐 Access Information
Service ports: 10000:10000/udp
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f jvb
# Restart service
docker-compose restart jvb
# Update service
docker-compose pull jvb
docker-compose up -d jvb
# Access service shell
docker-compose exec jvb /bin/bash
# or
docker-compose exec jvb /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for jvb
- **Docker Hub**: [jitsi/jvb:stable](https://hub.docker.com/r/jitsi/jvb:stable)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the communication category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/jitsi/jitsi.yml`

View File

@@ -0,0 +1,372 @@
# LazyLibrarian
**🟢 Media Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | lazylibrarian |
| **Host** | Atlantis (Synology) |
| **Category** | Media / Books |
| **Difficulty** | 🟡 |
| **Docker Image** | `lscr.io/linuxserver/lazylibrarian:latest` |
| **Compose File** | `hosts/synology/atlantis/arr-suite/docker-compose.yml` |
| **Directory** | `hosts/synology/atlantis/arr-suite` |
## 🎯 Purpose
LazyLibrarian is an ebook and audiobook download automation tool, similar to Sonarr/Radarr but for books. It monitors authors you follow, searches indexers for new releases, and automatically downloads them via SABnzbd or torrent clients. This is the replacement for the retired Readarr project.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Download client configured (SABnzbd and/or Deluge)
- Indexer access (via Prowlarr or direct)
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd hosts/synology/atlantis/arr-suite
# Start the service
docker-compose -f docker-compose.yml up -d lazylibrarian
# Check service status
docker-compose -f docker-compose.yml ps
# View logs
docker-compose -f docker-compose.yml logs -f lazylibrarian
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
lazylibrarian:
image: lscr.io/linuxserver/lazylibrarian:latest
container_name: lazylibrarian
environment:
- PUID=1029
- PGID=100
- TZ=America/Los_Angeles
- UMASK=022
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:lazylibrarian|ghcr.io/linuxserver/mods:lazylibrarian-calibre
- TP_SCHEME=http
- TP_DOMAIN=192.168.0.200:8580
- TP_THEME=dracula
volumes:
- /volume2/metadata/docker2/lazylibrarian:/config
- /volume1/data:/data
- /volume3/usenet:/sab
- /volume2/torrents:/downloads # Deluge download dir
- /volume2/metadata/docker2/lazylibrarian-scripts/custom-cont-init.d:/custom-cont-init.d
ports:
- "5299:5299"
networks:
media2_net:
ipv4_address: 172.24.0.5
security_opt:
- no-new-privileges:true
restart: always
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PUID` | `1029` | User ID for file permissions |
| `PGID` | `100` | Group ID for file permissions |
| `TZ` | `America/Los_Angeles` | Timezone setting |
| `UMASK` | `022` | File permission mask |
| `DOCKER_MODS` | `...theme.park:lazylibrarian\|...mods:lazylibrarian-calibre` | Theme.park + Calibre (ebook-convert) |
| `TP_SCHEME` | `http` | Theme.park scheme |
| `TP_DOMAIN` | `192.168.0.200:8580` | Theme.park host |
| `TP_THEME` | `dracula` | Theme selection |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 5299 | 5299 | TCP | Web UI |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume2/metadata/docker2/lazylibrarian` | `/config` | bind | Configuration files |
| `/volume1/data` | `/data` | bind | Media library root |
| `/volume3/usenet` | `/sab` | bind | Download directory |
## 🌐 Access Information
| Interface | URL |
|-----------|-----|
| Web UI | `http://192.168.0.200:5299` |
## 🔧 Initial Setup
### 1. Download Clients
**SABnzbd Configuration:**
| Setting | Value |
|---------|-------|
| Host | `192.168.0.200` |
| Port | `8080` |
| API Key | (from SABnzbd → Config → General) |
| Category | `books` |
**Deluge Configuration (via Gluetun):**
| Setting | Value |
|---------|-------|
| Host | `172.24.0.20` |
| Port | `8112` |
| Password | (your deluge password) |
### 2. Providers (Indexers)
**Using Prowlarr (Recommended):**
| Setting | Value |
|---------|-------|
| Host | `172.24.0.6` |
| Port | `9696` |
| API Key | (from Prowlarr → Settings → General) |
### 3. Processing Paths
| Setting | Value |
|---------|-------|
| eBook Library Folder | `/data/media/ebooks` |
| AudioBook Library Folder | `/data/media/audiobooks` |
| Download Complete Folder | `/sab/complete` |
## 📖 Adding Books
### Via the Web UI
1. **Authors → Add Author** → search by name → set to **Active** to track all their books
2. **Books** → find the book → click **Wanted** to queue it for download
3. LL searches indexers automatically on schedule (every 6h) or trigger manually: **Tools → Search Wanted**
### API Access
| Field | Value |
|-------|-------|
| **URL** | http://192.168.0.200:5299 |
| **API Key** | `REDACTED_LL_API_KEY` |
| **Config file** | `/volume2/metadata/docker2/lazylibrarian/config.ini` (on Atlantis) |
Useful read/write CFG shortcuts:
```bash
# Read a config value
curl "http://192.168.0.200:5299/api?apikey=REDACTED_LL_API_KEY&cmd=readCFG&name=<NAME>&group=<Group>"
# Write a config value
curl "http://192.168.0.200:5299/api?apikey=REDACTED_LL_API_KEY&cmd=writeCFG&name=<NAME>&group=<Group>&value=<val>"
```
### Via API
```bash
LL_API="http://192.168.0.200:5299/api?apikey=REDACTED_LL_API_KEY"
# 1. Find the book — returns bookid and authorid
curl "$LL_API&cmd=findBook&name=Book+Title+Author+Name"
# 2. Add it to the database
curl "$LL_API&cmd=addBook&id=<bookid>&wait=1"
# 3. Mark as Wanted (type=eBook or type=AudioBook)
curl "$LL_API&cmd=queueBook&id=<bookid>&type=eBook"
# 4. Trigger immediate search (don't wait 6h)
curl "$LL_API&cmd=forceBookSearch&type=eBook"
```
### Language filter warning
LL may log `Language [Unknown] does not match preference` for some books — this is a **warning only** and does not block the download. The book will still be grabbed.
### Flow after download
SABnzbd downloads → LL post-processor imports to library folder → Audiobookshelf watcher detects → available in ABS app.
## 🔒 Security Considerations
- ✅ Security options configured (no-new-privileges)
- ✅ Running with specific user/group IDs
- ✅ Theme.park integration for consistent UI
## 📊 Resource Requirements
### Recommended Resources
- **Minimum RAM**: 256MB
- **Recommended RAM**: 512MB
- **CPU**: 1 core minimum
- **Storage**: Varies by library size
### Resource Monitoring
```bash
docker stats lazylibrarian
```
## 🚨 Troubleshooting
### Common Issues
**Prowlarr reports "Applications unavailable due to failures" for LazyLibrarian**
- **Root cause:** LazyLibrarian's API is disabled by default. Prowlarr requires the API to sync indexers.
- **Fix:** In LazyLibrarian → Config → General, enable the API and save. Copy the API key.
In Prowlarr → Settings → Apps → LazyLibrarian, ensure the API key matches, then click Test.
- **Error seen in Prowlarr logs:** `LazyLibrarianException: LazyLibrarian Error - Code 501: API not enabled`
**Searches complete instantly with "found 0 books"**
- **Root cause:** Newznab/Torznab providers are disabled by default (`ENABLED = False` in source). The
config.ini must have `enabled = true` explicitly in each provider section.
- **Fix:** Stop the container, add `enabled = true` as the first key under each `[Newznab_N]` and
`[Torznab_N]` section in `/config/config.ini`, then restart.
```bash
docker stop lazylibrarian
python3 /tmp/fix_ll_config.py # see script below
docker start lazylibrarian
```
Script (`/tmp/fix_ll_config.py`):
```python
import re
path = "/volume2/metadata/docker2/lazylibrarian/config.ini"
with open(path) as f: lines = f.readlines()
out = []
for i, line in enumerate(lines):
out.append(line)
if re.match(r"^\[(Newznab|Torznab)_\d+\]\s*$", line):
j = i + 1
if not any(re.match(r"^enabled\s*=", l, re.I) for l in lines[j:j+10] if not l.startswith("[")):
out.append("enabled = true\n")
with open(path, "w") as f: f.writelines(out)
```
**SABnzbd download stuck in "Grabbing" forever / Torrent grab fails with `[Errno 2]`**
- **Root cause:** Newznab/Torznab provider hosts use the Docker container name (`prowlarr:9696`).
SABnzbd runs on the host network and can't resolve it; torrent grabs silently fail when LL can't
reach the Prowlarr download URL, leaving it trying to open the result title as a file path.
- **Fix:** Stop the container, replace `prowlarr:9696` with `192.168.0.200:9696` in ALL provider
`host` entries (Newznab and Torznab), then restart.
```bash
# Via Portainer API (container stop/start):
curl -sk -X POST -H "X-API-Key: <portainer-token>" \
"https://192.168.0.200:9443/api/endpoints/2/docker/containers/<id>/stop"
ssh atlantis "sed -i 's|http://prowlarr:9696/|http://192.168.0.200:9696/|g' \
/volume2/metadata/docker2/lazylibrarian/config.ini"
curl -sk -X POST -H "X-API-Key: <portainer-token>" \
"https://192.168.0.200:9443/api/endpoints/2/docker/containers/<id>/start" -H "Content-Type: application/json" -d '{}'
```
**SABnzbd not configured / "No NZB download method is enabled"**
- **Root cause:** SABnzbd connection not set up in LazyLibrarian.
- **Fix:** Use the writeCFG API (or Config → Downloaders → SABnzbd in the UI):
```bash
LL_API="http://192.168.0.200:5299/api?apikey=<your-key>"
curl "$LL_API&cmd=writeCFG&name=SAB_HOST&group=SABnzbd&value=192.168.0.200"
curl "$LL_API&cmd=writeCFG&name=SAB_PORT&group=SABnzbd&value=8080"
curl "$LL_API&cmd=writeCFG&name=SAB_API&group=SABnzbd&value=<sab-api-key>"
curl "$LL_API&cmd=writeCFG&name=SAB_CAT&group=SABnzbd&value=books"
curl "$LL_API&cmd=writeCFG&name=NZB_DOWNLOADER_SABNZBD&group=USENET&value=1"
```
SABnzbd API key: `docker exec sabnzbd grep api_key /config/sabnzbd.ini`
**eBook library path not set / books import to /config**
- **Root cause:** `EBOOK_DIR` defaults to empty, so imported books land in `/config`.
- **Fix:** Set the library path:
```bash
curl "http://192.168.0.200:5299/api?cmd=writeCFG&name=EBOOK_DIR&group=General&value=/data/media/ebooks&apikey=<key>"
```
Or in UI: Config → Processing → eBook Library Folder → `/data/media/ebooks`
**AudioBook library path not set / audiobooks import to /config**
- **Root cause:** `AUDIO_DIR` defaults to empty, so imported audiobooks land in `/config` instead of the Audiobookshelf-watched directory.
- **Fix:** Set the library path:
```bash
curl "http://192.168.0.200:5299/api?cmd=writeCFG&name=AUDIO_DIR&group=General&value=/data/media/audiobooks&apikey=<key>"
```
Or in UI: Config → Processing → AudioBook Library Folder → `/data/media/audiobooks`
Verify: `curl "http://192.168.0.200:5299/api?apikey=<key>&cmd=readCFG&name=AUDIO_DIR&group=General"`
**Torrent download fails with `[Errno 2] No such file or directory: '<result title>'`**
- **Root cause:** LL's `deluge.py` identifies valid .torrent data by checking for `b'announce'` in the
first 40 bytes. Tracker-less torrents (generated from magnet links by clients like go.torrent) start
with `d7:comment` instead, causing LL to fall back to treating the result title as a local file path.
- **Fix:** A custom-cont-init.d script patches `deluge.py` on startup to also accept bencoded dicts
(any data starting with `d`, which all valid .torrent files do). The patch and compose mount are
already applied. Script at:
`/volume2/metadata/docker2/lazylibrarian-scripts/custom-cont-init.d/99-patch-deluge.sh`
**SAB_DIRECTORY cannot be set via writeCFG API**
- **Root cause:** `writeCFG` returns OK but `SAB_DIRECTORY` is not written to `config.ini` by some LL
versions (possible key mismatch). LL won't know where SABnzbd puts completed downloads and won't
auto-import them.
- **Workaround:** Manually trigger post-processing after a download completes:
```bash
curl "http://192.168.0.200:5299/api?apikey=REDACTED_LL_API_KEY&cmd=forceProcess&dir=/sab/complete/books"
```
This tells LL to scan the SABnzbd books category output dir and import any completed files.
**KEEP_SEEDING setting does not persist**
- **Root cause:** `writeCFG` returns OK for `KEEP_SEEDING` but the value is not actually saved.
Manually editing `config.ini` also fails — LL reads config into memory at startup and writes it back
on shutdown, overwriting manual edits made while the container is running.
- **Workaround:** None found. The setting must be changed through the LL web UI
(Config → Processing → Keep seeding after import), which writes it to the in-memory config.
**NZB audiobook downloads deliver ebooks (epub/mobi) instead of audio files (m4b/mp3)**
- **Root cause:** Some Prowlarr indexers (especially 1337x) classify audio releases under NZB
categories. LL searches both NZB and Torznab for AudioBooks. An indexer may have an epub labeled
as an audiobook at a high match percentage, and LL grabs it. The epub lands in the audiobook
directory and is ignored by Audiobookshelf.
- **Fix:** If an audiobook download is an epub, check `docker logs lazylibrarian` for the grabbed
URL, then mark the book as Wanted again and re-search. If the NZB result keeps winning, you may
need to add the specific provider to a blocklist or manually grab a torrent via the UI.
**Downloads not starting**
- Verify download client connection in Config → Downloaders
- Check API keys are correct
- Ensure indexers are configured and working
**Books not importing**
- Check file permissions (PUID/PGID)
- Verify library paths are correct
- Manually trigger PostProcessor: `curl "$LL_API&cmd=forceProcess&dir=/sab/complete/books"`
**Metadata not found**
- Try different metadata providers (Google Books, OpenLibrary, etc.)
- Search by ISBN if available
- Manual metadata entry
### Useful Commands
```bash
# View real-time logs
docker logs -f lazylibrarian
# Restart service
docker restart lazylibrarian
# Update service
docker pull lscr.io/linuxserver/lazylibrarian:latest
docker restart lazylibrarian
# Access service shell
docker exec -it lazylibrarian /bin/bash
```
## 📚 Additional Resources
- **Official Documentation**: [LazyLibrarian Wiki](https://lazylibrarian.gitlab.io/)
- **GitLab**: [LazyLibrarian/LazyLibrarian](https://gitlab.com/LazyLibrarian/LazyLibrarian)
- **LinuxServer.io**: [Docker Image Docs](https://docs.linuxserver.io/images/docker-lazylibrarian)
## 🔗 Related Services
Services REDACTED_APP_PASSWORD LazyLibrarian:
- Audiobookshelf (playback/serving)
- Calibre-Web (ebook management)
- SABnzbd (usenet downloads)
- Deluge (torrent downloads)
- Prowlarr (indexer management)
---
*Last Updated*: 2026-03-02 (Calibre mod, torrent patch, troubleshooting updates)
*Configuration Source*: `hosts/synology/atlantis/arr-suite/docker-compose.yml`

View File

@@ -0,0 +1,171 @@
# Libreddit
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | libreddit |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `libreddit/libreddit` |
| **Compose File** | `homelab_vm/libreddit.yaml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
libreddit is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f libreddit
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: libreddit
image: libreddit/libreddit
ports:
- 9000:8080
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 9000 | 8080 | TCP | Alternative HTTP port |
### Volume Mappings
No volumes mounted.
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://homelab_vm:9000`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f libreddit
# Restart service
docker-compose restart libreddit
# Update service
docker-compose pull libreddit
docker-compose up -d libreddit
# Access service shell
docker-compose exec libreddit /bin/bash
# or
docker-compose exec libreddit /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for libreddit
- **Docker Hub**: [libreddit/libreddit](https://hub.docker.com/r/libreddit/libreddit)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/libreddit.yaml`

View File

@@ -0,0 +1,141 @@
# Lidarr
Music collection manager with Deezer integration via arr-scripts.
## Service Info
| Property | Value |
|----------|-------|
| **Host** | Atlantis (192.168.0.200) |
| **URL** | http://192.168.0.200:8686 |
| **Compose file** | `hosts/synology/atlantis/arr-suite/docker-compose.yml` |
| **Config volume** | `/volume2/metadata/docker2/lidarr` |
| **Portainer stack** | arr-stack (stack ID 560, env 2) |
| **API key** | `2084f02ddc5b42d5afe7989a2cf248ba` |
## arr-scripts / Deezer Integration
Lidarr uses [arr-scripts by RandomNinjaAtk](https://github.com/RandomNinjaAtk/arr-scripts) to download music from Deezer via deemix. This is the primary download source since usenet indexers have zero coverage for non-English music (Italian, Japanese, etc.).
### How it works
1. arr-scripts runs as s6 services inside the Lidarr container
2. The `Audio` service polls Lidarr's missing albums queue every cycle
3. For each missing album, it searches Deezer using fuzzy title matching (Damerau-Levenshtein distance)
4. On match, it calls `deemix` to download at 320kbps MP3 (Deezer Premium)
5. Files are placed in `/config/extended/import/` and Lidarr is notified via API to import them
### File locations on Atlantis
| Path | Purpose |
|------|---------|
| `/volume2/metadata/docker2/lidarr/extended.conf` | arr-scripts config — **not in git** (contains ARL token) |
| `/volume2/metadata/docker2/lidarr-scripts/custom-cont-init.d/scripts_init.bash` | Init script that runs on every container start |
| `/volume2/metadata/docker2/lidarr-scripts/custom-services.d/` | s6 service definitions (populated automatically on first start) |
### extended.conf key settings
```bash
enableAutoConfig="true" # Required sentinel — all services check this first
enableAudio="true" # Set to "false" to pause downloads
dlClientSource="deezer"
audioFormat="native"
audioBitrate="high" # "high" = FLAC (maxBitrate=3 in deemix_config.json)
arlToken="..." # Deezer session cookie — expires ~3 months, not in git
enableBeetsTagging="true"
beetsMatchPercentage="70" # Lowered from 90 — stricter caused too many import failures
matchDistance="6" # Raised from 3 — more tolerant fuzzy album matching
enableReplaygainTags="true"
```
> **ARL token**: Get from deezer.com → DevTools → Application → Cookies → `arl`. Requires Deezer Premium.
### Pausing/resuming downloads
**Quick (via Portainer console exec into `lidarr`):**
```sh
s6-svc -d /run/service/custom-svc-Audio # pause
s6-svc -u /run/service/custom-svc-Audio # resume
```
**Persistent (survives restarts):**
Edit `/volume2/metadata/docker2/lidarr/extended.conf`, set `enableAudio="false"`, restart container.
### scripts_init.bash — why it exists
`setup.bash` (downloaded from GitHub) silently fails to install several Python packages on Alpine due to setuptools build errors. `scripts_init.bash` re-installs them explicitly after `setup.bash` runs:
- `yq` — Python yq whose `xq` binary replaces Alpine's `xq` (v1.x outputs XML passthrough instead of JSON)
- `pyxdameraulevenshtein` — Damerau-Levenshtein distance for fuzzy album title matching
- `deemix` — actual Deezer downloader
- `colorama`, `pylast`, `mutagen`, `langdetect`, `apprise`, `r128gain` — supporting packages
Without these, downloads fail silently or the scripts get stuck in a "not ready" loop forever.
## Compose volumes
```yaml
volumes:
- /volume2/metadata/docker2/lidarr:/config
- /volume1/data:/data
- /volume3/usenet:/sab
- /volume2/metadata/docker2/lidarr-scripts/custom-services.d:/custom-services.d
- /volume2/metadata/docker2/lidarr-scripts/custom-cont-init.d:/custom-cont-init.d
```
## Indexers
Usenet indexers (NZBgeek, NzbPlanet, etc.) have near-zero coverage for non-English music. Deezer via arr-scripts is the primary source. Usenet indexers still handle English/mainstream releases when they appear.
## Download Clients
| Client | Type | Purpose |
|--------|------|---------|
| **Arr-Extended** | Usenet Blackhole | arr-scripts deemix integration — primary source |
| **SABnzbd** | Usenet | Mainstream/English releases from NZB indexers |
SABnzbd is at `192.168.0.200:8080`. Remote path mapping: `/data/complete/``/sab/complete/`.
## Quality Profile
All artists use the **"Any"** profile with:
- `upgradeAllowed: true` — will upgrade MP3 → FLAC if found
- `cutoff: 1005` (Lossless group) — stops upgrading once FLAC/ALAC/APE is obtained
- Deemix downloads FLAC by default (`maxBitrate=3`) so existing lossless files are **not overwritten**
## Import Behaviour & Known Issues
### Auto-import failures
Lidarr's internal match threshold is **80%**. Releases that score below this are marked `importFailed` and require manual import. Common causes:
| Cause | Example | Action |
|-------|---------|--------|
| Bootleg/unofficial release not in MusicBrainz | Drake-No More Thank Yous-Bootleg | Manual import |
| Compilation with wrong artist match | Doris Day And Peggy Lee 2CD | Manual import |
| Album has fewer tracks than existing release | 311 Grassroots (correct — skip) | Already have better |
| Not an upgrade for existing files | Four Tops MP3 (correct — skip) | Already have lossless |
| Archive not extracted | Lloyd Banks zip | Extract manually in SABnzbd |
### Fingerprinting
Set to `allFiles` (2026-03-18) — Lidarr acoustically fingerprints every track via AcoustID for better MusicBrainz matching. Previously only fingerprinted new files.
### Queue stuck with `downloadClientUnavailable`
Happens when SABnzbd restarts. Clear via:
```bash
# Via API
curl -s -X DELETE "http://192.168.0.200:8686/api/v1/queue/<id>?removeFromClient=true&blocklist=false" \
-H "X-Api-Key: "REDACTED_API_KEY"
```
Or bulk clear all stuck items — see `docs/troubleshooting/common-issues.md`.
### Force rescan/reimport
```bash
curl -s -X POST "http://192.168.0.200:8686/api/v1/command" \
-H "X-Api-Key: "REDACTED_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "DownloadedAlbumsScan"}'
```
## Troubleshooting
See [arr-scripts troubleshooting](../../troubleshooting/common-issues.md#arr-scripts-lidarr-deezer) for the full list of known issues and fixes.

View File

@@ -0,0 +1,179 @@
# Linuxgsm L4D2
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | linuxgsm-l4d2 |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `gameservermanagers/gameserver:l4d2` |
| **Compose File** | `homelab_vm/l4d2_docker.yaml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
linuxgsm-l4d2 is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f linuxgsm-l4d2
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: l4d2server
image: gameservermanagers/gameserver:l4d2
ports:
- 27015:27015/tcp
- 27015:27015/udp
- 27020:27020/udp
- 27005:27005/udp
restart: unless-stopped
volumes:
- /home/homelab/docker/l4d2:/data
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 27015 | 27015 | TCP | Service port |
| 27015 | 27015 | UDP | Service port |
| 27020 | 27020 | UDP | Service port |
| 27005 | 27005 | UDP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/home/homelab/docker/l4d2` | `/data` | bind | Application data |
## 🌐 Access Information
Service ports: 27015:27015/tcp, 27015:27015/udp, 27020:27020/udp, 27005:27005/udp
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f linuxgsm-l4d2
# Restart service
docker-compose restart linuxgsm-l4d2
# Update service
docker-compose pull linuxgsm-l4d2
docker-compose up -d linuxgsm-l4d2
# Access service shell
docker-compose exec linuxgsm-l4d2 /bin/bash
# or
docker-compose exec linuxgsm-l4d2 /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for linuxgsm-l4d2
- **Docker Hub**: [gameservermanagers/gameserver:l4d2](https://hub.docker.com/r/gameservermanagers/gameserver:l4d2)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/l4d2_docker.yaml`

View File

@@ -0,0 +1,169 @@
# Linuxgsm Pmc Bind
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | linuxgsm-pmc-bind |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `gameservermanagers/gameserver:pmc` |
| **Compose File** | `homelab_vm/paperminecraft.yaml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
linuxgsm-pmc-bind is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f linuxgsm-pmc-bind
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: pmcserver
image: gameservermanagers/gameserver:pmc
network_mode: host
restart: unless-stopped
volumes:
- /home/homelab/docker/pmc:/data
```
### Environment Variables
No environment variables configured.
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/home/homelab/docker/pmc` | `/data` | bind | Application data |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f linuxgsm-pmc-bind
# Restart service
docker-compose restart linuxgsm-pmc-bind
# Update service
docker-compose pull linuxgsm-pmc-bind
docker-compose up -d linuxgsm-pmc-bind
# Access service shell
docker-compose exec linuxgsm-pmc-bind /bin/bash
# or
docker-compose exec linuxgsm-pmc-bind /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for linuxgsm-pmc-bind
- **Docker Hub**: [gameservermanagers/gameserver:pmc](https://hub.docker.com/r/gameservermanagers/gameserver:pmc)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/paperminecraft.yaml`

View File

@@ -0,0 +1,197 @@
# Linuxserver Prowlarr
**🟢 Media Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | linuxserver-prowlarr |
| **Host** | Calypso |
| **Category** | Media |
| **Difficulty** | 🟢 |
| **Docker Image** | `linuxserver/prowlarr:latest` |
| **Compose File** | `Calypso/arr-suite-wip.yaml` |
| **Directory** | `Calypso` |
## 🎯 Purpose
linuxserver-prowlarr is a media management and streaming service that helps organize and serve your digital media content.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Calypso)
### Deployment
```bash
# Navigate to service directory
cd Calypso
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f linuxserver-prowlarr
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: prowlarr
environment:
- PUID=1027
- PGID=65536
- TZ=America/Los_Angeles
- UMASK=022
image: linuxserver/prowlarr:latest
network_mode: synobridge
ports:
- 9696:9696/tcp
restart: always
security_opt:
- no-new-privileges:true
volumes:
- /volume1/docker2/prowlarr:/config
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PUID` | `1027` | User ID for file permissions |
| `PGID` | `65536` | Group ID for file permissions |
| `TZ` | `America/Los_Angeles` | Timezone setting |
| `UMASK` | `022` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 9696 | 9696 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker2/prowlarr` | `/config` | bind | Configuration files |
## 🌐 Access Information
Service ports: 9696:9696/tcp
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
**Media not showing**
- Check media file permissions
- Verify volume mounts are correct
- Scan media library manually
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f linuxserver-prowlarr
# Restart service
docker-compose restart linuxserver-prowlarr
# Update service
docker-compose pull linuxserver-prowlarr
docker-compose up -d linuxserver-prowlarr
# Access service shell
docker-compose exec linuxserver-prowlarr /bin/bash
# or
docker-compose exec linuxserver-prowlarr /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for linuxserver-prowlarr
- **Docker Hub**: [linuxserver/prowlarr:latest](https://hub.docker.com/r/linuxserver/prowlarr:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Services REDACTED_APP_PASSWORD linuxserver-prowlarr:
- Plex
- Jellyfin
- Radarr
- Sonarr
- Bazarr
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Calypso/arr-suite-wip.yaml`

View File

@@ -0,0 +1,189 @@
# Mastodon Db
**🔴 Communication Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | mastodon-db |
| **Host** | Atlantis |
| **Category** | Communication |
| **Difficulty** | 🔴 |
| **Docker Image** | `postgres` |
| **Compose File** | `Atlantis/mastodon.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
Mastodon is a free and open-source self-hosted social networking service.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f mastodon-db
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Mastodon-DB
environment:
POSTGRES_DB: mastodon
POSTGRES_PASSWORD: "REDACTED_PASSWORD"
POSTGRES_USER: mastodonuser
healthcheck:
interval: 10s
retries: 10
test:
- CMD
- pg_isready
- -q
- -d
- mastodon
- -U
- mastodonuser
timeout: 45s
hostname: mastodon-db
image: postgres
restart: always
security_opt:
- no-new-privileges:true
user: 1026:100
volumes:
- /volume1/docker/mastodon/db:/var/lib/postgresql/data
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `POSTGRES_DB` | `mastodon` | Configuration variable |
| `POSTGRES_USER` | `mastodonuser` | Configuration variable |
| `POSTGRES_PASSWORD` | `***MASKED***` | PostgreSQL password |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/mastodon/db` | `/var/lib/postgresql/data` | bind | Application data |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `CMD pg_isready -q -d mastodon -U mastodonuser`
**Check Interval**: 10s
**Timeout**: 45s
**Retries**: 10
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f mastodon-db
# Restart service
docker-compose restart mastodon-db
# Update service
docker-compose pull mastodon-db
docker-compose up -d mastodon-db
# Access service shell
docker-compose exec mastodon-db /bin/bash
# or
docker-compose exec mastodon-db /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for mastodon-db
- **Docker Hub**: [Official mastodon-db](https://hub.docker.com/_/postgres)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the communication category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/mastodon.yml`

View File

@@ -0,0 +1,174 @@
# Mastodon Redis
**🔴 Communication Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | mastodon-redis |
| **Host** | Atlantis |
| **Category** | Communication |
| **Difficulty** | 🔴 |
| **Docker Image** | `redis` |
| **Compose File** | `Atlantis/mastodon.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
Mastodon is a free and open-source self-hosted social networking service.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f mastodon-redis
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Mastodon-REDIS
environment:
- TZ=America/Los_Angeles
healthcheck:
test:
- CMD-SHELL
- redis-cli ping || exit 1
hostname: mastodon-redis
image: redis
restart: always
security_opt:
- no-new-privileges:true
user: 1026:100
volumes:
- /volume1/docker/mastodon/redis:/data
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/mastodon/redis` | `/data` | bind | Application data |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `CMD-SHELL redis-cli ping || exit 1`
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f mastodon-redis
# Restart service
docker-compose restart mastodon-redis
# Update service
docker-compose pull mastodon-redis
docker-compose up -d mastodon-redis
# Access service shell
docker-compose exec mastodon-redis /bin/bash
# or
docker-compose exec mastodon-redis /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for mastodon-redis
- **Docker Hub**: [Official mastodon-redis](https://hub.docker.com/_/redis)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the communication category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/mastodon.yml`

View File

@@ -0,0 +1,230 @@
# Mastodon
**🔴 Communication Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | mastodon |
| **Host** | Atlantis |
| **Category** | Communication |
| **Difficulty** | 🔴 |
| **Docker Image** | `lscr.io/linuxserver/mastodon:latest` |
| **Compose File** | `Atlantis/mastodon.yml` |
| **Directory** | `Atlantis` |
## 🎯 Purpose
Mastodon is a free and open-source self-hosted social networking service.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Atlantis)
### Deployment
```bash
# Navigate to service directory
cd Atlantis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f mastodon
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Mastodon
depends_on:
mastodon-db:
condition: service_started
mastodon-redis:
condition: service_healthy
environment:
- PUID=1026
- PGID=100
- TZ=America/Los_Angeles
- DEFAULT_LOCALE=en
- LOCAL_DOMAIN=mastodon.vish.gg
- WEB_DOMAIN=mastodon.vish.gg
- REDIS_HOST=mastodon-redis
- REDIS_PORT=6379
- DB_HOST=mastodon-db
- DB_USER=mastodonuser
- DB_NAME=mastodon
- DB_PASS="REDACTED_PASSWORD"
- DB_PORT=5432
- ES_ENABLED=false
- ES_HOST=es
- ES_PORT=9200
- ES_USER=elastic
- ES_PASS="REDACTED_PASSWORD"
- SECRET_KEY_BASE=REDACTED_SECRET_KEY_BASE
- OTP_SECRET=REDACTED_OTP_SECRET
- S3_ENABLED=false
hostname: mastodon
image: lscr.io/linuxserver/mastodon:latest
ports:
- 8562:443
restart: always
security_opt:
- no-new-privileges:true
volumes:
- /volume1/docker/mastodon/config:/config
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `PUID` | `1026` | User ID for file permissions |
| `PGID` | `100` | Group ID for file permissions |
| `TZ` | `America/Los_Angeles` | Timezone setting |
| `DEFAULT_LOCALE` | `en` | Configuration variable |
| `LOCAL_DOMAIN` | `mastodon.vish.gg` | Service domain name |
| `WEB_DOMAIN` | `mastodon.vish.gg` | Service domain name |
| `REDIS_HOST` | `mastodon-redis` | Configuration variable |
| `REDIS_PORT` | `6379` | Configuration variable |
| `DB_HOST` | `mastodon-db` | Configuration variable |
| `DB_USER` | `mastodonuser` | Configuration variable |
| `DB_NAME` | `mastodon` | Configuration variable |
| `DB_PASS` | `mastodonpw` | Configuration variable |
| `DB_PORT` | `5432` | Configuration variable |
| `ES_ENABLED` | `false` | Configuration variable |
| `ES_HOST` | `es` | Configuration variable |
| `ES_PORT` | `9200` | Configuration variable |
| `ES_USER` | `elastic` | Configuration variable |
| `ES_PASS` | `elastic` | Configuration variable |
| `SECRET_KEY_BASE` | `***MASKED***` | Application secret key |
| `OTP_SECRET` | `***MASKED***` | Configuration variable |
| `S3_ENABLED` | `false` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8562 | 443 | TCP | HTTPS web interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/volume1/docker/mastodon/config` | `/config` | bind | Configuration files |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://Atlantis:8562`
### Default Credentials
Create admin account via command line
## 🔒 Security Considerations
- ✅ Security options configured
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f mastodon
# Restart service
docker-compose restart mastodon
# Update service
docker-compose pull mastodon
docker-compose up -d mastodon
# Access service shell
docker-compose exec mastodon /bin/bash
# or
docker-compose exec mastodon /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for mastodon
- **Docker Hub**: [lscr.io/linuxserver/mastodon:latest](https://hub.docker.com/r/lscr.io/linuxserver/mastodon:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the communication category on Atlantis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Atlantis/mastodon.yml`

View File

@@ -0,0 +1,183 @@
# Materialious
**🟡 Networking Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | materialious |
| **Host** | concord_nuc |
| **Category** | Networking |
| **Difficulty** | 🟡 |
| **Docker Image** | `nginx:latest` |
| **Compose File** | `concord_nuc/invidious/invidious.yaml` |
| **Directory** | `concord_nuc/invidious` |
## 🎯 Purpose
materialious is a networking service that manages network traffic, routing, or connectivity.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (concord_nuc)
### Deployment
```bash
# Navigate to service directory
cd concord_nuc/invidious
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f materialious
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: materialious
depends_on:
- invidious
image: nginx:latest
logging:
options:
max-file: '4'
max-size: 1G
ports:
- 3001:80
restart: unless-stopped
volumes:
- /home/vish/invidious/Materialious/materialious/build:/usr/share/nginx/html:ro
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 3001 | 80 | TCP | HTTP web interface |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/home/vish/invidious/Materialious/materialious/build` | `/usr/share/nginx/html` | bind | Data storage |
## 🌐 Access Information
### Web Interface
- **HTTP**: `http://concord_nuc:3001`
### Default Credentials
Refer to service documentation for default credentials
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f materialious
# Restart service
docker-compose restart materialious
# Update service
docker-compose pull materialious
docker-compose up -d materialious
# Access service shell
docker-compose exec materialious /bin/bash
# or
docker-compose exec materialious /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for materialious
- **Docker Hub**: [Official materialious](https://hub.docker.com/_/nginx:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the networking category on concord_nuc
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `concord_nuc/invidious/invidious.yaml`

View File

@@ -0,0 +1,202 @@
# Matrix Conduit
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | matrix-conduit |
| **Host** | anubis |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `matrixconduit/matrix-conduit:latest` |
| **Compose File** | `anubis/conduit.yml` |
| **Directory** | `anubis` |
## 🎯 Purpose
matrix-conduit is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (anubis)
### Deployment
```bash
# Navigate to service directory
cd anubis
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f matrix-conduit
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: Matrix-Conduit
environment:
- CONDUIT_SERVER_NAME=vishtestingserver
- CONDUIT_DATABASE_PATH=/var/lib/matrix-conduit/
- CONDUIT_DATABASE_BACKEND=rocksdb
- CONDUIT_PORT=6167
- CONDUIT_MAX_REQUEST_SIZE=20000000
- CONDUIT_ALLOW_REGISTRATION=true
- CONDUIT_ALLOW_FEDERATION=true
- CONDUIT_TRUSTED_SERVERS=["matrix.org"]
- CONDUIT_MAX_CONCURRENT_REQUESTS=250
- CONDUIT_ADDRESS=0.0.0.0
- CONDUIT_CONFIG=''
hostname: matrix-conduit
image: matrixconduit/matrix-conduit:latest
ports:
- 8455:6167
restart: always
security_opt:
- no-new-privileges:true
user: 1000:1000
volumes:
- /home/vish/docker/matrix-conduit/:/var/lib/matrix-conduit/
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `CONDUIT_SERVER_NAME` | `vishtestingserver` | Configuration variable |
| `CONDUIT_DATABASE_PATH` | `/var/lib/matrix-conduit/` | Configuration variable |
| `CONDUIT_DATABASE_BACKEND` | `rocksdb` | Configuration variable |
| `CONDUIT_PORT` | `6167` | Configuration variable |
| `CONDUIT_MAX_REQUEST_SIZE` | `20000000` | Configuration variable |
| `CONDUIT_ALLOW_REGISTRATION` | `true` | Configuration variable |
| `CONDUIT_ALLOW_FEDERATION` | `true` | Configuration variable |
| `CONDUIT_TRUSTED_SERVERS` | `["matrix.org"]` | Configuration variable |
| `CONDUIT_MAX_CONCURRENT_REQUESTS` | `250` | Configuration variable |
| `CONDUIT_ADDRESS` | `0.0.0.0` | Configuration variable |
| `CONDUIT_CONFIG` | `''` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8455 | 6167 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/home/vish/docker/matrix-conduit/` | `/var/lib/matrix-conduit/` | bind | Service data |
## 🌐 Access Information
Service ports: 8455:6167
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f matrix-conduit
# Restart service
docker-compose restart matrix-conduit
# Update service
docker-compose pull matrix-conduit
docker-compose up -d matrix-conduit
# Access service shell
docker-compose exec matrix-conduit /bin/bash
# or
docker-compose exec matrix-conduit /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for matrix-conduit
- **Docker Hub**: [matrixconduit/matrix-conduit:latest](https://hub.docker.com/r/matrixconduit/matrix-conduit:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on anubis
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `anubis/conduit.yml`

View File

@@ -0,0 +1,162 @@
# MatrixRTC / LiveKit — Element X Calls
**Last updated:** 2026-03-19
MatrixRTC enables voice/video calls in Element X using a LiveKit SFU backend. Both homeservers (`mx.vish.gg` and `matrix.thevish.io`) share the same LiveKit SFU on `matrix-ubuntu`.
---
## Service Overview
| Property | Value |
|----------|-------|
| **Host** | matrix-ubuntu (`192.168.0.154`) |
| **Matrix homeservers** | `mx.vish.gg` (synapse-mx.service) and `matrix.thevish.io` (synapse.service) — both on Synapse 1.148.0 |
| **Compose file** | `hosts/vms/matrix-ubuntu/livekit.yml` (deployed manually at `/opt/livekit/`) |
| **LiveKit version** | 1.9.12 |
| **JWT service** | `ghcr.io/element-hq/lk-jwt-service:latest-ci` |
---
## Architecture
```
Element X ──→ mx.vish.gg (.well-known) ──→ livekit.mx.vish.gg/livekit/jwt (JWT service)
──→ matrix.thevish.io (.well-known) ──→ livekit.mx.vish.gg/livekit/sfu (LiveKit SFU)
livekit.mx.vish.gg/ (LiveKit WS)
```
Both homeservers share the same LiveKit backend.
- **NPM** on Calypso proxies `livekit.mx.vish.gg` → matrix-ubuntu
- `/livekit/jwt/` → JWT service port 8089 (container 8080)
- `/livekit/sfu/` → LiveKit SFU port 7880
- `/` → LiveKit SFU port 7880 (WebSocket for direct connections)
- **DNS**: `livekit.mx.vish.gg` A record unproxied → `184.23.52.14` (home WAN)
- **TLS**: Let's Encrypt cert issued via Cloudflare DNS challenge on matrix-ubuntu, copied to NPM as `npm-7`
---
## Endpoints
| Endpoint | URL | Purpose |
|----------|-----|---------|
| JWT service healthz | `https://livekit.mx.vish.gg/livekit/jwt/healthz` | Health check |
| JWT service SFU get | `https://livekit.mx.vish.gg/livekit/jwt/sfu/get` | Token exchange |
| LiveKit SFU WS | `wss://livekit.mx.vish.gg/livekit/sfu/` | WebSocket signalling |
| LiveKit HTTP | `https://livekit.mx.vish.gg/` | SFU API |
| .well-known | `https://mx.vish.gg/.well-known/matrix/client` | RTC foci advertisement |
---
## Configuration Files on matrix-ubuntu
| File | Purpose |
|------|---------|
| `/opt/livekit/docker-compose.yml` | LiveKit + JWT service deployment |
| `/opt/livekit/livekit.yaml` | LiveKit SFU config (keys, RTC ports, external IP) |
| `/opt/synapse-mx/homeserver.yaml` | Synapse config (MSCs, rate limits) |
| `/etc/nginx/sites-available/mx-vish-gg` | nginx serving `.well-known` and Element static files |
| `/etc/letsencrypt/live/livekit.mx.vish.gg/` | TLS cert (auto-renews, copies to NPM via deploy hook) |
---
## Synapse homeserver.yaml additions
```yaml
# MatrixRTC / Element Call support
experimental_features:
msc3266_enabled: true # Room Summary API (knocking over federation)
msc4222_enabled: true # state_after in sync v2
msc4140_enabled: true # Delayed events (call participation signalling)
max_event_delay_duration: 24h
rc_message:
per_second: 0.5
burst_count: 30
rc_delayed_event_mgmt:
per_second: 1
burst_count: 20
```
---
## .well-known/matrix/client
Served by nginx at `https://mx.vish.gg/.well-known/matrix/client`:
```json
{
"m.homeserver": {"base_url": "https://mx.vish.gg"},
"org.matrix.msc4143.rtc_foci": [
{
"type": "livekit",
"livekit_service_url": "https://livekit.mx.vish.gg/livekit/jwt"
}
]
}
```
---
## LiveKit SFU config (/opt/livekit/livekit.yaml)
Key settings:
- `use_external_ip: true` — auto-detects WAN IP `184.23.52.14`
- `use_ice_lite: true` — optimised for server-side NAT traversal
- `room.auto_create: false` — only lk-jwt-service creates rooms (security)
- RTC ports: 7880 TCP (API/WS), 7881 TCP (RTC), 50000-60000 UDP (media)
- **Note:** UDP 50000-60000 port range is NOT currently forwarded on the router — TURN relay is used instead via coturn at `turn:mx.vish.gg:3479`
---
## TLS Certificate Renewal
Cert is issued on matrix-ubuntu via certbot + Cloudflare DNS plugin. A deploy hook copies it to NPM on Calypso after renewal:
```
/etc/letsencrypt/renewal-hooks/deploy/copy-to-npm.sh
```
If the hook fails, manually copy:
```bash
ssh matrix-ubuntu
sudo cp /etc/letsencrypt/live/livekit.mx.vish.gg/fullchain.pem \
/tmp/lk.crt
sudo cp /etc/letsencrypt/live/livekit.mx.vish.gg/privkey.pem \
/tmp/lk.key
scp -P 62000 /tmp/lk.crt Vish@100.103.48.78:/volume1/docker/nginx-proxy-manager/data/custom_ssl/npm-7/fullchain.pem
scp -P 62000 /tmp/lk.key Vish@100.103.48.78:/volume1/docker/nginx-proxy-manager/data/custom_ssl/npm-7/privkey.pem
ssh -p 62000 Vish@100.103.48.78 'sudo /usr/local/bin/docker exec nginx-proxy-manager nginx -s reload'
```
---
## Troubleshooting
### Calls not working in Element X
1. Check `.well-known` is advertising foci: `curl https://mx.vish.gg/.well-known/matrix/client`
2. Check JWT service: `curl https://livekit.mx.vish.gg/livekit/jwt/healthz`
3. Check LiveKit is running: `ssh matrix-ubuntu "sudo docker ps | grep livekit"`
4. Check LiveKit logs: `ssh matrix-ubuntu "sudo docker logs livekit 2>&1 | tail -20"`
### Stuck calls
See [How to resolve stuck MatrixRTC calls](https://sspaeth.de/2025/02/how-to-resolve-stuck-matrixrtc-calls/) — usually caused by delayed events not cleaning up.
### JWT service returns 400
Normal for unauthenticated requests. Means the service is running correctly.
### Restarting services
```bash
ssh matrix-ubuntu
cd /opt/livekit
sudo docker compose restart
```
### Restarting Synapse
```bash
ssh matrix-ubuntu
sudo systemctl restart synapse-mx.service
```

View File

@@ -0,0 +1,169 @@
# Matter Server
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | matter-server |
| **Host** | concord_nuc |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `ghcr.io/home-assistant-libs/python-matter-server:stable` |
| **Compose File** | `concord_nuc/homeassistant.yaml` |
| **Directory** | `concord_nuc` |
## 🎯 Purpose
matter-server is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (concord_nuc)
### Deployment
```bash
# Navigate to service directory
cd concord_nuc
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f matter-server
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: matter-server
image: ghcr.io/home-assistant-libs/python-matter-server:stable
network_mode: host
restart: unless-stopped
volumes:
- /home/vish/docker/matter:/data
```
### Environment Variables
No environment variables configured.
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/home/vish/docker/matter` | `/data` | bind | Application data |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f matter-server
# Restart service
docker-compose restart matter-server
# Update service
docker-compose pull matter-server
docker-compose up -d matter-server
# Access service shell
docker-compose exec matter-server /bin/bash
# or
docker-compose exec matter-server /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for matter-server
- **Docker Hub**: [ghcr.io/home-assistant-libs/python-matter-server:stable](https://hub.docker.com/r/ghcr.io/home-assistant-libs/python-matter-server:stable)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on concord_nuc
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `concord_nuc/homeassistant.yaml`

View File

@@ -0,0 +1,191 @@
# Mattermost Db
**🟡 Communication Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | mattermost-db |
| **Host** | homelab_vm |
| **Category** | Communication |
| **Difficulty** | 🟡 |
| **Docker Image** | `postgres:17` |
| **Compose File** | `homelab_vm/mattermost.yml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
Mattermost is an open-source, self-hostable online chat service with file sharing, search, and integrations.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f mattermost-db
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: mattermost-db
environment:
POSTGRES_DB: mattermost
POSTGRES_PASSWORD: "REDACTED_PASSWORD"
POSTGRES_USER: mattermostuser
TZ: America/Los_Angeles
healthcheck:
interval: 10s
retries: 10
test:
- CMD
- pg_isready
- -q
- -d
- mattermost
- -U
- mattermostuser
timeout: 5s
hostname: mattermost-db
image: postgres:17
restart: unless-stopped
security_opt:
- no-new-privileges:true
user: 0:0
volumes:
- /srv/mattermost/db:/var/lib/postgresql/data:rw
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `POSTGRES_DB` | `mattermost` | Configuration variable |
| `POSTGRES_USER` | `mattermostuser` | Configuration variable |
| `POSTGRES_PASSWORD` | `***MASKED***` | PostgreSQL password |
| `TZ` | `America/Los_Angeles` | Timezone setting |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/srv/mattermost/db` | `/var/lib/postgresql/data` | bind | Application data |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
✅ Health check configured
**Test Command**: `CMD pg_isready -q -d mattermost -U mattermostuser`
**Check Interval**: 10s
**Timeout**: 5s
**Retries**: 10
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f mattermost-db
# Restart service
docker-compose restart mattermost-db
# Update service
docker-compose pull mattermost-db
docker-compose up -d mattermost-db
# Access service shell
docker-compose exec mattermost-db /bin/bash
# or
docker-compose exec mattermost-db /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for mattermost-db
- **Docker Hub**: [Official mattermost-db](https://hub.docker.com/_/postgres:17)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the communication category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/mattermost.yml`

View File

@@ -0,0 +1,122 @@
# Mattermost OAuth2 with Authentik
**Host**: Matrix Ubuntu VM (192.168.0.154)
**Domain**: `mm.crista.love`
**Port**: 8065
**Compose File**: `/opt/mattermost/docker-compose.yml`
**Status**: 🔧 Requires Authentik Property Mappings (see below)
## Important: Mattermost Team Edition Limitation
⚠️ **Mattermost Team Edition (free) does NOT support generic OpenID Connect!**
OpenID Connect is Enterprise-only. For Team Edition, we use the **GitLab OAuth workaround** where Authentik emulates GitLab's OAuth endpoints.
## Authentication Methods
1. **Local Login** - Email/password on the login page ✅ Always works
2. **GitLab OAuth (via Authentik)** - "Log in with authentik" button
## Authentik Configuration
### Step 1: Create Custom Scope Mappings
In Authentik Admin → Customization → Property Mappings → Create → Scope Mapping:
**Mapping 1: mattermost-username**
- **Name**: `mattermost-username`
- **Scope Name**: `username`
- **Description**: Maps the user's authentik username to the username field for Mattermost authentication.
- **Expression**:
```python
return {
"username": request.user.username,
}
```
**Mapping 2: mattermost-id** (optional but recommended)
- **Name**: `mattermost-id`
- **Scope Name**: `id`
- **Description**: Maps the user's Mattermost ID or primary key to the id field for Mattermost authentication.
- **Expression**:
```python
return {
"id": request.user.attributes.get("mattermostId", request.user.pk),
}
```
### Step 2: Provider Configuration
- **Name**: Mattermost OAuth2
- **Type**: OAuth2/OpenID Provider
- **Client ID**: `OGxIdZLKqYKgf9Sf9zAFAyhKzBdDvonL7HHSBu1w`
- **Redirect URI**: `strict: https://mm.crista.love/signup/gitlab/complete`
- **Scopes**: Add the custom `mattermost-username` and `mattermost-id` scopes, plus `openid`, `email`, `profile`
### Application Created
- **Name**: Mattermost
- **Slug**: `mattermost`
- **Launch URL**: https://mm.crista.love
## Mattermost Configuration
Update `/opt/mattermost/config/config.json` with GitLabSettings (NOT OpenIDSettings!):
```json
"GitLabSettings": {
"Enable": true,
"Secret": "<client_secret_from_authentik>",
"Id": "OGxIdZLKqYKgf9Sf9zAFAyhKzBdDvonL7HHSBu1w",
"Scope": "",
"AuthEndpoint": "https://sso.vish.gg/application/o/authorize/",
"TokenEndpoint": "https://sso.vish.gg/application/o/token/",
"UserAPIEndpoint": "https://sso.vish.gg/application/o/userinfo/",
"DiscoveryEndpoint": "https://sso.vish.gg/application/o/mattermost/.well-known/openid-configuration",
"ButtonText": "Log in with authentik",
"ButtonColor": "#fd4b2d"
}
```
## Activation Steps
1. **Create Authentik Property Mappings** (see Step 1 above)
2. **Update Provider Scopes** - Add the new mappings to the Mattermost OAuth2 provider
3. **SSH to Matrix Ubuntu VM**:
```bash
ssh test@matrix-ubuntu-ip # or via Cloudflare tunnel
```
4. **Edit config.json**:
```bash
sudo nano /opt/mattermost/config/config.json
```
5. **Restart Mattermost**:
```bash
cd /opt/mattermost && docker compose restart
```
6. **Test** by visiting https://mm.crista.love - you should see "Log in with authentik" button
## Troubleshooting
### GitLab button not appearing
- Verify `GitLabSettings.Enable` is `true` in config.json
- Restart Mattermost after changes
- Check for JSON syntax errors: `cat config.json | jq .`
### Login fails after redirect
- Verify redirect URI matches exactly: `https://mm.crista.love/signup/gitlab/complete`
- Ensure the custom scope mappings are created AND assigned to the provider
- Check Mattermost logs: `docker logs mattermost`
### User created with wrong username format
- If you see usernames like `person-example.com`, you need the `mattermost-id` scope mapping
- The `id` field prevents Mattermost from generating IDs from email addresses
## Related Documentation
- [Authentik Mattermost Team Edition Integration](https://integrations.goauthentik.io/chat-communication-collaboration/mattermost-team-edition/)
- [Mattermost GitLab Authentication](https://docs.mattermost.com/integrations-guide/gitlab.html)
## Change Log
- **2026-01-31**: Updated to use GitLab OAuth approach for Team Edition compatibility
- **2026-01-31**: Created OAuth2 provider and application in Authentik

View File

@@ -0,0 +1,203 @@
# Mattermost
**🟡 Communication Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | mattermost |
| **Host** | homelab_vm |
| **Category** | Communication |
| **Difficulty** | 🟡 |
| **Docker Image** | `mattermost/mattermost-team-edition:latest` |
| **Compose File** | `homelab_vm/mattermost.yml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
Mattermost is an open-source, self-hostable online chat service with file sharing, search, and integrations.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f mattermost
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: mattermost
depends_on:
mattermost-db:
condition: service_healthy
environment:
MM_BLEVESETTINGS_INDEXDIR: /mattermost/bleve-indexes
MM_SERVICESETTINGS_SITEURL: https://mm.crista.love
MM_SQLSETTINGS_DATASOURCE: postgres://mattermostuser:changeME-strong@mattermost-db:5432/mattermost?sslmode=disable&connect_timeout=10
MM_SQLSETTINGS_DRIVERNAME: postgres
TZ: America/Los_Angeles
hostname: mattermost
image: mattermost/mattermost-team-edition:latest
ports:
- 8065:8065
restart: unless-stopped
security_opt:
- no-new-privileges:true
user: 0:0
volumes:
- /mnt/atlantis_docker/mattermost/config:/mattermost/config:rw
- /mnt/atlantis_docker/mattermost/data:/mattermost/data:rw
- /mnt/atlantis_docker/mattermost/logs:/mattermost/logs:rw
- /mnt/atlantis_docker/mattermost/plugins:/mattermost/plugins:rw
- /mnt/atlantis_docker/mattermost/client:/mattermost/client/plugins:rw
- /mnt/atlantis_docker/mattermost/indexes:/mattermost/bleve-indexes:rw
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `TZ` | `America/Los_Angeles` | Timezone setting |
| `MM_SQLSETTINGS_DRIVERNAME` | `postgres` | Configuration variable |
| `MM_SQLSETTINGS_DATASOURCE` | `postgres://mattermostuser:changeME-strong@mattermost-db:5432/mattermost?sslmode=disable&connect_timeout=10` | Configuration variable |
| `MM_BLEVESETTINGS_INDEXDIR` | `/mattermost/bleve-indexes` | Configuration variable |
| `MM_SERVICESETTINGS_SITEURL` | `https://mm.crista.love` | Configuration variable |
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8065 | 8065 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/mnt/atlantis_docker/mattermost/config` | `/mattermost/config` | bind | Configuration files |
| `/mnt/atlantis_docker/mattermost/data` | `/mattermost/data` | bind | Application data |
| `/mnt/atlantis_docker/mattermost/logs` | `/mattermost/logs` | bind | Log files |
| `/mnt/atlantis_docker/mattermost/plugins` | `/mattermost/plugins` | bind | Data storage |
| `/mnt/atlantis_docker/mattermost/client` | `/mattermost/client/plugins` | bind | Data storage |
| `/mnt/atlantis_docker/mattermost/indexes` | `/mattermost/bleve-indexes` | bind | Data storage |
## 🌐 Access Information
Service ports: 8065:8065
## 🔒 Security Considerations
- ✅ Security options configured
- ✅ Non-root user configured
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f mattermost
# Restart service
docker-compose restart mattermost
# Update service
docker-compose pull mattermost
docker-compose up -d mattermost
# Access service shell
docker-compose exec mattermost /bin/bash
# or
docker-compose exec mattermost /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for mattermost
- **Docker Hub**: [mattermost/mattermost-team-edition:latest](https://hub.docker.com/r/mattermost/mattermost-team-edition:latest)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the communication category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/mattermost.yml`

View File

@@ -0,0 +1,172 @@
# Meilisearch
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | meilisearch |
| **Host** | homelab_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `getmeili/meilisearch:v1.6` |
| **Compose File** | `homelab_vm/hoarder.yaml` |
| **Directory** | `homelab_vm` |
## 🎯 Purpose
meilisearch is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (homelab_vm)
### Deployment
```bash
# Navigate to service directory
cd homelab_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f meilisearch
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
environment:
MEILI_NO_ANALYTICS: 'true'
image: getmeili/meilisearch:v1.6
restart: unless-stopped
volumes:
- /root/docker/hoarder/meilisearch:/meili_data
```
### Environment Variables
| Variable | Value | Description |
|----------|-------|-------------|
| `MEILI_NO_ANALYTICS` | `true` | Configuration variable |
### Port Mappings
No ports exposed.
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/root/docker/hoarder/meilisearch` | `/meili_data` | bind | Data storage |
## 🌐 Access Information
This service does not expose any web interfaces.
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f meilisearch
# Restart service
docker-compose restart meilisearch
# Update service
docker-compose pull meilisearch
docker-compose up -d meilisearch
# Access service shell
docker-compose exec meilisearch /bin/bash
# or
docker-compose exec meilisearch /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for meilisearch
- **Docker Hub**: [getmeili/meilisearch:v1.6](https://hub.docker.com/r/getmeili/meilisearch:v1.6)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on homelab_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `homelab_vm/hoarder.yaml`

View File

@@ -0,0 +1,173 @@
# Metube
**🟢 Other Service**
## 📋 Service Overview
| Property | Value |
|----------|-------|
| **Service Name** | metube |
| **Host** | Bulgaria_vm |
| **Category** | Other |
| **Difficulty** | 🟢 |
| **Docker Image** | `alexta69/metube` |
| **Compose File** | `Bulgaria_vm/metube.yml` |
| **Directory** | `Bulgaria_vm` |
## 🎯 Purpose
metube is a specialized service that provides specific functionality for the homelab infrastructure.
## 🚀 Quick Start
### Prerequisites
- Docker and Docker Compose installed
- Basic understanding of REDACTED_APP_PASSWORD
- Access to the host system (Bulgaria_vm)
### Deployment
```bash
# Navigate to service directory
cd Bulgaria_vm
# Start the service
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f metube
```
## 🔧 Configuration
### Docker Compose Configuration
```yaml
container_name: metube
image: alexta69/metube
ports:
- 8871:8081
restart: unless-stopped
volumes:
- /root/docker/yt:/downloads
```
### Environment Variables
No environment variables configured.
### Port Mappings
| Host Port | Container Port | Protocol | Purpose |
|-----------|----------------|----------|----------|
| 8871 | 8081 | TCP | Service port |
### Volume Mappings
| Host Path | Container Path | Type | Purpose |
|-----------|----------------|------|----------|
| `/root/docker/yt` | `/downloads` | bind | Downloaded files |
## 🌐 Access Information
Service ports: 8871:8081
## 🔒 Security Considerations
- ⚠️ Consider adding security options (no-new-privileges)
- ⚠️ Consider running as non-root user
## 📊 Resource Requirements
No resource limits configured
### Recommended Resources
- **Minimum RAM**: 512MB
- **Recommended RAM**: 1GB+
- **CPU**: 1 core minimum
- **Storage**: Varies by usage
### Resource Monitoring
Monitor resource usage with:
```bash
docker stats
```
## 🔍 Health Monitoring
⚠️ No health check configured
Consider adding a health check:
```yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:PORT/health"]
interval: 30s
timeout: 10s
retries: 3
```
### Manual Health Checks
```bash
# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME
```
## 🚨 Troubleshooting
### Common Issues
**Service won't start**
- Check Docker logs: `docker-compose logs service-name`
- Verify port availability: `netstat -tulpn | grep PORT`
- Check file permissions on mounted volumes
**Can't access web interface**
- Verify service is running: `docker-compose ps`
- Check firewall settings
- Confirm correct port mapping
**Performance issues**
- Monitor resource usage: `docker stats`
- Check available disk space: `df -h`
- Review service logs for errors
### Useful Commands
```bash
# Check service status
docker-compose ps
# View real-time logs
docker-compose logs -f metube
# Restart service
docker-compose restart metube
# Update service
docker-compose pull metube
docker-compose up -d metube
# Access service shell
docker-compose exec metube /bin/bash
# or
docker-compose exec metube /bin/sh
```
## 📚 Additional Resources
- **Official Documentation**: Check the official docs for metube
- **Docker Hub**: [alexta69/metube](https://hub.docker.com/r/alexta69/metube)
- **Community Forums**: Search for community discussions and solutions
- **GitHub Issues**: Check the project's GitHub for known issues
## 🔗 Related Services
Other services in the other category on Bulgaria_vm
---
*This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.*
**Last Updated**: 2025-11-17
**Configuration Source**: `Bulgaria_vm/metube.yml`

Some files were not shown because too many files have changed in this diff Show More