156 lines
3.0 KiB
Markdown
156 lines
3.0 KiB
Markdown
# SilverLinux Infrastructure
|
||
|
||
This repository contains the infrastructure configuration, deployment files and operational documentation for the SilverLinux server.
|
||
|
||
SilverLinux is the primary self-hosted platform for Silver Solutions and hosts source control, project management, collaboration, communication and CI/CD services.
|
||
|
||
---
|
||
|
||
## Server Information
|
||
|
||
| Property | Value |
|
||
| ---------------- | ----------------------- |
|
||
| Hostname | silverlinux |
|
||
| Provider | OVH |
|
||
| Operating System | Ubuntu Server 24.04 LTS |
|
||
| Public IP | 51.255.83.140 |
|
||
| CPU | Intel Xeon-D 1520 |
|
||
| Memory | 32 GB RAM |
|
||
| Storage | 2 × 480 GB SSD RAID1 |
|
||
|
||
---
|
||
|
||
## Core Services
|
||
|
||
### Running
|
||
|
||
* PostgreSQL
|
||
* Microsoft SQL Server 2022 Express
|
||
* Gitea
|
||
* OpenProject
|
||
* Jitsi Meet
|
||
* Portainer
|
||
* Nginx Proxy Manager
|
||
* BaGet
|
||
* Gitea Actions Runner
|
||
* DbGate
|
||
* Xray
|
||
* Prometheus
|
||
* Grafana
|
||
* Node Exporter
|
||
* cAdvisor
|
||
|
||
### Planned
|
||
|
||
* Nextcloud
|
||
* Loki
|
||
* Redis
|
||
* Authelia
|
||
* CrowdSec
|
||
* Sentry
|
||
* Restic
|
||
* Harbor
|
||
* SonarQube
|
||
* Backstage
|
||
|
||
See [docs/roadmap.md](docs/roadmap.md) for the phased infrastructure roadmap.
|
||
|
||
### Removed
|
||
|
||
* Plane.so (replaced by OpenProject)
|
||
|
||
---
|
||
|
||
## Shared Infrastructure
|
||
|
||
The following components are shared across multiple services:
|
||
|
||
* Docker
|
||
* Docker Compose
|
||
* Internal Docker Network
|
||
* Proxy Docker Network
|
||
* Isolated Docker Networks
|
||
* Monitoring Docker Stack
|
||
* Automated Backup System
|
||
* Shared Secrets Management
|
||
|
||
Secrets are stored outside the repository:
|
||
|
||
```text
|
||
/srv/secrets/company.env
|
||
```
|
||
|
||
---
|
||
|
||
## Repository Structure
|
||
|
||
```text
|
||
baget/
|
||
dbgate/
|
||
docs/
|
||
gitea/
|
||
jitsi/
|
||
mssql/
|
||
nginx-proxy-manager/
|
||
openproject/
|
||
portainer/
|
||
postgres/
|
||
scripts/
|
||
```
|
||
|
||
Each service folder contains:
|
||
|
||
* docker-compose.yml
|
||
* README.md
|
||
* .env.example
|
||
|
||
---
|
||
|
||
## Purpose
|
||
|
||
This repository serves as the single source of truth for rebuilding and maintaining the SilverLinux environment.
|
||
|
||
Infrastructure documentation, Docker Compose files, backup procedures, deployment notes and operational decisions are stored here.
|
||
|
||
The goal is that the entire environment can be rebuilt from this repository and the documented backup files.
|
||
|
||
---
|
||
|
||
## CI/CD
|
||
|
||
Gitea Actions is enabled globally and uses the self-hosted `silverlinux-runner` on SilverLinux. The operational Silver 2.0 package workflow builds and publishes NuGet packages to the internal BaGet feed.
|
||
|
||
See [docs/cicd.md](docs/cicd.md) for the runner, workflow triggers, pipeline stages and secret locations.
|
||
|
||
---
|
||
|
||
## Security
|
||
|
||
Never commit:
|
||
|
||
* Passwords
|
||
* API Keys
|
||
* SMTP Credentials
|
||
* OAuth Secrets
|
||
* SSL Private Keys
|
||
* Database Credentials
|
||
* Real `.env` files
|
||
* `/srv/secrets/company.env`
|
||
|
||
Use example files whenever possible.
|
||
|
||
---
|
||
|
||
## Disaster Recovery
|
||
|
||
This repository should contain enough information to rebuild the entire SilverLinux environment from scratch.
|
||
|
||
See:
|
||
|
||
* docs/server.md
|
||
* docs/network.md
|
||
* docs/roadmap.md
|
||
* docs/backups.md
|
||
* docs/security.md
|
||
* docs/secrets.md
|