DbGate
Overview
DbGate is the HTTPS-accessible database administration portal for SilverLinux.
URL:
https://dbgate.silveressence.net
Status:
Operational
It administers private Microsoft SQL Server and PostgreSQL instances without exposing either database server directly to the internet.
Service Information
| Property | Value |
|---|---|
| Container | dbgate |
| Image | dbgate/dbgate:latest |
| Application port | 3000 |
| Networks | internal, proxy |
| Compose location | /srv/docker/dbgate/docker-compose.yml |
| Data location | /srv/docker/dbgate/data |
The internal network provides database access. The proxy network connects DbGate to Nginx Proxy Manager.
Reverse Proxy
| Setting | Value |
|---|---|
| Domain | dbgate.silveressence.net |
| Scheme | http |
| Forward host | dbgate |
| Forward port | 3000 |
| SSL | Let's Encrypt |
| Force SSL | Enabled |
| HTTP/2 | Enabled |
Only DbGate is publicly accessible. MSSQL port 1433 and PostgreSQL port 5432 remain private.
Authentication
DbGate requires a username and password before granting access. The initial unauthenticated deployment was corrected by configuring LOGIN and PASSWORD.
The DbGate password is supplied through Infisical at runtime. The repository intentionally does not contain the password; its Compose definition resolves DBGATE_PASSWORD from the deployment environment.
Operational requirement:
- Keep
DBGATE_PASSWORDin the DbGate Infisical path. - Deploy through
slcomposeso the value is injected before Docker Compose evaluates the environment. - Remove any legacy plaintext credential from the server-side Compose file if it still exists.
Database Connections
SilverLinux MSSQL
| Setting | Value |
|---|---|
| Engine | SQL Server |
| Server | mssql |
| Port | 1433 |
| Default database | master |
| User | sa |
| Encrypt | Yes |
| Trust server certificate | Yes |
The connection was validated against master, model, msdb and tempdb.
PostgreSQL is also reachable through the shared internal network using hostname postgres and port 5432.
Validation
docker ps
docker logs dbgate
Expected log message:
DbGate API listening on port 3000
Architecture
Internet
-> Nginx Proxy Manager
-> DbGate
-> MSSQL 2022 Express
-> PostgreSQL 17
Backup Requirements
Back up:
/srv/docker/dbgate/data
Also retain the Compose definition, Nginx Proxy Manager configuration and DbGate credential through Infisical recovery.
Related Documentation
- mssql/README.md
- postgres/README.md
- nginx-proxy-manager/README.md
- docs/domains.md
- docs/security.md
- docs/secrets.md
- docs/backups.md