TinyOps — Lightning Fast Container Orchestration
Open source, self-hosted PaaS — deploy from Git with one YAML file on your own server.
Quick Start
Up and running in minutes with Docker.
Create your blueprint
Create blueprint.yaml next to your Docker command. Include the TinyOps UI for a dashboard immediately.
applications:
- name: tinyops-ui
image: tarik56/tinyops-ui:1.0.0
ssl: true
domain: tinyops-ui.yourdomain.com
env:
API_HOST: http://tinyops:5000
Run TinyOps
Mount your blueprint and Docker socket. Change domain to a DNS name pointing at your host.
docker run -d \
--name tinyops \
--network tinyops_network \
-e AUTH_KEY=your-secret-key \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ./blueprint.yaml:/tinyops/blueprint.yaml \
-v ./tinyops_data:/root/.tinyops \
tarik56/tinyops-core:latest
Or run from source
git clone https://github.com/tarik56/tinyops.git
cd tinyops
pip install -r requirements.txt
cd src
python tinyops.py
FAQ
Is TinyOps a Vercel alternative?
Yes. TinyOps is a self-hosted Vercel alternative for teams that want Git-based deployments, custom domains, and automatic SSL on their own infrastructure instead of a managed cloud platform. You keep full control of your server while getting PaaS-style deploys from a single YAML blueprint.
Is TinyOps an open source self-hosted PaaS?
Yes. TinyOps is an open source, self-hosted Platform as a Service licensed under MIT. Run it on your own machine with Docker, deploy apps from Git or container images, and manage everything through a simple blueprint.yaml file with built-in load balancing and SSL.
How is TinyOps different from Docker Compose?
Docker Compose defines and runs containers but doesn't orchestrate them. TinyOps adds a control loop that continuously reconciles desired state, auto-heals crashed containers, manages replicas, and includes a built-in gateway with SSL.
How is TinyOps different from Kubernetes?
Kubernetes is a multinode enterprise grade orchestration tool that offers a wide range of configurations, with this comes a certain complexity and time needed to setup. TinyOps gives you 80% of the value with 5% of the complexity, depending on your needs.
How do pipelines work?
Once a git url is defined instead of an image name, TinyOps clones the repository and builds the docker image. Once successful, it will use it as an image and deploy your app. If there are changes on the target branch, it will get detected, pulled, a new image will be created and your instances will get updated.
What if my pipeline fails?
Your app will continue running with the previously built image. If it is a new app without an image, it will simply not be deployed. You will be able to see why it failed in the console, logs or UI.
Do I have to use the UI?
No, not at all. The UI is just an app inside your cluster just as any other app. You could also build your own UI using the OpenAPI Spec of TinyOps, or just stick to the console.
What happens if a container crashes?
TinyOps automatically detects the crashed container and reruns it within seconds. TinyOps compares the desired state with actual Docker state and acts accordingly.
How does SSL work?
When you set ssl: true on an application, TinyOps runs Certbot inside the gateway container to obtain a Let's Encrypt certificate. The NGINX config is automatically updated to serve HTTPS and redirect HTTP traffic.
Can I run multiple replicas?
Yes! Set replicas: 3 in your blueprint and TinyOps will create 3 container instances. The gateway automatically load balances traffic across all replicas.