Deploy containersanywhere.
Without the orchestration headache. From weekend projects to production traffic. No platform middleman taking a cut or locking you in.
curl -fsSL https://get.jiji.run/install.sh | shNETWORK_TOPOLOGY
Multi cloud, unified mesh
// WHAT_YOU_GET
Production ready from day one
Everything you need to deploy and manage containerized applications across multiple servers.
Your Infrastructure
Run on any server you control. AWS, Hetzner, DigitalOcean, bare metal. Mix providers freely.
Predictable Costs
No per request fees. A $5/month VPS can run production workloads. Scale when you need to.
Secure by Default
WireGuard mesh VPN encrypts all traffic automatically. No exposed ports required.
// SIMPLICITY
One config. One command.
Define your entire infrastructure in a single YAML file. Deploy with jiji deploy.
project: myappservers: web1: host: server1.example.com web2: host: server2.example.comservices: api: build: context: . hosts: [web1, web2] proxy: app_port: 3000 host: api.example.com ssl: true$jiji server initInitializing web1... doneInitializing web2... done$jiji deploy --buildBuilding api... donePushing to registry... doneDeploying to web1... healthyDeploying to web2... healthy✓ Deployed myapp-api to 2 servers
// COMPARISON
Why Jiji?
vs. Kubernetes
vs. Docker Compose
vs. PaaS
// FEATURES
Everything included
Built-in features that would take weeks to set up manually.
// CORE
Private Mesh Network
WireGuard VPN between all servers. Encrypted by default.
Automatic DNS
Service discovery via jiji-dns. Access services by name.
Zero-Downtime
Rolling deploys with health checks. Automatic rollback.
Runtime Agnostic
Docker or Podman. Same config, your choice.
Multi Server
Deploy across servers in parallel. Scale horizontally or vertically.
Multi Project
Run multiple apps on one server. Perfect for small teams and hobby projects.
// PROXY_&_SSL
Auto SSL/TLS
Automatic HTTPS certificates via kamal-proxy. Zero config.
Path-based Routing
Route traffic based on URL path prefix to different services.
Wildcard Domains
Support for wildcard domain matching like *.example.com.
Multi-port Services
Route multiple ports on single service to different domains.
HTTP Health Checks
Health checking via HTTP endpoints with configurable paths.
Command Health Checks
Custom shell commands for health verification.
Health Check Timing
Configurable intervals, timeouts, and deploy timeouts.
// BUILD
Multi-stage Builds
Support Docker multi-stage builds with target specification.
Custom Dockerfile
Specify non-standard Dockerfile path for builds.
Build Arguments
Pass build-time arguments (ARGs) to Docker.
Remote Builds
Execute builds on remote SSH hosts for faster CI/CD.
Build Cache
Control whether to use Docker layer cache for builds.
// CONTAINER_CONFIG
Resource Limits
CPU, memory, GPU limits. Device mapping support.
Privileged Mode
Run containers with extended privileges when needed.
Linux Capabilities
Add specific capabilities like SYS_ADMIN, NET_ADMIN.
Device Mappings
Mount host devices into containers (/dev/video0, /dev/snd).
Named Volumes
Use Docker named volumes instead of host paths.
File & Directory Mounts
Mount files/directories with fine grained permissions.
Custom Commands
Override container ENTRYPOINT/CMD as needed.
Restart Policy
Configure restart behavior (unless-stopped, always, on-failure).
Network Mode
Set custom network modes (bridge, host, etc.).
// DEPLOYMENT
Rolling Deployments
Zero-downtime deployments with old container cleanup.
Stop-First Mode
For stateful services like SQLite - stop old before starting new.
Health Check Rollback
Automatic rollback on failed health checks.
Image Retention
Control how many images to keep per service.
Deployment Locks
Prevent concurrent deploys. Team safe operations.
Service Filtering
Deploy specific services by name patterns.
// SSH_&_CONNECTIONS
SSH Jump Host
Connect through bastion/intermediate hosts via SSH proxy.
Multiple SSH Keys
Support multiple SSH keys for authentication.
Key Passphrase
Support encrypted SSH keys with passphrases.
SSH Config Support
Use system SSH config (~/.ssh/config).
Connection Pooling
Concurrent connection optimization for faster deploys.
Interactive SSH
Shell access to servers via jiji server exec.
// ENVIRONMENT_&_SECRETS
Secrets Management
Reference secrets from .env files securely.
Shared Environment
Project level env vars inherited by all services.
Multi-environment
Load different configurations per environment.
Custom Secrets Path
Specify custom location for .env files.
// NETWORK
Custom Cluster CIDR
Configure private network IP range (default 10.210.0.0/16).
Network Inspection
Query Corrosion database for container details.
DNS Record Viewing
View all DNS records from the network database.
Network GC
Clean up unused network resources automatically.
Network Teardown
Safely remove private networking from servers.
// REGISTRY
Registry Support
Built-in local registry or GHCR, Docker Hub, ECR.
Registry Login
Authenticate to remote container registries.
Registry Setup
Configure local or remote registries easily.
// LOGGING_&_MONITORING
Centralized Logs
Fetch logs from services with filtering.
Log Grep
Filter logs by pattern with grep options.
Time-based Filtering
Show logs since timestamp or relative time.
Log Follow Mode
Stream logs in real-time like tail -f.
Audit Trail
Complete deployment history with filtering.
Deployment Metrics
Track deployment timing and success rates.
// OPERATIONS
Remote Execution
Run commands across servers in parallel or sequential.
Service Restart
Restart services without full redeployment.
Service Removal
Clean removal with network unregistration.
Image Pruning
Automatic cleanup of old service images.
Server Teardown
Clean server removal from cluster.
Auto-install Engine
Install Docker/Podman automatically on servers.
Architecture Support
Explicitly set server architecture (amd64/arm64).
// ARCHITECTURE
Three components, zero complexity
Jiji CLI
Runs on your machine. Reads config, connects via SSH, orchestrates everything.
Network Stack
WireGuard mesh VPN. Corrosion state sync. Kamal Proxy for HTTP routing.
Jiji-dns
Lightweight DNS for service discovery. Health-aware routing. Real-time updates.
// GET_STARTED
Deploy your first app in 5 minutes
Read the quick start guide or dive into the full documentation.