# Services ## Overview This document lists all services running on SilverLinux and their purpose. Generated state reference: ```text 2026-06-25 infrastructure review ``` --- ## Running Services ### PostgreSQL Purpose: * Primary shared database platform * Application data storage Used by: * Gitea * OpenProject Status: ```text Running ``` --- ### Microsoft SQL Server Express Purpose: * Secondary database platform for SQL Server compatibility * Support future applications requiring Microsoft SQL Server * Extend the platform beyond PostgreSQL-only workloads Image: ```text mcr.microsoft.com/mssql/server:2022-latest ``` Network: ```text internal ``` Exposure: * Port 1433 is not published * Not routed through Nginx Proxy Manager * Private database access only Status: ```text Operational ``` --- ### Gitea URL: ```text https://git.silveressence.net ``` Purpose: * Source control * Git repositories * Pull requests * Issue tracking Status: ```text Running ``` --- ### OpenProject URL: ```text https://team.silveressence.net ``` Purpose: * Project management * Work packages * Time tracking * Team collaboration Status: ```text Running ``` --- ### Jitsi Meet URL: ```text https://meet.silveressence.net ``` Purpose: * Video conferencing * Team meetings * Customer meetings Status: ```text Running ``` --- ### Portainer URL: ```text https://portainer.silveressence.net ``` Purpose: * Docker administration * Stack deployment * Container monitoring Status: ```text Running ``` --- ### Nginx Proxy Manager Purpose: * Reverse proxy * SSL termination * Domain routing * Certificate management Status: ```text Running ``` --- ### Prometheus Purpose: * Metrics collection * Alert rule engine * Monitoring data storage * Scrape targets for system, Docker and backup metrics Scrapes: * Prometheus * Node Exporter * cAdvisor * SilverLinux backup metrics Alert categories: * Backup * System pressure * Monitoring health * Database availability * Container health Status: ```text Running ``` --- ### Grafana Purpose: * Monitoring dashboards * Metrics visualization * Prometheus datasource frontend Dashboards: * Custom backup dashboard * Custom system dashboard * Docker monitoring dashboard Note: The imported Prometheus 2.0 Overview dashboard is not compatible with the installed Prometheus version `3.5.4`. This is a third-party dashboard compatibility issue, not an infrastructure problem. Status: ```text Running ``` --- ### Alertmanager Purpose: * Alert routing * Email notifications * Incident grouping * Alert deduplication * Severity-based routing Recipients: * `oclick021@gmail.com` * `martin@silversolutions.nl` Incident groups: * `backup_failure` * `system_pressure` * `storage_pressure` * `database_outage` * `monitoring_failure` * `container_health` Status: ```text Running ``` --- ### Node Exporter Purpose: * Host metrics collection * CPU, memory and disk metrics * Textfile Collector endpoint for SilverLinux backup metrics Status: ```text Running ``` --- ### cAdvisor Purpose: * Docker container metrics * Container CPU, memory and runtime visibility Status: ```text Running ``` --- ### BaGet URL: ```text https://nuget.silveressence.net ``` Purpose: * Private NuGet repository * Internal Silver.* package distribution * Package source for CI/CD * Package source for team development Access: * Routed through Nginx Proxy Manager Status: ```text Running ``` --- ### Gitea Actions Runner Location: ```text /srv/docker/gitea-runner ``` Image: ```text gitea/act_runner:latest ``` Runner Name: ```text silverlinux-runner ``` Type: ```text Global Runner ``` Labels: * `ubuntu-latest` * `ubuntu-24.04` * `ubuntu-22.04` Status: ```text Operational ``` --- ### DbGate URL: ```text https://dbgate.silveressence.net ``` Purpose: * Browser-based PostgreSQL administration * Browser-based MSSQL administration * Database explorer and debugging interface Networks: * `internal` for private database connectivity * `proxy` for Nginx Proxy Manager Security: * Publicly reachable through the proxy layer * HTTPS enforced * DbGate username and password required * Authentication must remain hardened and periodically verified * Database ports remain private Status: ```text Operational ``` --- ### Xray Purpose: * Connectivity and tunneling layer * Improve long-distance connectivity stability to SilverLinux * Maintain secure routing paths when direct connectivity is limited Classification: ```text Network tunneling / connectivity layer ``` Networks: * `proxy` Runtime ports: ```text 0.0.0.0:32443 -> 8080/tcp ``` Image: ```text ghcr.io/xtls/xray-core:latest ``` Runtime note: * The `xray_default` network exists, but the running `xray` container was attached only to `proxy` in the 2026-06-24 runtime snapshot. Security: * Public tunneling endpoint exposure must be monitored * Access policy and abuse monitoring must be reviewed regularly * Not classified as an application backend service Status: ```text Operational ``` --- ## Shared Infrastructure ### Docker Purpose: * Container hosting * Service isolation Status: ```text Running ``` --- ### Internal Docker Network Purpose: * Private communication between services Status: ```text Running ``` --- ### Proxy Docker Network Purpose: * HTTP and HTTPS service exposure through Nginx Proxy Manager * Shared public routing layer for web-facing services Status: ```text Running ``` --- ### Isolated Docker Networks Purpose: * Keep specialized infrastructure stacks isolated from application backends * Separate Jitsi, Xray and CI/CD runner traffic from shared database traffic Networks: * `jitsi-docker-jitsi-meet-aa76415_meet.jitsi` * `xray_default` * `gitea-runner_default` Status: ```text Running ``` --- ### Shared Secrets Location: ```text /srv/secrets/company.env ``` Purpose: * SMTP credentials * Database passwords * Application secrets Status: ```text Active ``` --- ## Removed Services ## Planned Services See: ```text docs/roadmap.md ``` Phase 1: * Loki * Redis * Authelia Phase 2: * CrowdSec * Sentry * Restic * Fail2Ban upgrade * Cloudflare rate limiting and WAF Phase 3: * SonarQube * Harbor * Backstage * Nextcloud --- ### Plane.so Reason: OpenProject was selected as the primary project management platform. Plane.so is not used and will not be used. Status: ```text Removed ``` Cleanup: * Containers removed * Nginx Proxy Manager route removed * Unused SSL certificate removed from the server --- ## Related Documentation * docs/server.md * docs/network.md * docs/roadmap.md * docs/monitoring.md * docs/domains.md * docs/security.md * docs/backups.md