Services
Deploy Docker apps without a platform team.
Bring a Docker Compose file or start from a template. Fwoop rolls it out to the servers you pick, waits until it's healthy and keeps every release one click away from a rollback.
A rolling deploy of release r142 of the api service: the image is pulled, the first two servers pass their health checks and stop the previous release, and the third server is waiting for its health check. The previous release can be restored with one rollback command.
Bring what you have
Your compose file is the manifest.
No new format and no Kubernetes. Keep compose.yaml as it is, and add a few lines that say where it runs and how it rolls out.
services:
api:
image: ghcr.io/acme/api:1.42.0
environment:
DATABASE_URL: ${DATABASE_URL} # from Fwoop secrets
ports: ["8080:8080"]
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 5s Your existing file. Fwoop fills in ${DATABASE_URL} at deploy time.
services:
api:
compose: compose.yaml
target: role=api # every server with this label
strategy: rolling # one server at a time
ready_after: healthcheck # wait for the check above
secrets: production Optional. The same settings are a few clicks in the dashboard.
Releases
Every deploy is a release you can go back to.
A release pins the image, the compose file and the secrets version. Rolling forward and rolling back are the same operation, so a bad deploy is a ten-second fix, not an incident.
- New containers must pass their health check before old ones stop.
- A failed check stops the rollout and leaves the last release serving.
- Any release from your plan's history is one click away.
Release history for the api service: r142 is live on three servers, r141 and r139 were replaced and can be rolled back to, and r140 was stopped because its health check failed.
Templates
Or start from a template.
Popular open-source apps, preconfigured with volumes, health checks and backups. Deploy one in under a minute.
- PostgreSQL Database
- Redis Database
- Plausible Analytics
- Umami Analytics
- n8n Automation
- Gitea Developer tools
- Outline Knowledge base
- Uptime Kuma Monitoring
- Meilisearch Search
- MinIO Storage
- Mattermost Chat
- Metabase BI
- Vaultwarden Security
- Ghost Publishing
Missing one? See the full gallery or contribute your own.
Also in every plan
Live logs
Tail any container on any server from the browser. Logs stream from the agent and aren't stored by Fwoop.
Deploy from CI
Run fwoop deploy with a deploy token from GitHub Actions, GitLab CI or anything that runs a shell.
Any registry
Docker Hub, GHCR, GitLab, Amazon ECR or a private registry. Credentials live in your secrets.
Questions about services
Do I have to change my compose file?
No. Fwoop reads standard Compose v2 files. Deploy settings like targets and the rollout strategy live in an optional fwoop.yaml next to it.
What happens if a deploy fails its health check?
The rollout stops, the previous release keeps serving traffic and the person who deployed gets an alert with the container logs.
Does Fwoop build my images?
No. Fwoop deploys images from your registry, so keep building them in CI the way you do today.
Can I run more than one replica per server?
Yes. Set deploy.replicas in your compose file as usual. Fwoop rolls replicas one by one on each server.
Bring your first server online in five minutes.
Start free with three servers. No credit card, no sales call, and your workloads stay on machines you own.