443 lines
7.0 KiB
Markdown
443 lines
7.0 KiB
Markdown
# SilverLinux Infrastructure Summary
|
|
|
|
Last Updated: 2026-07-08
|
|
|
|
## Overview
|
|
|
|
SilverLinux is the primary infrastructure server for Silver Solutions.
|
|
|
|
The platform hosts source control, project management, video conferencing, container management and supporting infrastructure services.
|
|
|
|
Monitoring, alerting, automated backups and restore validation are now production-ready.
|
|
|
|
---
|
|
|
|
## Public Services
|
|
|
|
| Service | URL |
|
|
| ----------- | ----------------------------------- |
|
|
| Gitea | https://git.silveressence.net |
|
|
| OpenProject | https://team.silveressence.net |
|
|
| Portainer | https://portainer.silveressence.net |
|
|
| Jitsi Meet | https://meet.silveressence.net |
|
|
| BaGet | https://nuget.silveressence.net |
|
|
| DbGate | https://dbgate.silveressence.net |
|
|
| Nextcloud | https://cloud.silveressence.net |
|
|
| Xray | Public tunneling endpoint |
|
|
|
|
---
|
|
|
|
## Running Services
|
|
|
|
### Gitea
|
|
|
|
Purpose:
|
|
|
|
* Git repositories
|
|
* Pull requests
|
|
* Issue tracking
|
|
* Gitea Actions enabled globally
|
|
* Self-hosted Actions runner operational
|
|
* NuGet package publishing to BaGet
|
|
|
|
Authentication:
|
|
|
|
* Local accounts
|
|
* Planned Google OAuth2
|
|
* Planned GitHub OAuth2
|
|
|
|
Email:
|
|
|
|
* SMTP configured
|
|
* Password reset supported
|
|
|
|
---
|
|
|
|
### OpenProject
|
|
|
|
Purpose:
|
|
|
|
* Project management
|
|
* Sprint planning
|
|
* Time tracking
|
|
* Roadmaps
|
|
* Team collaboration
|
|
|
|
Email:
|
|
|
|
* SMTP configured
|
|
* Notifications enabled
|
|
|
|
---
|
|
|
|
### Jitsi Meet
|
|
|
|
Purpose:
|
|
|
|
* Video conferencing
|
|
* Screen sharing
|
|
* Team meetings
|
|
|
|
Authentication:
|
|
|
|
* Internal authentication
|
|
* Guest access enabled
|
|
|
|
---
|
|
|
|
### PostgreSQL
|
|
|
|
Purpose:
|
|
|
|
* Shared database platform
|
|
* OpenProject database
|
|
* Gitea database
|
|
* Future application databases
|
|
|
|
---
|
|
|
|
### Microsoft SQL Server Express
|
|
|
|
Purpose:
|
|
|
|
* Support projects requiring Microsoft SQL Server
|
|
* Provide a private SQL Server 2022 Express platform
|
|
|
|
Access:
|
|
|
|
* Docker `internal` network only
|
|
* Port 1433 is not publicly exposed
|
|
|
|
Status:
|
|
|
|
* Operational
|
|
|
|
---
|
|
|
|
### Portainer
|
|
|
|
Purpose:
|
|
|
|
* Docker administration
|
|
* Stack deployment
|
|
* Container monitoring
|
|
|
|
---
|
|
|
|
### Nginx Proxy Manager
|
|
|
|
Purpose:
|
|
|
|
* Reverse proxy
|
|
* SSL certificate management
|
|
* Domain routing
|
|
|
|
---
|
|
|
|
### Monitoring Stack
|
|
|
|
Purpose:
|
|
|
|
* Metrics collection
|
|
* Monitoring dashboards
|
|
* Host and Docker visibility
|
|
* Backup metrics visibility
|
|
|
|
Components:
|
|
|
|
* Prometheus
|
|
* Grafana
|
|
* Node Exporter
|
|
* cAdvisor
|
|
* Alertmanager
|
|
|
|
Validated:
|
|
|
|
* Prometheus UI
|
|
* Prometheus targets
|
|
* Node Exporter
|
|
* cAdvisor
|
|
* Backup metrics
|
|
* Grafana datasource
|
|
* Alertmanager email routing
|
|
|
|
Dashboards:
|
|
|
|
* Custom backup dashboard
|
|
* Custom system dashboard
|
|
* Docker monitoring dashboard
|
|
|
|
Alerting:
|
|
|
|
* Incident grouping
|
|
* Severity-based routing
|
|
* Alert deduplication
|
|
* Multi-recipient email notifications
|
|
|
|
Status:
|
|
|
|
* Production ready
|
|
|
|
---
|
|
|
|
### Automated Backup System
|
|
|
|
Purpose:
|
|
|
|
* Daily backup execution
|
|
* Archive generation
|
|
* HTML reporting
|
|
* Email notification
|
|
* Restore validation
|
|
* Prometheus backup metrics
|
|
|
|
Current version:
|
|
|
|
* Backup v5.3
|
|
|
|
Validated:
|
|
|
|
* Backup execution
|
|
* Restore archive extraction
|
|
* MSSQL backup integrity
|
|
* PostgreSQL backup
|
|
* Email notifications
|
|
* Cron automation
|
|
* Backup metrics export
|
|
* Lock file protection
|
|
* Disk space validation
|
|
* Structured failure handling
|
|
|
|
Status:
|
|
|
|
* Production ready
|
|
|
|
---
|
|
|
|
### BaGet
|
|
|
|
Purpose:
|
|
|
|
* Private NuGet package hosting
|
|
* Internal Silver.* package distribution
|
|
|
|
Access:
|
|
|
|
* Routed through Nginx Proxy Manager
|
|
* https://nuget.silveressence.net
|
|
|
|
---
|
|
|
|
### Gitea Actions Runner
|
|
|
|
Purpose:
|
|
|
|
* Execute Gitea Actions workflows
|
|
* Build and package Silver 2.0 libraries
|
|
* Publish NuGet packages to BaGet
|
|
|
|
Status:
|
|
|
|
* Global runner operational as `silverlinux-runner`
|
|
|
|
---
|
|
|
|
### DbGate
|
|
|
|
Purpose:
|
|
|
|
* Browser-based MSSQL and PostgreSQL administration
|
|
|
|
Access:
|
|
|
|
* https://dbgate.silveressence.net
|
|
* HTTPS through Nginx Proxy Manager
|
|
* Username and password required
|
|
|
|
Status:
|
|
|
|
* Operational
|
|
|
|
---
|
|
|
|
### Nextcloud
|
|
|
|
Purpose:
|
|
|
|
* Private cloud storage
|
|
* File sharing
|
|
* Team document storage
|
|
|
|
Access:
|
|
|
|
* https://cloud.silveressence.net
|
|
* HTTPS through Nginx Proxy Manager
|
|
* Nextcloud user authentication required
|
|
|
|
Runtime:
|
|
|
|
* `nextcloud:29-apache`
|
|
* `postgres:16`
|
|
* `redis:7-alpine`
|
|
* Data volume `nextcloud_nextcloud_data`
|
|
* Database volume `nextcloud_nextcloud_db`
|
|
|
|
Status:
|
|
|
|
* Operational
|
|
|
|
---
|
|
|
|
### Xray
|
|
|
|
Purpose:
|
|
|
|
* Connectivity and tunneling layer
|
|
* Improve stable access paths to SilverLinux
|
|
|
|
Access:
|
|
|
|
* Attached to `proxy`
|
|
* Publishes `32443 -> 8080/tcp`
|
|
* `xray_default` exists, but no running Xray container was attached to it in the 2026-06-24 runtime snapshot
|
|
|
|
Status:
|
|
|
|
* Operational
|
|
|
|
---
|
|
|
|
## Shared Infrastructure
|
|
|
|
### Docker
|
|
|
|
Purpose:
|
|
|
|
* Container hosting
|
|
* Service isolation
|
|
|
|
### Internal Network
|
|
|
|
Purpose:
|
|
|
|
* Private communication between services
|
|
|
|
### Proxy Network
|
|
|
|
Purpose:
|
|
|
|
* Public HTTP and HTTPS services through Nginx Proxy Manager
|
|
|
|
### Isolated Networks
|
|
|
|
Purpose:
|
|
|
|
* Separate specialized stacks such as Jitsi, Xray and CI/CD runners where active runtime attachments support it
|
|
|
|
### Shared Secrets
|
|
|
|
Primary source:
|
|
|
|
```text
|
|
Infisical
|
|
```
|
|
|
|
Contains:
|
|
|
|
* SMTP credentials
|
|
* PostgreSQL passwords
|
|
* MSSQL SA password
|
|
* OpenProject secrets
|
|
* DbGate password
|
|
* Nextcloud secrets
|
|
* Future OAuth secrets
|
|
|
|
Secrets are injected into standard SilverLinux Compose stacks at runtime through `slcompose`.
|
|
|
|
Exception:
|
|
|
|
* Sentry follows its upstream self-hosted installer pattern because it is a much larger multi-service application.
|
|
|
|
Legacy note:
|
|
|
|
* `/srv/secrets/company.env` is no longer part of the active secret model and should be removed if it still exists on the server.
|
|
|
|
---
|
|
|
|
## Architecture Decisions
|
|
|
|
### OpenProject Selected
|
|
|
|
OpenProject is the primary project management platform.
|
|
|
|
### Plane.so Removed
|
|
|
|
Plane.so was removed to reduce maintenance complexity and duplicate functionality. It is not used and will not be used. Its containers, Nginx Proxy Manager route and unused SSL certificate were removed.
|
|
|
|
### Centralized Secrets
|
|
|
|
All standard service credentials are stored in:
|
|
|
|
```text
|
|
Infisical
|
|
```
|
|
|
|
They are injected by `slcompose` at runtime. Sentry is the exception and follows the default self-hosted Sentry installation model.
|
|
|
|
### Xray Connectivity Layer
|
|
|
|
Xray is classified as a tunneling and connectivity layer rather than an application backend.
|
|
|
|
### Multi-Network Segmentation
|
|
|
|
SilverLinux uses `internal`, `proxy` and isolated infrastructure networks to separate database, public and specialized stack traffic.
|
|
|
|
---
|
|
|
|
## Future Roadmap
|
|
|
|
See:
|
|
|
|
```text
|
|
docs/roadmap.md
|
|
```
|
|
|
|
### Phase 1 - Immediate Impact
|
|
|
|
* Loki logging
|
|
* Redis
|
|
* Authelia SSO
|
|
|
|
Completed:
|
|
|
|
* Grafana + Prometheus
|
|
* Node Exporter
|
|
* cAdvisor
|
|
* Alertmanager
|
|
* Backup metrics integration
|
|
* Incident intelligence
|
|
|
|
### Phase 2 - Security And Stability
|
|
|
|
* CrowdSec
|
|
* Fail2Ban upgrade
|
|
* Cloudflare rate limiting and WAF
|
|
|
|
Completed:
|
|
|
|
* Backup v5.3 automation
|
|
* Restore validation
|
|
* Sentry
|
|
|
|
### Phase 3 - Scale And Enterprise Services
|
|
|
|
* SonarQube
|
|
* Harbor Docker registry
|
|
* Backstage portal
|
|
|
|
---
|
|
|
|
## Mission
|
|
|
|
Provide a secure, reliable and self-hosted platform for software development and business operations within Silver Solutions.
|