Introducing Citrus!

Your go-to solution for deploying web applications and managing infrastructure with ease. Designed with a focus on simplicity, security, and efficiency. Citrus is here to add a zest to your tech stack!

Why Citrus?

Development was driven by a desire to solve the following challenges:

  • In-house projects deployment, whether on dedicated servers or virtual machines
  • Automated backups for data safety
  • Seamless migrations between different service providers
  • Your apps are always operational and primed for rapid response times
  • Domains and TLS certificate management from individual domain to custom hostnames for SaaS
  • Easy apps updates and safe rollbacks
  • Different rollout methods
  • Web Interface for managing and monitoring your apps with ease
  • API methods and Webhooks to manage all features

Components

In the first version partially implemented apps management part only.

  • Builds takes the project you've uploaded and assembles it into a ready-to-deploy image. This image is stored securely on your server, allowing for quick access and deployment when needed.
  • Instances bring your apps to life by starting it from the build image. You can launch instances for production or preview. Citrus smartly updates these instances based on the rollout method you choose, ensuring a smooth transition between versions.
  • Domains connects your apps instance to the public domain, providing the world access to your project. It features a built-in HTTP server with a flexible routing configuration, making it easy to manage how traffic is directed within your app.

And a quick look at how the deployment process works:

Roadmap

Upcoming changes:

  • Public release
  • Isolated environments. First version uses only network isolation, so you may use same port on different apps and this port secured in the own environment. With isolated environment you apps will be completely isolated from the host system like in Docker
  • Automatically creates and updates TLS certificates
  • SQLite management for hosted apps