Files
infrastructure/docs/03-SERVICES-OTHER.md
T
Kaloyan Danchev 3a28e42543
ci/woodpecker/push/woodpecker Pipeline was successful
docs(services): add Ollama iGPU (Radeon 780M / ROCm) entry
- Document ollama migrated to Dockge stack on ollama/ollama:rocm with
  gfx1103 enablement (HSA_OVERRIDE_GFX_VERSION=11.0.0, OLLAMA_IGPU_ENABLE=1)
- Verified Ornith 1.0 9B runs 100% on the 780M iGPU (~11 tok/s)
- CHANGELOG entry for 2026-06-29
- (also includes previously-uncommitted Development services section
  already present in the working tree)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 21:38:28 +03:00

12 KiB

Other Services

Last Updated: 2026-06-29

Non-critical services that enhance functionality but don't affect core network operation.


DevOps

Gitea (Git Server)

Component IP URL
gitea 172.18.0.31 https://git.xtrm-lab.org

Ports: 2222→22 (SSH), 3005→3000 (HTTP) Auth: Authentik OAuth2 Database: postgresql17 (gitea)

Woodpecker CI

Component IP URL
woodpecker-server 172.18.0.32 https://ci.xtrm-lab.org
woodpecker-agent 172.18.0.33 -

Auth: Gitea OAuth2 Purpose: CI/CD pipelines for infrastructure repo


Network Management

NetDisco (Network Discovery)

Component IP URL
netdisco-web 172.18.0.41 https://netdisco.xtrm-lab.org
netdisco-backend 172.18.0.42 -

Database: postgresql17 (netdisco_db) Purpose: SNMP-based device discovery, MAC/ARP tracking

Unimus

Network URL
host https://unimus.xtrm-lab.org

Purpose: Network device configuration backup (MikroTik)


Monitoring

Uptime Kuma

Component IP URL
UptimeKuma 172.18.0.20 https://uptime.xtrm-lab.org
Uptime-Kuma-API 172.18.0.18 -
AutoKuma 172.18.0.19 -

Monitors: 24 services configured

Speedtest Tracker

Component IP URL
speedtest-tracker 172.18.0.21 https://speed.xtrm-lab.org

NetAlertX

Network URL
host https://netalert.xtrm-lab.org

Purpose: Network device discovery and alerting


Gaming

Minecraft Server

Component IP Port Address
minecraft 172.18.0.80 25565 minecraft.xtrm-lab.org

Image: itzg/minecraft-server (Java Edition) Version: Latest (1.21.11) Mode: Survival, Normal difficulty, PVP enabled Max Players: 10 RAM: 2 GB Online Mode: Yes (requires paid account) Data: /mnt/user/appdata/minecraft/data NAT: WAN:25565 → 192.168.10.20:25565 + hairpin NAT Dockge Stack: minecraft


Media

Plex

Network Port URL
host 32400 https://plex.xtrm-lab.org

Libraries: Movies, TV Shows, Music

Plex Debrid

Network Purpose
host Debrid integration for Plex

Purpose: Integrates Real-Debrid/AllDebrid with Plex for streaming

Zurg + Rclone

Component Port Purpose
zurg 9999 Real-Debrid WebDAV mount
zurg-rclone - Rclone FUSE mount

Purpose: Mounts Real-Debrid library as local filesystem for Plex

Overseerr

Component Port URL
overseerr 5055 https://overseerr.xtrm-lab.org

Purpose: Media request management for Plex

Radarr

Component IP URL
radarr 172.18.0.43 https://radarr.xtrm-lab.org

Purpose: Movie collection manager (PVR)

Sonarr

Component IP URL
sonarr 172.18.0.44 https://sonarr.xtrm-lab.org

Purpose: TV series collection manager (PVR)

Prowlarr

Component IP URL
prowlarr 172.18.0.45 https://prowlarr.xtrm-lab.org

Purpose: Indexer manager for Radarr/Sonarr

Libation

Component IP
Libation 172.18.0.23

Purpose: Audiobook management

Transmission

Component IP Ports
transmission 172.18.0.26 9091, 51413

Purpose: Torrent client

Roms (SMB Share)

Property Value
Share Path /mnt/user/roms
Protocol SMB (guest access, read-only)
Size 2.3 TB (49 systems)

Consumers:

Device Mount Point Method
Nobara /mnt/roms fstab (CIFS, guest, systemd.automount)
Recalbox /recalbox/share/roms_network custom.sh boot script (CIFS)

Recalbox: Network roms are bind-mounted over local rom directories at boot via /recalbox/share/system/custom.sh. Local roms were deleted from SD card to save space.


Productivity

Nextcloud

Component IP URL
Nextcloud 172.18.0.24 https://cloud.xtrm-lab.org

Purpose: File sync, calendar, contacts

Actual Budget

Component IP URL
actual-budget 172.18.0.16 https://actual.xtrm-lab.org

Purpose: Personal finance tracking

n8n

Component IP URL
n8n 172.18.0.17 https://n8n.xtrm-lab.org

Purpose: Workflow automation

Karakeep

Component IP URL
karakeep 172.18.0.25 https://karakeep.xtrm-lab.org

Purpose: Bookmark manager

Homarr (Dashboard)

Component IP URL
homarr 172.18.0.4 https://xtrm-lab.org

Purpose: Home dashboard with Docker integration


Storage & Backup

TimeMachine

Network IP
br0 macvlan 192.168.10.12

Purpose: macOS Time Machine backup target

UrBackup

Network URL
host https://urbackup.xtrm-lab.org

Purpose: File and image backup for PCs

RustFS

Network
bridge

Purpose: Rust-based filesystem utilities


Remote Access

Kasm Workspaces (Browser Isolation)

Component IP URL
kasm (DinD host) 172.18.0.66 https://kasm.xtrm-lab.org
kasm_proxy 172.19.0.8 (internal) -
kasm_api 172.19.0.7 (internal) -
kasm_manager 172.19.0.6 (internal) -
kasm_agent 172.19.0.2 (internal) -
kasm_db 172.19.0.3 (internal) -
kasm_guac 172.19.0.9 (internal) -

Version: 1.18.1 Architecture: Docker-in-Docker (runs its own Docker daemon with internal containers) Network: dockerproxy (outer), kasm_default_network 172.19.0.0/16 (inner) Ports: 3000 (web UI), 6333 (proxy/sessions) Data: /mnt/user/appdata/kasm/

Traefik Integration:

  • Uses kasm-headers middleware (no frameDeny — Kasm requires iframes)
  • Service backend: https://172.18.0.66:6333 with insecure-skip-verify
  • Zone config: proxy_port=443, proxy_hostname=$request_host$ (routes sessions through Traefik)

RustDesk

Component Ports
rustdesk-hbbs 21115-21116 (TCP), 21116 (UDP)
rustdesk-hbbr 21117-21119

Purpose: Self-hosted remote desktop

Tailscale

Host IP
HAP1 172.17.0.3

Purpose: Mesh VPN for remote access

Open WebUI

Component Port
open-webui 3080

Purpose: Web UI for Ollama (ChatGPT-like interface)


Smart Home

Home Assistant

Network URL
host https://ha.xtrm-lab.org

Purpose: Home automation hub Trusted Proxies: 172.18.0.0/16, 192.168.10.0/24

Home Assistant Time Machine

Component Port
Home-Assistant-Time-Machine 54000

Purpose: HA backup/snapshot management

Tuya Gateway

Network
host

Purpose: Local Tuya device integration


Notifications

ntfy

Component Port Purpose
ntfy 8380 Push notification server

Purpose: Self-hosted push notifications (UnifiedPush compatible)


Sync & Knowledge

Obsidian LiveSync

Component Port
obsidian-livesync 5984

Purpose: CouchDB-based real-time sync for Obsidian vaults

Supabase (OpenBrain)

Component Purpose
supabase-db PostgreSQL database
supabase-auth Authentication
supabase-rest PostgREST API
supabase-storage File storage
supabase-studio Web dashboard
supabase-meta Metadata service
supabase-analytics Analytics/logging
supabase-imgproxy Image processing
supabase-edge-functions Edge functions runtime
supabase-pooler Connection pooling
supabase-vector Vector/embeddings
supabase-kong API gateway (stopped)
realtime-dev.supabase-realtime Realtime subscriptions

Purpose: Self-hosted Supabase stack with PGVector for AI persistent memory (OpenBrain)


Database Tools

pgAdmin 4

Component Port
pgAdmin4 5050

Purpose: PostgreSQL web administration UI


Development

OpenVSCode Server (Web IDE)

Network Port URL
host 3100 https://code.xtrm-lab.org

Purpose: Web-based VS Code IDE with full host access Auth: Authentik forward auth (SSO) Binary: /mnt/user/appdata/openvscode/current/ (host-native, not a container) Config: /mnt/user/appdata/openvscode/config/ Workspace: /mnt/user/projects/ (12 personal repos + 18 AMPECO projects) See: 12-DEVELOPMENT-ENVIRONMENT.md

Claude Code

Network Version
host 2.1.71

Purpose: AI coding assistant CLI Binary: /mnt/user/appdata/claude-code/.npm-global/bin/claude Config: /mnt/user/appdata/claude-code/.claude/

Cooperator CLI

Network Version
host 3.36.1

Purpose: AI-driven development workflow automation (AMPECO) Binary: /usr/local/lib/node_modules/@ampeco/cooperator/


Container Management

Dockge

Network Port
bridge 5001

Purpose: Docker Compose stack management UI Access: http://192.168.10.20:5001 Data: /mnt/user/appdata/dockge/data Stacks: /mnt/user/appdata/dockge/stacks

Dockhand

Network
dockerproxy

Purpose: Docker container health monitoring

Docker Socket Proxy

Component IP
dockersocket 172.18.0.2

Purpose: Secure Docker socket proxy for Traefik and other services


Agents

xtrm-agent

Component Port
xtrm-agent 8088

Purpose: Claude Code agent for server management

SeekAndWatch

Component
SeekAndWatch

Purpose: Media monitoring/automation


AI / LLM

Ollama (Local LLM Inference)

Network Port
bridge 11434

Purpose: Local LLM inference, GPU-accelerated on the integrated AMD Radeon 780M (gfx1103) via ROCm 7.2. Image: ollama/ollama:rocm (Dockge stack — replaced old dockerman template my-ollama.xml) API: http://192.168.10.20:11434 Data: /mnt/user/appdata/ollama Stack: /mnt/user/appdata/dockge/stacks/ollama/compose.yaml

iGPU enablement (gfx1103 not on AMD's official ROCm allowlist):

Setting Value
HSA_OVERRIDE_GFX_VERSION 11.0.0 (report 780M as gfx1100)
OLLAMA_IGPU_ENABLE 1 (Ollama 0.30+ drops iGPUs otherwise)
OLLAMA_FLASH_ATTENTION 1
OLLAMA_KV_CACHE_TYPE q8_0
devices /dev/kfd, /dev/dri
group_add 18 (video)

Verified: Ornith 1.0 9B GGUF runs 100% on GPU (33/33 layers), ~11 tok/s. iGPU is RAM-bandwidth bound (shared GTT, ~23 GiB addressable). 9B fits; 35B RAM-tight (no swap); 397B not feasible.


Stopped/Disabled Services

Service Reason Status
charge-* (12 containers) Dev/test stack, stopped 6 weeks ago Exited
minecraft Not started Created
supabase-kong API gateway, stopped 2 days ago Exited
unmarr Stopped 5 days ago Exited
llama-baseline-test LLM benchmark, completed Exited
llama-spec-test LLM benchmark, completed Exited
NetBox + Diode (8 containers) Removed from active use Removed
Portainer Replaced by Dockge Removed
Pi-hole Replaced by AdGuard Home Removed
Slurp'it Replaced by Diode Removed
binhex-plexpass Duplicate of Plex Removed
HomeAssistant_inabox Duplicate of Home-Assistant-Container Removed
nextcloud-aio-mastercontainer Replaced by Nextcloud container Removed