Port orchestration for multi-project development. Deterministic ports, .test hostnames, .env integration, and multi-instance support — all from a single config file.
Same project, same ports — every time, on every machine. No more "is 3000 free?" guessing games.
Real hostnames like myapp.test instead of localhost:3000. Built-in DNS and reverse proxy.
Worktrees, branches, or multiple checkouts — each gets its own ports and hostnames. No collisions.
Ports, URLs, and derived values written directly to your .env files. Your app reads them natively.
Define your services in .outport.yml
# .outport.yml
name: myapp
services:
rails:
env_var: PORT
hostname: myapp
protocol: http
postgres:
env_var: PGPORT
redis:
env_var: REDIS_PORTRun outport apply and ports are allocated
$ outport apply myapp · main rails 13842 myapp.test postgres 28391 redis 19204 → .env updated
Your .env has everything. Start coding.
# .env PORT=13842 PGPORT=28391 REDIS_PORT=19204 MYAPP_URL=http://myapp.test