Files
silverlinux-infra/docs/domains.md
T

468 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Domains
## Overview
This document contains the public domains used by SilverLinux and the services they expose.
All public services are routed through Nginx Proxy Manager.
Verified proxy-host snapshot:
```text
2026-06-24, with Nextcloud and Sentry evidence added from 2026-07-08 server output
```
---
## Primary Domain
```text
silveressence.net
```
Used for:
* Public services
* Subdomains
* SSL certificates
---
## Nginx Proxy Manager Hosts
| ID | Domain | Forward target | SSL Force | HTTP/2 | HSTS | WebSocket | Access List | Status |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | `portainer.silveressence.net` | `http://portainer:9000` | enabled | enabled | enabled | enabled | none | enabled |
| 2 | `git.silveressence.net` | `http://gitea:3000` | disabled | disabled | disabled | enabled | none | enabled |
| 3 | `meet.silveressence.net` | `http://jitsi-docker-jitsi-meet-aa76415-web-1:80` | disabled | disabled | disabled | enabled | none | enabled |
| 5 | `team.silveressence.net` | `http://openproject:80` | enabled | enabled | disabled | enabled | none | enabled |
| 6 | `nuget.silveressence.net` | `http://baget:80` | disabled | disabled | disabled | disabled | none | enabled |
| 8 | `dbgate.silveressence.net` | `http://dbgate:3000` | disabled | disabled | disabled | enabled | none | enabled |
| 12 | `sentry.silveressence.net` | `http://sentry-self-hosted-nginx-1:80` | enabled | enabled | disabled | enabled | none | enabled |
| 13 | `cloud.silveressence.net` | `http://nextcloud:80` | disabled | disabled | disabled | enabled | none | enabled |
All listed active inventory hosts have Block Exploits enabled.
---
## Additional Active Proxy Hosts
These proxy hosts were present and enabled in Nginx Proxy Manager during the 2026-06-24 snapshot, but are not part of the current core infrastructure service inventory.
| ID | Domain | Forward target | Reason |
| --- | --- | --- | --- |
| 7 | `cicd.silveressence.net` | `http://bobsAutowas:8080` | Active prototype deployment and test endpoint; may change frequently |
| 9 | `exactsyncer.silveressence.net` | `http://exact-syncer:8080` | Active client-facing demo for the Exact Online syncer application |
Action:
* Keep `cicd.silveressence.net` documented as a fast-changing prototype endpoint.
* Keep `exactsyncer.silveressence.net` documented as an intentional client-facing demo endpoint.
* Document owner, authentication model and exposure policy for active non-core endpoints.
Plane.so cleanup:
* Plane.so containers were removed.
* `plane.silveressence.net` was removed from Nginx Proxy Manager.
* The unused Plane.so SSL certificate was removed from the server.
---
## Proxy Hardening Review
Nginx Proxy Manager findings from the 2026-06-24 snapshot:
* `portainer.silveressence.net` has SSL Force, HTTP/2 and HSTS enabled.
* `team.silveressence.net` has SSL Force and HTTP/2 enabled.
* `sentry.silveressence.net` has SSL Force, HTTP/2, WebSocket and Block Exploits enabled; HSTS is disabled.
* `git.silveressence.net`, `meet.silveressence.net`, `nuget.silveressence.net`, `dbgate.silveressence.net` and `cloud.silveressence.net` do not have SSL Force enabled.
* No listed proxy host uses an Nginx Proxy Manager access list.
* DbGate is a high-sensitivity database administration interface and should be prioritized for SSL Force and an access restriction policy.
* Nextcloud stores private files and should be prioritized for SSL Force, HTTP/2 and HSTS.
* Plane.so has been removed from containers, Nginx Proxy Manager and server certificate storage.
---
## Domain Details
### Gitea
Domain:
```text
git.silveressence.net
```
Purpose:
* Source control
* Git repositories
* Pull requests
* Issue tracking
Container:
```text
gitea
```
---
### OpenProject
Domain:
```text
team.silveressence.net
```
Purpose:
* Project management
* Work packages
* Time tracking
* Team collaboration
Container:
```text
openproject
```
---
### Jitsi Meet
Domain:
```text
meet.silveressence.net
```
Purpose:
* Video conferencing
* Team meetings
* Customer meetings
Container Stack:
```text
jitsi-docker-jitsi-meet-aa76415-web-1
```
---
### Portainer
Domain:
```text
portainer.silveressence.net
```
Purpose:
* Docker management
* Infrastructure administration
Container:
```text
portainer
```
---
### BaGet
Domain:
```text
nuget.silveressence.net
```
Purpose:
* Private NuGet package hosting
Container:
```text
baget
```
Routing:
```text
Nginx Proxy Manager -> baget:80
```
Status:
```text
Active
```
---
### Exact Syncer Demo
Domain:
```text
exactsyncer.silveressence.net
```
Purpose:
* Demo `.NET 9` Blazor application for Exact Online integration
* Provides a UI for connecting Exact webhooks and observing sync behavior
* Syncs main division changes to dependent sub-divisions
Behavior:
* When the main division record (Relation 1) changes, divisions 210 add or update the same relation data
* Demonstrates how Exact Online master/sub-division sync works in practice
Container:
```text
exact-syncer
```
Routing:
```text
Nginx Proxy Manager -> exact-syncer:8080
```
Notes:
* Demo version intended for client evaluation
* Can be recreated as a bespoke customer instance on request
Status:
```text
Operational demo
```
---
### BobAutoWas Exact Syncer Instance
Domain:
```text
cicd.silveressence.net
```
Purpose:
* Client-specific Exact Syncer instance for BobAutoWas
* Customer recreation of the Exact Syncer demo application
* Provides the same webhook-driven division sync behavior
Behavior:
* Mirrors Exact Syncer demo functionality for BobAutoWas
* Supports client evaluation and live preview of the integration
Container:
```text
bobsAutowas
```
Routing:
```text
Nginx Proxy Manager -> bobsAutowas:8080
```
Status:
```text
Active client instance
```
---
### DbGate
Domain:
```text
dbgate.silveressence.net
```
Purpose:
* HTTPS database administration portal
Container:
```text
dbgate
```
Routing:
```text
Nginx Proxy Manager -> dbgate:3000
```
Status:
```text
Active
```
---
### Sentry
Domain:
```text
sentry.silveressence.net
```
Purpose:
* Error tracking and observability
* Event ingestion endpoint
* Sentry web UI
Container:
```text
sentry-self-hosted-nginx-1
```
Routing:
```text
Nginx Proxy Manager -> sentry-self-hosted-nginx-1:80
```
Status:
```text
Active
```
Runtime note:
Sentry was installed through the upstream self-hosted `install.sh` and is available at `https://sentry.silveressence.net`. Nginx Proxy Manager proxy host 12 forwards the domain to `http://sentry-self-hosted-nginx-1:80`. The 2026-07-08 database query showed SSL Force enabled, HTTP/2 enabled, HSTS disabled, HSTS subdomains disabled, WebSocket enabled, Block Exploits enabled and no access list.
---
### Nextcloud
Domain:
```text
cloud.silveressence.net
```
Purpose:
* Private cloud storage
* File sharing
* Team document storage
Container:
```text
nextcloud
```
Routing:
```text
Nginx Proxy Manager -> nextcloud:80
```
Status:
```text
Active
```
Runtime note:
Nginx Proxy Manager proxy host 13 is enabled and forwards `cloud.silveressence.net` to `http://nextcloud:80`. The 2026-07-08 database query showed SSL Force disabled, HTTP/2 disabled, HSTS disabled, WebSocket enabled, Block Exploits enabled and no access list.
---
## DNS
DNS records should point to:
```text
51.255.83.140
```
Server:
```text
SilverLinux
```
---
## SSL Certificates
SSL certificates are managed through:
```text
Nginx Proxy Manager
```
Certificate data location:
```text
/srv/docker/nginx-proxy-manager/letsencrypt
```
---
## Routing
Internet
Nginx Proxy Manager
Service Container
Examples:
```text
git.silveressence.net
gitea
team.silveressence.net
openproject
meet.silveressence.net
jitsi
portainer.silveressence.net
portainer
```
---
## Related Documentation
* docs/server.md
* docs/security.md
* docs/network.md
* nginx-proxy-manager/README.md