Dyrector is a free, open source orchestration & scheduling project written in TypeScript and released under Apache-2.0. It has 1,847 GitHub stars, 129 forks and 26 open issues, and was last pushed 8 days ago. On this registry it ranks #50 of 64 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available.

What is Dyrector?

What it is

Dyrector is a self-hosted continuous delivery and deployment platform with version management for OCI containers. It lives in the container orchestration and software delivery ecosystem, and it supports Docker, Kubernetes, and Podman environments while using agents that communicate with the platform over gRPC with TLS encryption.

It solves the maintenance burden of deploying and coordinating containerized applications across environments. Engineers, DevOps teams, and individual developers use it to manage infrastructure, container settings, versions, releases, secrets, and deployment status without repeatedly using SSH, kubectl, manual JSON editing, or separate release tools.

Key capabilities

  • It supports Kubernetes, Docker, and Podman deployments, allowing teams to manage containerized workloads across runtime environments from one interface.
  • It provides version management for OCI containers, including release configuration, scheduled releases, and auto-generated changelogs and release notes.
  • It includes environment, secret, configuration, and bundle management, so users can define deployment settings without direct container access or manual JSON formatting.
  • It supports multi-instance deployment, simultaneous deployment to multiple environments, workflow support, fine-grained RBAC, audit logging, and container registry integrations.
  • It enables instant test environments from any branch and CD token generation for GitHub Actions, allowing QA and CI workflows to deploy and automate releases.

Who uses it and how

  • DevOps teams use it to manage environments without SSH or kubectl, replacing repeated manual deployment processes with a single platform for infrastructure and containerized applications.
  • QA engineers use it to create and deploy instant test environments, configure versions of microservices, and run arbitrary workloads on local machines or remote infrastructure.
  • Developers and indie hackers use it to bring their own infrastructure and manage containers and applications from one place, while the platform runs as a self-hosted instance or managed SaaS.

Getting started

Users can follow the repository's Getting Started documentation for detailed setup instructions for a self-hosted instance, or use the fully managed SaaS with a free tier and the alpha instance at app.dyrectorio.com.

When to use it — and when not to

Dyrector is useful when a team wants a self-hosted delivery platform for Docker, Kubernetes, or Podman containers and needs environment, version, configuration, secret, and release management in one place. It is less suitable for production use through the hosted alpha, because the project says the database may be reset and production use is not recommended, while self-hosting requires operating the platform, agents, TLS communication, and PostgreSQL database.

project readme (upstream, from github) — read inline

dyrector.io is a self-hosted continuous delivery & deployment platform with version management.

GitHub tag (latest by date) License Discord Budget codecov GitHub contributors GitHub issues Twitter Follow

dyrector.io helps engineers & DevOps teams and individual developers to shift their focus from maintaining and setting up their containerized applications to developing their software. The platform achieves this by offering continuous delivery and version management capabilities to your OCI containers.

Join our Discord and connect with other members to share and learn together. If you like the project, give us a Star.

dyrector.io is also available as a fully managed SaaS dyrector.io Platform ⛅ including a free tier.

Getting StartedDocsUse CasesCommunityContributingFeedback

Getting Started

For detailed setup instructions, please refer to the Getting Started documentation.

Use Cases

🚢 Manage environments without SSH or kubectl

Replace multiple tools with a single platform that allows you to manage your entire infrastructure and the containerized applications that run on it. You're also able to initiate deployments to multiple environments simultaneously instead of repeated, manual processes.

⛴️ Instant test environments for QA

QA no longer needs help to test your services. Enable them to autonomously configure and deploy various versions of microservices to test environments. They have the flexibility to run arbitrary workloads on any accessible nodes, potentially transforming their local machines or any remote infrastructures into testing platforms.

⛵️ Container management across environments

Whether you're a developer or an indie hacker, bring your own infrastructure and manage all your containers and applications from one place while our software is running either as a SaaS or on your infrastructure.

🛳️ CD & Version Management

Bring transparency to your SDLC by configuring versions and deployments of your containerized stack from any registry using our platform. Automate your deployments by generating a CD token you can use with GitHub Actions and turn deployments painless and effortless while you can focus more on the development of your software.

🛠️ Manage container settings without access

Editing container settings no longer requires direct access or expertise in JSON formatting. Our platform provides a user-friendly JSON editor, enabling you to modify settings without accessing the containers. In case of deployment issues, you can easily make necessary adjustments using the platform's config editor screen. Additionally, you can create bundle configurations to avoid manual configuration for each container.

Intro video

https://user-images.githubusercontent.com/9247788/219671903-41da385e-4f8f-4fba-a7e4-c6ec4f727b7f.mp4

Key Features

  • Kubernetes, Docker, and Podman support
  • Multi-instance deployment
  • Instant test environments from any branches
  • Environment management
  • Secret and configuration management
  • Auto-generated changelogs and release notes
  • Workflow support
  • Scheduled releases
  • Audit log
  • Container Registry integrations
  • Fine-grained RBAC
  • ChatOps & notification solutions

Deployment Options

Besides the self-hosted instance, you can check out the platform's alpha at app.dyrectorio.com. The platform is still in the works, we might reset the database, so it's not recommended for production yet.

How it Works

dyrector.io consists of an agent (GoLang) and a platform (UI developed in React.js, Next.js. Backend developed in Node.js, Nest.js). There are two types of agents communicating with the platform: one for Docker and another for Kubernetes. Communication takes place in gRPC with TLS encryption. The data is managed in a PostgreSQL database which we use with Prisma ORM.

FAQ

If you have any questions, check out FAQ or reach out to us on Discord.

Community

Also, follow us on GitHub Discussions, our Blog, and on Twitter. You can chat with the team and other members on Discord.

dyrector.io is Open Source - This repository, and most of our other open-source projects, are licensed under Apache 2.0.

Join our Discord and connect with other members to share and learn together. Send a pull request to any of our open-source repositories on Github. Check our contribution guide and our developer's guide for more details about how to contribute. We're looking forward to your contribution!

dyrectorio Discord server Banner

Contributing

The project can only accept contributions that are licensed under the Apache License 2.0. For further information please see our Contribution Guidelines.

Releases

We use semantic versioning, but shifted to the right, we don't bump major versions until we reach the beta phase.

The minor version is raised if:

  • introduction of a breaking API change (proto or HTTP)
  • new feature set is completed
  • milestone is reached
  • agent configuration changes

Patch version is raised if:

  • important fixes in develop
  • any other reason

Feedback

We’d love to hear your thoughts on this project. Feel free to drop us a note!

License

dyrector.io is open source software under the Apache License 2.0. Complete license and copyright information can be found in the source code.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Frequently asked questions

Is Dyrector free to use?

Dyrector is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Dyrector do?

Simplify container deployment across environments

What is Dyrector written in?

Dyrector is primarily written in TypeScript. Its source is publicly available at https://github.com/dyrector-io/dyrectorio, and it has 1,847 GitHub stars.