Skip to main content

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.