Infrastructure Overview
This document provides an overview of our infrastructure.
1. Hosting Provider
We host our infrastructure at Hetzner.
2. Hetzner Cloud Access
To access the Hetzner Cloud console, navigate to https://console.hetzner.cloud/ and log in with your credentials. Server access is primarily via SSH using authorized keys.
3. Servers
We have 5 dedicated servers with the following roles:
- Coolify Server: 1 server running Coolify (
188.245.90.124). - Nomad Agent: 1 server acting as a Nomad agent (
138.199.222.109). - Nomad Clients: 2 servers acting as Nomad clients (
91.99.17.219,91.99.60.214). - PostgreSQL DB Server: 1 server running our PostgreSQL database (
91.99.58.197), with a Docker container for S3 backups.
3. Infrastructure Diagram
4. Core Services
- Container Orchestration: Nomad
- Traffic Routing: Traefik (used in the Nomad agent to route incoming traffic to the correct services).
- Application Deployment: Coolify
- Database: PostgreSQL
5. DNS Provider
We use Cloudflare for our DNS management.
6. Network Topology
Our Hetzner environment is set up with appropriate networking configurations for server communication and service accessibility.
7. Deployment Process
Applications are deployed via Coolify, leveraging Nomad for orchestration.
8. Access Management
Access to our servers and services is managed through secure SSH keys, appropriate access controls, and 1Password for secure credential management.
9. HashiCorp Stack
We leverage the HashiCorp stack for various infrastructure needs:
- Nomad: For container orchestration (as mentioned in Core Services).
- Consul: For service discovery and configuration.
- Vault: For secrets management and data protection.