Try describing what you need:

Peon logo

Peon

★ 103

A self-hosted alternative to Vercel Heroku

MIT LicenseOpen Source — No Paywall6 Containers — 6 containers — moderate hosting footprintDocker · Compose · SourceNeeds Postgres2 documented maintainers

About

Peon is an open-source deployment platform designed for teams that want a self-hosted alternative to managed PaaS products such as Vercel and Heroku. It lets users deploy Git-based applications,...

Community Ratings

No ratings yet

Features

  • Git or Docker image deployments over SSH
  • one-click service templates
  • workspace/project tenancy
  • role-based access
  • background jobs for deployments and backups
  • self-hosted PostgreSQL and queue support
  • terminal WebSocket
  • cron scheduling
  • TLS
  • logs

Details

Last Updated
Nov 5, 2026
Created
Jul 10, 2026
Install Methods
dockerdocker-composesource
Requirements
Node.js 20+pnpmPostgreSQLAWS SQS or local ElasticMQSES/S3 credentials for email and object storage featuresA Linux server reachable over SSH
Default Port
3000Next.js development server web UI
Authentication
local
API
REST
Backup & Export
built-in-backupdatabase-dump
Privacy & Independence
Cloud: Optional
User Model
Multi-UserMulti-Tenant
Deployment

Deployment: Docker Compose ✓6 Containers — moderate hosting footprintRuns as 6 containers

Run Peon yourself

Pick how much you want to manage.

1 more way to host

Some links earn us a commission. netcup pays us one and is our preferred VPS host.

Is this your project? Sponsor a listing

Run Peon with Docker Compose

Compose file from the Peon project repository.

6 services · database: postgres · infra: postgres · 1 unclassified (elasticmq-native)

no resource limits declared

needs persistent storage (3 volumes)

docker-compose.yml · @ 150cdd4 · scanned Nov 3, 2026

# Optional self-host / production-like stack for Peon.
#
# Day-to-day local development usually runs the app on the host:
#
#   docker compose --profile db up -d       # Postgres
#   docker compose --profile sqs up -d      # ElasticMQ (local SQS)
#   pnpm dev / pnpm worker / pnpm schedule / pnpm socket
#
# Or run the full containerized stack (app + worker + schedule + socket + SQS):
#
#   docker compose --profile full up -d
#
# Point `.env` at ElasticMQ when using the local queue (see `.env.example`),
# or leave SQS_ENDPOINT empty to use real AWS SQS.

x-local-sqs-env: &local-sqs-env
  SQS_ENDPOINT: http://elasticmq:9324
  SQS_DEPLOYMENT_QUEUE_URL: http://elasticmq:9324/000000000000/peon-deployments
  SQS_TASKS_QUEUE_URL: http://elasticmq:9324/000000000000/peon-tasks
  AWS_ACCESS_KEY_ID: local
  AWS_SECRET_ACCESS_KEY: local

services:
  postgres:
    image: postgres:16-alpine
    container_name: peon-postgres
    restart: unless-stopped
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: peon
    ports:
      - "5432:5432"
    volumes:
      - peon_pgdata:/var/lib/postgresql/data
      - ./docker/postgres-init:/docker-entrypoint-initdb.d:ro
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 5s
      timeout: 5s
      retries: 10
    profiles: ["db"]

  elasticmq:
    image: softwaremill/elasticmq-native
    container_name: peon-elasticmq
    restart: unless-stopped
    ports:
      - "9324:9324"
    volumes:
      - ./docker/elasticmq.conf:/opt/elasticmq.conf:ro
    profiles: ["sqs", "full"]

  app:
    build:
      context: .
      dockerfile: docker/Dockerfile
    container_name: peon-app
    restart: unless-stopped
    command: ["pnpm", "start"]
    env_file:
      - .env
    environment:
      <<: *local-sqs-env
    ports:
      - "3000:3000"
    depends_on:
      - elasticmq
    profiles: ["full"]

  worker:
    build:
      context: .
      dockerfile: docker/Dockerfile.worker
    container_name: peon-worker
    restart: unless-stopped
    command: ["node", "--import", "tsx", "worker/index.ts"]
    env_file:
      - .env
    environment:
      <<: *local-sqs-env
    depends_on:
      - elasticmq
    profiles: ["full"]

  schedule:
    build:
      context: .
      dockerfile: docker/Dockerfile.worker
    container_name: peon-schedule
    restart: unless-stopped
    command: ["node", "--import", "tsx", "worker/schedule.ts"]
    env_file:
      - .env
    environment:
      <<: *local-sqs-env
    depends_on:
      - elasticmq
    profiles: ["full"]

  socket:
    build:
      context: .
      dockerfile: docker/Dockerfile.worker
    container_name: peon-socket
    restart: unless-stopped
    command: ["node", "--import", "tsx", "worker/socket.ts"]
    env_file:
      - .env
    ports:
      - "${TERMINAL_WS_PORT:-8081}:${TERMINAL_WS_PORT:-8081}"
    profiles: ["full"]

volumes:
  peon_pgdata:

This file may be out of date. Check the Peon documentation for current setup steps.

Track your self-hosted stack

Bookmark software to try, rate tools you've used, and keep your collection in one place.

Metadata extracted from README on Sep 22, 2026

Alternatives to Peon

Dokploy logo

Dokploy

38.3k
Dokploy is a self-hostable Platform as a Service for deploying and managing applications and databases.
Platform as a ServiceSelf Hosting SolutionsPermissive License+4
FOSS with Issues
Details
Coolify logo

Coolify

65.7k
Coolify is an open-source, self-hostable platform for managing servers, applications, and databases as an alternative to Heroku, Netlify, and Vercel.
Platform as a ServiceSelf Hosting SolutionsPermissive License+3
4 Containers
Details
ZaneOps logo

ZaneOps

1.4k
ZaneOps is a self-hosted platform for deploying and managing static sites, web apps, databases, services, and workers.
Platform as a ServiceSelf Hosting SolutionsWeb Servers+1
Details
openship logo

openship

15.2k
Openship is an open-source, self-hostable deployment platform with built-in CI/CD that can build, ship, route, and TLS-terminate apps from a desktop app, web dashboard, or CLI.
Platform as a ServiceSelf Hosting SolutionsAutomation Tools
5 Containers
Details
CapRover logo

CapRover

15.2k
CapRover is a deployment platform and webserver manager for NodeJS, Python, PHP, ASP.NET, Ruby, and common databases.
Platform as a ServiceSelf Hosting SolutionsWeb Servers+4
Not FOSS
Details
Dokku logo

Dokku

32.2k
Dokku is a Docker-powered mini-Heroku PaaS for deploying and managing applications on a self-hosted server.
Platform as a ServiceSelf Hosting SolutionsPermissive License
Details
piku logo

piku

6.6k
piku is a lightweight micro-PaaS that lets users deploy applications to their own servers with git push.
Platform as a ServiceSelf Hosting SolutionsAutomation Tools+1
Details
Tsuru logo

Tsuru

5.3k
tsuru is an open source Platform as a Service (PaaS) for faster, easier application deployments.
Platform as a ServiceSelf Hosting SolutionsAutomation Tools+1
Details
PTAH.SH logo

PTAH.SH

228
Ptah.sh is a self-hosted deployment platform for managing application infrastructure, scaling, backups, and load balancing.
Platform as a ServiceSelf Hosting SolutionsWeb Servers+2
Details
once logo

once

2.0k
ONCE is a platform for installing and managing Docker-based web applications, with automatic updates, backups, and a TUI/CLI for self-hosting operations.
Self Hosting SolutionsAutomation ToolsPlatform as a Service
Details
cloud-in-a-bottle logo

cloud-in-a-bottle

1.2k
Cloud in a Bottle is a platform for deploying, using, and sharing web apps on infrastructure you control.
Platform as a ServiceSelf Hosting SolutionsWeb Servers+2
Details
Canine logo

Canine

2.9k
Canine is a self-hosted Kubernetes deployment platform that simplifies PaaS-style application deployment and management on your own Kubernetes infrastructure.
Platform as a ServiceSelf Hosting SolutionsAutomation Tools+2
Details

Related Software

Dockge logo

Dockge

24.8k
Dockge is a self-hosted, reactive web UI for managing Docker Compose stacks, including editing, starting, stopping, and updating compose files.
Self Hosting SolutionsPlatform as a ServiceAutomation Tools+1
Single ContainerFully FOSS
Details
Gogs logo

Gogs

47.9k
Gogs is a simple, stable, extensible self-hosted Git service that can be set up with an independent binary across platforms.
Dev Project ManagementPermissive LicenseSelf Hosting Solutions+1
Details
Gitea logo

Gitea

58.9k
A self-hosted Git service for managing repositories, issues, pull requests, and related collaboration workflows.
Dev Project ManagementPermissive LicenseAutomation Tools+1
Details
Websoft9 logo

Websoft9

2.1k
Websoft9 is a web-based Linux/PaaS control panel for running and managing 200+ open source applications on a self-hosted server.
Self Hosting SolutionsPlatform as a ServiceAutomation Tools+3
Details
Tipi logo

Tipi

9.7k
A personal homeserver orchestrator for managing and running multiple services on a single server through a web interface.
Self Hosting SolutionsPersonal DashboardsPlatform as a Service+2
Details
Flagsmith logo

Flagsmith

6.6k
Flagsmith is an open-source feature flagging and remote config platform for controlling feature rollouts and releases.
Feature TogglesPermissive LicenseSelf Hosting Solutions+1
Open Core
Details
Cloud Seeder logo

Cloud Seeder

199
A one-click server appliance wizard for self-hosting containerized applications.
Self Hosting SolutionsAutomation ToolsPlatform as a Service
Source AvailableCloud Required
Details
RapidForge logo

RapidForge

43
RapidForge is a lightweight self-hosted platform for building and deploying webhooks, APIs, scheduled tasks, and dynamic pages using simple scripts.
IDE ToolsPermissive LicenseAutomation Tools+4
Details
minimal-git-server logo

minimal-git-server

49
A minimal containerized Git server with a basic CLI for managing repositories.
Dev Project ManagementSelf Hosting SolutionsPermissive License
Details
compose-farm logo

compose-farm

318
Compose Farm is a minimal CLI tool for running Docker Compose commands across multiple hosts over SSH, with a web UI and declarative reconciliation via `cf apply`.
Automation ToolsSelf Hosting SolutionsRemote Access
2 Containers
Details
SCM Manager logo

SCM Manager

185
A self-hosted web application for sharing and managing Git, Mercurial, and Subversion repositories.
Dev Project ManagementPermissive LicenseSelf Hosting Solutions
Open Core
Details