h_HIRAX.

HIRAX / FIELD GUIDE

One VPS. More than one project.

Route multiple domains to separate apps without mixing secrets, databases or deployment responsibilities.

STEP 01Share the machine, separate the applications

Give each app its own runtime, credentials and persistent storage. Sharing a VPS means sharing its CPU, RAM, disk and failure domain. A resource-heavy build or worker can affect the other projects, so monitor capacity and leave headroom.

STEP 02Use one edge proxy

Only one process can own the same host port. Let one Caddy instance handle ports 80 and 443 and route by hostname. For host-based apps bound to different loopback ports, the following example keeps both application ports private.

EXAMPLE / ADAPT TO YOUR PROJECT
first.example.com {
  reverse_proxy 127.0.0.1:3001
}

second.example.com {
  reverse_proxy 127.0.0.1:3002
}

STEP 03Separate releases and permissions

Use separate service users or appropriately isolated containers. Do not let one app read every other app’s .env files. Track which service owns each port, domain and database. Deploy one app without restarting all the others.

STEP 04Know when to split the server

Separate machines may be worthwhile when a project needs a stronger security boundary, independent maintenance, predictable capacity or higher availability. Multiple apps on one VPS is a practical starting point, not automatic high availability.

COPY → YOUR AI

Take the next step to your AI.

A safe starting prompt for this guide. No secrets. Works with ChatGPT, Claude and other assistants.

Sources and technical documentation

Caddy automatic HTTPSDocker documentation

This recipe is a pattern for the stated prerequisites. Verify project compatibility and your actual server configuration before applying it to a live service.

Ready for your own server?

Find a starting point for your project and compare real configurations at WVG.

Find my next step