Documentation

services

Private Service

Internal services that are not exposed to the public internet.

A private service runs inside your deployment network but is not accessible from the public internet. Other services in the same deployment can reach it through internal networking.

When to Use#

  • Internal APIs or microservices that should not be public
  • Authentication or authorization services
  • Internal tools and admin panels
  • Services that only other services need to reach

Configuration#

runix.yaml
yaml
services:
  - name: auth-service
    type: private-service
    repo: https://github.com/alice/auth
    env:
      PORT: "4000"
      JWT_SECRET: "my-secret"

  - name: api
    type: web-service
    repo: https://github.com/alice/api
    env:
      AUTH_SERVICE_URL: "http://auth-service:4000"

Available Fields#

FieldDefaultDescription
`repo`GitHub repository URL (required)
`branch``main`Git branch to deploy
`instance``starter`Instance type
`build_command`Auto-detectedOverride the build command
`start_command`Auto-detectedOverride the start command
`env`NoneEnvironment variables

Key Differences from Web Services#

  • No public URL or subdomain is assigned
  • Only reachable by other services in the same deployment via internal networking
  • Uses the service name as the hostname (e.g., `http://auth-service:4000`)

Use private services for anything that should not be directly reachable from the internet, like authentication backends, internal APIs, or admin tools.

Private services still get health monitoring and log streaming. You can view their status and logs in the dashboard or CLI just like any other service.