Files
silverlinux-infra/docs/server.md
T
2026-06-22 15:55:41 +03:30

4.0 KiB
Raw Blame History

Server Information

Overview

SilverLinux is the primary self-hosted infrastructure server for Silver Solutions.

The server hosts source control, project management, collaboration, communication and supporting infrastructure services.


Host Information

Property Value
Hostname 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 RAID1

Installed Software

Docker

Purpose:

  • Container hosting
  • Service isolation
  • Deployment management

Docker Compose

Purpose:

  • Multi-container application deployment
  • Service management

PostgreSQL

Purpose:

  • Primary PostgreSQL database platform

Microsoft SQL Server Express

Purpose:

  • Private SQL Server platform for compatible applications

Fail2Ban

Purpose:

  • SSH brute-force protection

UFW

Purpose:

  • Firewall management

Docker Networks

internal

Purpose:

Private communication between services.

Examples:

  • Gitea → PostgreSQL
  • OpenProject → PostgreSQL

proxy

Purpose:

Public-facing services behind Nginx Proxy Manager.

Examples:

  • Gitea
  • OpenProject
  • Jitsi Meet
  • Portainer
  • DbGate

Running Services

  • PostgreSQL
  • Gitea
  • OpenProject
  • Jitsi Meet
  • Portainer
  • Nginx Proxy Manager
  • BaGet
  • Gitea Actions Runner
  • Microsoft SQL Server 2022 Express
  • DbGate

Directory Structure

Docker Services

/srv/docker

Contains:

/srv/docker/gitea
/srv/docker/openproject
/srv/docker/postgres
/srv/docker/jitsi
/srv/docker/portainer
/srv/docker/nginx-proxy-manager
/srv/docker/baget
/srv/docker/gitea-runner
/srv/docker/mssql
/srv/docker/dbgate

Shared Secrets

/srv/secrets/company.env

Contains:

  • SMTP credentials
  • Database passwords
  • Application secrets
  • MSSQL SA password
  • Future DbGate password
  • Future OAuth credentials

Backups

/srv/backups

Suggested structure:

/srv/backups/daily
/srv/backups/weekly
/srv/backups/monthly

Service Data Locations

Gitea

/srv/docker/gitea/data

OpenProject

/srv/docker/openproject/assets

PostgreSQL

/srv/docker/postgres/data

Microsoft SQL Server Express

/srv/docker/mssql/data

DbGate

/srv/docker/dbgate/data

Nginx Proxy Manager

/srv/docker/nginx-proxy-manager/data
/srv/docker/nginx-proxy-manager/letsencrypt

Jitsi

/srv/docker/jitsi

BaGet

/srv/docker/baget/data

Gitea Actions Runner

/srv/docker/gitea-runner

Runner:

silverlinux-runner

SSH Access

Primary user:

ubuntu

Authentication:

  • SSH key authentication
  • Root login disabled

Security

Implemented:

  • UFW enabled
  • Fail2Ban enabled
  • Shared secrets stored outside Git repositories
  • SSL certificates managed through Nginx Proxy Manager
  • PostgreSQL not exposed publicly
  • MSSQL port 1433 not exposed publicly
  • Database administration is available only through authenticated HTTPS access to DbGate
  • OpenID disabled in Gitea

Email

Sender address:

noreply@silveressence.net

SMTP credentials are stored in:

/srv/secrets/company.env

Used by:

  • Gitea
  • OpenProject

Disaster Recovery

This repository should contain enough information to rebuild the SilverLinux environment from scratch.

Recovery priorities:

  1. Restore secrets
  2. Restore PostgreSQL
  3. Restore Nginx Proxy Manager
  4. Restore Gitea
  5. Restore OpenProject
  6. Restore remaining services

  • docs/secrets.md
  • docs/security.md
  • docs/backups.md
  • docs/services.md
  • docs/domains.md