600 lines
6.6 KiB
Markdown
600 lines
6.6 KiB
Markdown
# 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
|