Skip to content

Docker Compose hosting for developers and coding agents

Deploy yourwhole stack

Portyard takes your Compose stack from local development to managed production.

Point Portyard at the repository your team already runs locally. We build and operate its web services, APIs, workers and jobs — with managed routing, TLS, logs and lifecycle controls, and no cluster for you to manage.

Compose in. Production out. No Kubernetes. No AWS console.

Currently in development — early access opening soon

PORTYARD STACKatlas / prod
docker-compose.ymlyou write this
services:
  web:
    image: ghcr.io/atlas/web
    ports: ["3000"]
    environment:
      DATABASE_URL: ${DATABASE_URL}
      S3_BUCKET: ${S3_BUCKET}

  worker:
    image: ghcr.io/atlas/web
    command: ./worker

  api:
    image: ghcr.io/atlas/api
    expose: ["8080"]

  cleanup:
    image: ghcr.io/atlas/web
    command: npm run cleanup
    # scheduled in portyard.yaml
app.atlas.devTLS auto
private network

web

:3000 · ×2

worker

always-on

api

:8080 · internal

cleanup

scheduled job

secrets
health
logs & metrics
compose filebuilt containersprivate networkHTTPS routeslogs & lifecycle

Why Portyard?

Bring the stack. Portyard handles production.

How it works

From repository to running stack in three steps

Bring the application definition you already use. Portyard inspects it, prepares a reviewable deployment plan and launches the supported services without Kubernetes, Terraform or the AWS console.

  1. 01

    Connect your repository

    Point Portyard at a GitHub repo with a compose.yaml or docker-compose.yml, Dockerfiles and environment configuration. No rewrites, no proprietary app format.

  2. 02

    We analyse and build

    The platform detects your services, builds images and produces a compatibility report and deployment plan — so you can review exactly what will run before anything changes.

  3. 03

    Deploy and operate

    Containers come up with TLS, routing, secrets and health checks wired in. Operate logs, restarts, rollbacks and scaling from the dashboard, CLI, API or your coding agent.

Every deployed stack gets

  • Domains & TLSmanaged certificates, auto-renewed
  • Health checksunhealthy containers get restarted
  • Restartsrestart: unless-stopped honoured
  • Logsdeployment and application, per service
  • Rollbacksredeploy any previous release
  • Secretsencrypted, injected at runtime

Core platform

Compose in, production out

Portyard reads the stack you already have and prepares it for production. Unmarked capabilities are first-release container scope; badged data, scaling and preview features follow after the core platform is stable.

  • Compose-native deployments

    Container services, dependencies and environment configuration map directly onto the platform. Public web services get routed; private internal services stay private.

  • Workers and daemons

    Queue consumers, schedulers, bots and long-running processes run as first-class services. No HTTP port required, no hacks to keep them alive.

  • Scheduled jobs and one-off tasks

    Cron containers become managed scheduled jobs. Migrations and maintenance scripts run as temporary tasks that exist only while they're needed.

  • Roadmap

    Managed databases

    Native PostgreSQL, MySQL and Valkey provisioning is planned. At launch, connect an existing managed database through encrypted environment variables.

  • Roadmap

    Buckets and persistent storage

    Native object-storage buckets, persistent volumes and managed backups are planned. Initial containers use ephemeral filesystems and external storage services.

  • Domains and managed TLS

    HTTP services get a domain and managed certificates out of the box. Point your own domains at the stack when you're ready.

  • Environment variables and secrets

    Plain env config alongside encrypted secrets, injected at runtime and reusable across environments. Nothing sensitive lives in the repo or on a box.

  • Deployment and application logs

    Build output and streaming per-service runtime logs in one place. When a container dies, you see why — not just that it did.

  • Health checks, restarts, rollbacks

    Health checks restart unhealthy containers automatically, and any previous release can be redeployed in one action when a deploy goes wrong.

  • Git-controlled environments

    Staging and production as separate, reproducible environments driven by your repository and versioned configuration — not by dashboard archaeology.

  • Planned

    Auto container scaling

    Set CPU or memory targets per service and the platform adds replicas when load rises and pulls them back when it falls. No bigger-box upgrades.

  • Planned

    Preview environments

    Every pull request gets a temporary, isolated environment with its own URL — review changes running, not just diffed. Torn down automatically when merged.

Production-aware Compose

Compose describes the application. Portyard handles production.

This is not docker compose up on one virtual machine. Portyard analyses the complete stack, maps each supported service to the right production primitive and tells you plainly what needs an external provider or cannot launch.

What your Compose services become at launch

  • stateless web servicehorizontally scaled containers behind an HTTPS route
  • worker serviceindependently scaled workers — separate from web
  • cron containermanaged scheduled job
  • one-off commandtemporary task that runs and exits
  • postgres containerexternal PostgreSQL at launch; native provisioning on the roadmap
  • redis containerexternal Redis or Valkey at launch; native provisioning later
  • local uploads directoryexternal S3-compatible bucket; native buckets on the roadmap
  • public portsHTTPS routes with managed TLS
  • internal servicesstay private on the stack network
  • named volumesnot persistent at launch; managed volumes are on the roadmap
$ portyard validatePortyard compatibility report
  • webstateless — horizontally scalable
  • workerindependently scalable
  • postgresexternal DATABASE_URL required
  • redisexternal Redis/Valkey URL required
  • uploads/external object-storage bucket required
  • named volumespersistent volumes are roadmap
  • docker.sock mountunsupported — blocked at deploy
  • privileged: trueunsupported — blocked at deploy

2 services ready · 3 external dependencies · 1 roadmap item · 2 unsupported options

A deployment compatibility report, not blind optimism. You'll know what runs as a container, what must connect to an external data service and what's unsupported before you deploy — not after.

Bring the stack. Portyard handles production.

CLI & configuration

Review the complete deployment plan before launch

Your repository, Compose file and Portyard configuration remain the source of truth. The CLI is the main operating interface: inspect, validate, plan, deploy and diagnose through one consistent control surface.

portyard.yamloptional — usually generated for you
# Compose describes the app. This describes production intent.
project: example-app
region: eu-west-2

services:
  web:
    compose_service: web
    public:
      domain: app.example.com
      port: 3000
    replicas: 2
    healthcheck:
      path: /health

  worker:
    compose_service: worker
    replicas: 1

jobs:
  cleanup:
    service: web
    command: npm run cleanup
    schedule: "0 2 * * *"

Not a new infrastructure language to learn. portyard init generates it from your Compose file, it lives in your repo, and most projects never need to edit it by hand.

Run the whole yard from one CLI
  • portyard initinspect the repository and prepare configuration
  • portyard validatecheck what is ready, external or unsupported
  • portyard planpreview services, routes, jobs and scaling changes
  • portyard deploybuild and launch the approved stack
  • portyard statussee every service in the current release
  • portyard logs webfollow one service without searching AWS
  • portyard exec web -- shshell into a running service
  • portyard rollbackredeploy the previous release
  • portyard env set API_KEYset env vars and secrets
  • portyard domains add api.example.comattach domains, TLS follows
  • portyard scale web --replicas 2set the launch replica count
$ portyard plan
project: atlas · environment: production
release: atlas-2026-07-21.3

+ Create web service
+ Create worker service
+ Create scheduled cleanup job
+ Configure app.example.com
~ Set web replicas from 1 to 2
! postgres requires an external DATABASE_URL

Every service, route, job and replica change appears in a versioned deployment plan before launch — including warnings when a service requires an external database or storage provider.

AI-native operation

In design

The PaaS built for developers and coding agents

Portyard exposes the same platform through versioned configuration, CLI, API and a planned MCP surface. Developers and well-scoped agents can inspect, plan, deploy and diagnose a stack through one consistent control surface, with approval before production changes.

you, to your coding agent
"Deploy this repository, configure the domain, connect the existing database, add the required environment variables and fix any deployment errors."

…and the agent can

  1. 01Inspect the repository and detect the Compose file
  2. 02Identify container services and external data dependencies
  3. 03Generate the platform configuration
  4. 04Validate and produce a deployment plan
  5. 05Request your approval
  6. 06Deploy, then read build and runtime logs
  7. 07Fix configuration issues and redeploy
  8. 08Test the resulting endpoint and report back
Planned MCP tool surface — review-first automation
inspect_repositoryvalidate_configcreate_projectcreate_environmentplan_deploymentapply_deploymentget_deployment_statusread_logsset_secretsconfigure_domainsscale_servicerollback_deployment

Destructive production operations sit behind extra confirmation, or outside ordinary agent tokens entirely.

Where this is going

The goal is first-class compatibility with Claude Code, Codex, Cursor and other MCP-capable agents, over a documented API the CLI itself uses. The MCP server is on the roadmap, not shipped — initial users will shape the interface before we lock it in.

For agencies

One Portyard for every client stack

Keep every client application isolated while managing deployments, environments, access and spending from one control plane. Portyard is a general container platform shaped first around the workflows small and mid-size agencies actually run.

  • Every client stack in one place

    Run client projects side by side — each isolated, all visible from one dashboard and one CLI.

  • Clean project boundaries

    Keep resources, environments, domains and access separated between clients.

  • Per-client access controls

    Give a developer access to one project, a client read-only visibility on theirs, and nobody keys to the kingdom.

  • Planned

    Preview environments per pull request

    Show clients changes running at a real URL before merge — not a screenshot in a ticket.

  • Staging & production environments

    Every project gets proper staging and production, driven by the same repository and config.

  • Reusable secrets

    Share credentials across a client's environments without pasting them into Slack.

  • Reviewable production launches

    Staging can move quickly while production waits for an approved deployment plan. Policy, not convention.

  • Roadmap

    Database & file cloning

    Clone production data into staging once native managed databases and storage are available.

  • Roadmap

    Managed data backups

    Centralised database and storage backups will follow the native data-service rollout.

  • Costs separated by client

    Consolidated billing with per-project usage breakdowns you can attribute to the right client.

  • Planned

    Handover without rebuilding

    Planned ownership transfer keeps the environment and deployment history intact when an engagement ends.

  • Human and agent audit trails

    See who proposed, approved and applied each deployment plan for every client project.

Beyond a single node

Keep Compose's simplicity. Drop the single-host limits.

Docker Compose itself doesn't do distributed scaling — we won't pretend otherwise. Portyard uses your Compose file as the application definition, then distributes and scales each service independently across managed infrastructure.

Each service scales the way it should

  • webreplicas set independently; autoscaling follows
  • workerscaled independently from web containers
  • schedulerexactly one active instance, always
  • databaseexternal managed service at launch
  • storageexternal object storage at launch
  • jobstemporary tasks — exist only while running
First release
  • Manual replica counts per service
  • One-off commands as tasks
  • Scheduled (cron) jobs
  • Independent web/worker scaling
In development
  • Auto container scaling on CPU/memory targets
  • Temporary preview environments
  • Queue-triggered workers
Roadmap
  • Native PostgreSQL, MySQL and Valkey
  • Buckets, persistent volumes and managed backups
  • Request-driven HTTP containers and scale-to-zero

Serverless-style workloads arrive incrementally — jobs and scheduled tasks first, scale-to-zero HTTP later. We'd rather ship each tier properly than promise all of it at once.

Safety & approvals

Automation with a handbrake

Agent-driven infrastructure only works if you can trust it. Every change — from the dashboard, CLI or an AI agent — follows the same review path, and production never changes silently.

  1. Plan
  2. Review
  3. Approve
  4. Apply
  • Read-only by default

    Agent tokens start with visibility, not control. Write access is granted deliberately.

  • Scoped access tokens

    Tokens are limited to specific projects, environments and operations — never account-wide by accident.

  • Project-level permissions

    An agent working on one client project can't see or touch another.

  • Staging-only scopes

    Let agents iterate freely on staging while production stays approval-gated.

  • Short-lived credentials

    Credentials expire quickly; nothing long-lived to leak into logs or chat history.

  • Deployment plans

    Every change is previewed as a plan — humans and agents both review the same artifact.

  • Explicit production approval

    Nothing reaches production without a human approving the plan first.

  • Protected destructive operations

    Deleting production data requires additional confirmation — or sits outside agent tokens entirely.

  • Complete audit logs

    Every action — human or agent — is recorded with who, what, when and the plan that authorised it.

Under the hood

Serious AWS infrastructure. None of the AWS console.

The platform is being built on AWS primitives — and deliberately hides them. You get reliable managed infrastructure without opening an AWS account, writing IAM policies or learning what an ALB is.

Launch infrastructure and data roadmap

  • ECScontainer orchestration
  • EC2affordable always-on capacity
  • Fargateisolated tasks & bursts
  • ECRimage registry
  • ALBHTTPS routing
  • S3platform build artifacts
  • CloudWatchlogs & metrics
  • EventBridgeschedules & events
  • SQSqueues
  • RDSnative managed databasesRoadmap
  • Managed ValkeyRedis-compatible cacheRoadmap
  • S3 bucketscustomer object storageRoadmap
  • EFSpersistent shared volumesRoadmap

EC2 capacity keeps always-on workloads affordable; Fargate handles isolated tasks and bursts. You never see the bill line-items, the consoles or the acronyms — just a stack that stays up.

Standard containers, less lock-in

Your application stays built on boring, portable standards:

DockerDocker ComposeGitEnvironment variablesStandard databasesS3-compatible storageOrdinary DNS

Planned export paths

  • Generated Compose files
  • Generated ECS definitions
  • Environment exports
  • Container images
  • Database backups
  • Storage exports
  • Generated Terraform

Planned early-access pricing

Simple pricing. Every plan includes equal hosting credit.

Your plan is your minimum monthly spend. Use the full amount for containers, workers, jobs, preview environments and networking. Additional usage is billed at the same published rates.

Your plan is a minimum monthly spend, not a separate software fee. Every dollar comes back as hosting credit.

Unlimited projects. Unlimited collaborators. No per-seat pricing. Invite everyone who needs access.

Developer

$5/mo

Includes $5 monthly usage credit

Build and deploy

Personal, experimental and early-stage workloads.

  • Unlimited projects
  • Unlimited collaborators
  • Basic owner and member roles
  • Docker Compose and Dockerfile deployments
  • Preview environments, billed by usage
  • Custom domains and managed TLS
  • Application and deployment logs
  • Environment variables and secrets
  • CLI and MCP access
  • Deployment validation and plans
  • Manual deployments and rollbacks
  • Support tickets

Usage above $5 billed at published platform rates

Pro

$20/mo

Includes $20 monthly usage credit

Run production

Production applications that need protection, history and automation.

  • Everything in Developer
  • Scheduled jobs and one-off tasks
  • Service-level scaling
  • Production environment protection
  • Deployment history
  • Longer log retention
  • Longer backup retention
  • Email and webhook alerts
  • Scoped access tokens
  • Project-level permissions
  • Support tickets

Usage above $20 billed at published platform rates

Agency

$100/mo

Includes $100 monthly usage credit

Manage client infrastructure

Agencies operating production applications across clients.

  • Everything in Pro
  • Unlimited client organisations
  • Separate workspaces for every client
  • Granular role-based access controls
  • Deployment approvals
  • Complete audit history
  • Reusable organisation secrets
  • Consolidated billing
  • Per-project usage reporting
  • Client project transfer
  • Environment handover
  • Agency management dashboard
  • Priority support tickets

Usage above $100 billed at published platform rates

No per-project or per-seat charges. Running resources, builds, logs and preview environments are billed by usage.

DeveloperProAgency
Monthly minimum$5$20$100
Included credit$5$20$100
ProjectsUnlimitedUnlimitedUnlimited
CollaboratorsUnlimitedUnlimitedUnlimited
Preview environmentsUsage-basedUsage-basedUsage-based
CLI and MCPIncludedIncludedIncluded
Production protectionsBasicIncludedAdvanced
PermissionsBasic rolesProject-levelGranular client RBAC
Audit historyBasicExtendedComplete
SupportTicketsTicketsPriority tickets

How the included credit works

Credit is measured at our published platform rates, which cover container compute, networking, orchestration, monitoring and platform operations. The dashboard shows metered usage and remaining credit throughout the month.

The same rates apply above your included allowance, so the plan works as a minimum monthly commitment while every dollar you pay stays visible as hosting value.

example — developer plan
Container and network usage:     $32.40
Included monthly usage credit:   −$5.00
Additional usage:                $27.40

Developer monthly minimum:       $5.00
Monthly total:                   $32.40

Currently in development

Portyard is not accepting signups yet

The platform is being built around Compose, versioned configuration, CLI automation and coding agents. Access details will be published here when the first working cohort is ready.

Early access opening later

There is no placeholder waitlist or contact form. When access opens, this page will link to a real account and onboarding flow.

FAQ

Straight answers

What's in the first release, what's still being built, and what deliberately isn't on the table.

What is Portyard?

Portyard is a developer-first PaaS that deploys complete Docker Compose stacks onto managed production infrastructure. It launches supported web services, APIs, workers and jobs while identifying external data dependencies and unsupported options before release.

Do I need to know Kubernetes, Terraform or AWS?

No. There's no Kubernetes anywhere in the product, no Terraform to write, and no AWS console to learn — you don't even need an AWS account. If you can write a Compose file, you can run production infrastructure on Portyard.

Will my Compose file work unchanged?

Often for stateless services, but not every service will deploy unchanged. The compatibility report explains what runs as a container, which database or volume services need an external provider, and what's unsupported (privileged containers, host networking and Docker socket mounts). Nothing is silently changed.

Does Docker Compose itself scale across multiple nodes?

No — Compose is a single-host tool, and any platform claiming otherwise is bluffing. Portyard uses it as the application definition, then runs suitable web services, APIs, workers and jobs independently across managed infrastructure. Stateful data connects to external managed services at launch.

What is portyard.yaml?

An optional, version-controlled file that describes production intent — domains, scaling bounds, health checks and scheduled jobs — while your Compose file keeps describing the application. It's generated automatically where possible and deliberately isn't a new infrastructure language.

Is there a CLI?

Yes — the CLI is being built to control the container platform: init, validate, plan, deploy, logs, exec, rollback, env, domains and scaling. plan previews every change and warns when a Compose service requires an external database or storage provider.

Can my AI coding agent deploy and operate my apps?

That's the direction the platform is designed around. The API, CLI and MCP tool surface are being designed together, targeting compatibility with Claude Code, Codex, Cursor and other MCP-capable agents. Agents work plan-first with explicit approval for production changes — read-only by default, scoped tokens, full audit logs. The MCP server is on the roadmap rather than shipped; initial users will shape it.

Can I run databases?

Not as stateful containers in the initial release. Connect an existing managed PostgreSQL, MySQL, Redis or Valkey service using encrypted environment variables. Native managed databases, private provisioning and backups are on the roadmap after the container platform launches.

How does pricing work?

The planned early-access plans are minimum monthly spends with equal hosting credit — $5 on Developer, $20 on Pro and $100 on Agency. Every plan includes unlimited projects and collaborators with no per-seat pricing. Upgrades add production protections, permissions, governance and client-management capabilities rather than artificial project or user limits.

Will I be locked in?

Your app stays on ordinary standards: Docker, Compose, Git, environment variables, external standard databases, S3-compatible storage and DNS. Planned exports include generated Compose files, ECS definitions, container images and Terraform. Leaving should be a migration, not a rewrite.

Which regions will be available?

Initial hosting is planned for European AWS regions. Additional regions will follow demand and available capacity.

When will the platform launch?

There's no fixed public date and no signup list yet. The platform is in active development; access details will be published on this site when the first working cohort is ready.