updating the documentation of the SilverLinux Insftracture
This commit is contained in:
+103
-126
@@ -4,57 +4,20 @@ Last Updated: 2026-06-21
|
||||
|
||||
## Overview
|
||||
|
||||
SilverLinux is the primary self-hosted infrastructure server for Silver Solutions.
|
||||
SilverLinux is the primary infrastructure server for Silver Solutions.
|
||||
|
||||
The server hosts development and collaboration services used for software development, source control, package management, project management and future CI/CD automation.
|
||||
|
||||
## Server Information
|
||||
|
||||
### Host
|
||||
|
||||
| Property | Value |
|
||||
| ---------------- | ----------------------- |
|
||||
| Name | SilverLinux |
|
||||
| Provider | OVH |
|
||||
| Operating System | Ubuntu Server 24.04 LTS |
|
||||
| Public IP | 51.255.83.140 |
|
||||
|
||||
### Hardware
|
||||
|
||||
| Resource | Value |
|
||||
| -------- | ------------------- |
|
||||
| CPU | Intel Xeon-D 1520 |
|
||||
| Memory | 32 GB RAM |
|
||||
| Storage | 2 × 480 GB SSD RAID |
|
||||
The platform hosts source control, project management, video conferencing, container management and supporting infrastructure services.
|
||||
|
||||
---
|
||||
|
||||
## Security
|
||||
## Public Services
|
||||
|
||||
### SSH
|
||||
|
||||
* SSH key authentication enabled
|
||||
* Root login disabled
|
||||
|
||||
### Firewall
|
||||
|
||||
* UFW enabled
|
||||
|
||||
### Protection
|
||||
|
||||
* Fail2Ban enabled
|
||||
|
||||
---
|
||||
|
||||
## Container Platform
|
||||
|
||||
### Docker
|
||||
|
||||
All application services are deployed using Docker containers.
|
||||
|
||||
### Docker Compose
|
||||
|
||||
Docker Compose is used for service deployment and management.
|
||||
| Service | URL |
|
||||
| ----------- | ----------------------------------- |
|
||||
| Gitea | https://git.silveressence.net |
|
||||
| OpenProject | https://team.silveressence.net |
|
||||
| Portainer | https://portainer.silveressence.net |
|
||||
| Jitsi Meet | https://meet.silveressence.net |
|
||||
|
||||
---
|
||||
|
||||
@@ -64,31 +27,64 @@ Docker Compose is used for service deployment and management.
|
||||
|
||||
Purpose:
|
||||
|
||||
* Source control
|
||||
* Git repositories
|
||||
* Pull requests
|
||||
* Issue tracking
|
||||
* Git hosting
|
||||
|
||||
URL:
|
||||
|
||||
```text
|
||||
https://git.silveressence.net
|
||||
```
|
||||
* Future CI/CD integration
|
||||
|
||||
Authentication:
|
||||
|
||||
* Local accounts
|
||||
* Planned Google OAuth2
|
||||
* Planned GitHub OAuth2
|
||||
|
||||
Future considerations:
|
||||
Email:
|
||||
|
||||
- Google OAuth (optional)
|
||||
- GitHub OAuth (optional)
|
||||
* SMTP configured
|
||||
* Password reset supported
|
||||
|
||||
Current focus:
|
||||
---
|
||||
|
||||
* Disable OpenID
|
||||
* Enable 2FA
|
||||
* Configure backups
|
||||
### 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
|
||||
|
||||
---
|
||||
|
||||
@@ -96,91 +92,73 @@ Current focus:
|
||||
|
||||
Purpose:
|
||||
|
||||
* Docker management
|
||||
* Container monitoring
|
||||
* Docker administration
|
||||
* Stack deployment
|
||||
|
||||
URL:
|
||||
|
||||
```text
|
||||
https://portainer.silveressence.net
|
||||
```
|
||||
* Container monitoring
|
||||
|
||||
---
|
||||
|
||||
### Nginx
|
||||
### Nginx Proxy Manager
|
||||
|
||||
Purpose:
|
||||
|
||||
* Reverse proxy
|
||||
* SSL termination
|
||||
* SSL certificate management
|
||||
* Domain routing
|
||||
|
||||
---
|
||||
|
||||
## Email
|
||||
## Shared Infrastructure
|
||||
|
||||
Sender address:
|
||||
### Docker
|
||||
|
||||
Purpose:
|
||||
|
||||
* Container hosting
|
||||
* Service isolation
|
||||
|
||||
### Internal Network
|
||||
|
||||
Purpose:
|
||||
|
||||
* Private communication between services
|
||||
|
||||
### Shared Secrets
|
||||
|
||||
Location:
|
||||
|
||||
```text
|
||||
noreply@silveressence.net
|
||||
/srv/secrets/company.env
|
||||
```
|
||||
|
||||
Purpose:
|
||||
Contains:
|
||||
|
||||
* Password reset emails
|
||||
* Service notifications
|
||||
* Future CI/CD notifications
|
||||
* SMTP credentials
|
||||
* PostgreSQL passwords
|
||||
* OpenProject secrets
|
||||
* Future OAuth secrets
|
||||
|
||||
This file must never be committed to Git.
|
||||
|
||||
---
|
||||
|
||||
## Domains
|
||||
## Architecture Decisions
|
||||
|
||||
| Domain | Purpose |
|
||||
| --------------------------- | ------------ |
|
||||
| git.silveressence.net | Gitea |
|
||||
| portainer.silveressence.net | Portainer |
|
||||
| nuget.silveressence.net | Future BaGet |
|
||||
| plane.silveressence.net | Future Plane |
|
||||
### OpenProject Selected
|
||||
|
||||
---
|
||||
OpenProject is the primary project management platform.
|
||||
|
||||
## Planned Services
|
||||
### Plane.so Removed
|
||||
|
||||
### BaGet
|
||||
Plane.so was removed to reduce maintenance complexity and duplicate functionality.
|
||||
|
||||
Purpose:
|
||||
### Centralized Secrets
|
||||
|
||||
* Private NuGet package hosting
|
||||
All shared credentials are stored in:
|
||||
|
||||
Status:
|
||||
|
||||
* Planned
|
||||
|
||||
### Plane.so
|
||||
|
||||
Purpose:
|
||||
|
||||
* Project management
|
||||
* Sprint planning
|
||||
* Issue tracking
|
||||
|
||||
Status:
|
||||
|
||||
* Planned
|
||||
|
||||
---
|
||||
|
||||
## Backup Priorities
|
||||
|
||||
Critical data:
|
||||
|
||||
* Gitea repositories
|
||||
* Gitea database
|
||||
* Gitea configuration
|
||||
* Docker Compose files
|
||||
* Nginx configuration
|
||||
* SSL certificates
|
||||
```text
|
||||
/srv/secrets/company.env
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -188,27 +166,26 @@ Critical data:
|
||||
|
||||
### Phase 1
|
||||
|
||||
* Verify email configuration
|
||||
* Disable OpenID
|
||||
* Enable Gitea 2FA
|
||||
* Configure backups
|
||||
* Enable Google OAuth2
|
||||
* Enable GitHub OAuth2
|
||||
* Configure automated backups
|
||||
|
||||
### Phase 2
|
||||
|
||||
* Deploy BaGet
|
||||
* Configure private package feeds
|
||||
* Configure private NuGet feeds
|
||||
|
||||
### Phase 3
|
||||
|
||||
* Deploy Plane.so
|
||||
* Deploy Sentry
|
||||
|
||||
### Phase 4
|
||||
|
||||
* Implement CI/CD pipelines
|
||||
* Deploy directly from Gitea to IIS servers
|
||||
* Automated deployment to Windows IIS servers
|
||||
|
||||
---
|
||||
|
||||
## Mission
|
||||
|
||||
Provide a reliable, secure and self-hosted platform for development, deployment and collaboration within Silver Solutions.
|
||||
Provide a secure, reliable and self-hosted platform for software development and business operations within Silver Solutions.
|
||||
|
||||
Reference in New Issue
Block a user