Files
silverlinux-infra/docs/AI_CONTEXT.md
T
2026-06-21 17:03:02 +03:30

1.9 KiB

SilverLinux AI Context

Purpose

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

The goal is to host all development, collaboration, deployment and internal tooling.

Server

Hostname: silverlinux

OS: Ubuntu Server 24.04 LTS

Provider: OVH

Public IP: 51.255.83.140

Core Services

  • PostgreSQL
  • Gitea
  • OpenProject
  • Jitsi Meet
  • Portainer
  • Nginx Proxy Manager
  • BaGet
  • Gitea Actions Runner (silverlinux-runner)

Domains

git.silveressence.net -> Gitea

team.silveressence.net -> OpenProject

meet.silveressence.net -> Jitsi

portainer.silveressence.net -> Portainer

nuget.silveressence.net -> BaGet (through Nginx Proxy Manager)

Secrets

Secrets are stored in:

/srv/secrets/company.env

Never hardcode credentials.

Always use env_file.

Docker Networks

proxy internal

Authentication

Gitea:

  • Local accounts

CI/CD

Gitea Actions is enabled globally.

The global self-hosted runner is operational at /srv/docker/gitea-runner with the name silverlinux-runner.

Silver 2.0 uses .gitea/workflows/package.yml to publish NuGet packages to BaGet when a push to net-8-version has a commit message containing [Package].

The runner registration token is stored in /srv/secrets/company.env. The BaGet publishing key is stored as the repository Actions secret BAGET_API_KEY.

  • OpenID disabled
  • Google OAuth planned
  • GitHub OAuth planned

OpenProject:

  • Local accounts

Documentation

Read all files in:

docs/

and the README.md of each service folder before making infrastructure recommendations.

Important Decisions

  • Plane.so removed
  • OpenProject selected
  • Centralized secrets implemented
  • Nginx Proxy Manager selected
  • PostgreSQL selected as shared database platform
  • BaGet deployed at nuget.silveressence.net through Nginx Proxy Manager
  • Gitea Actions and a global self-hosted runner selected for package publishing