Status Update
I have been developing Nassella for nearly six months now! I have had portions of it deployed for four months already! It is not yet ready for production but it is getting closer. I wanted to list out the features it currently has and what I still think it needs before an initial alpha or beta release.
Current Features
- Deploying web applications to your own DigitalOcean account.
- Instances can be: created, moved, resized, destroyed.
- Instances can be created with any or all of the following web apps: NextCloud, wg-easy, and Ghost. Dozzle, a log viewer and basic app stats application is also always deployed to an instance.
- Automatic DNS configuration via Cloudflare. Once you input a Cloudflare API key with the correct permissions (a guide will be provided on how to do this), the associated instance will automatically be correctly setup with DNS mapped to each selected application.
- Automatic, encrypted, daily backups via Restic and stored on Backblaze B2.
- Automatic load-balancing between apps and HTTPS setup via Caddy.
- Automatic, self updating, and secure operating system via Flatcar Linux and Docker.
- A web-based wizard to create and manage instances and all instance details.

Missing Features
Things I think should be done before any public release, at least
- User management for the web-based management application that manages instances. It is planned that Authelia will be used and the web app is designed to accept OAuth connections.
- Destroying an instance needs more work to be production ready.
- A web interface needs to be built to actually view and restore backups. Currently viewing backups and restoring from them can only be done manually.
- Ensure Restic is initialized before attempting to take snapshots.
- Re-work the DNS setup so it does not "hijack" the root domain for internal purposes. Currently, the root domain is set to map to the instance and all other records are CNAMEs to it. The root domain should not be used for this.
- When an instance is performing a Restic backup, it should first put the instance into a "maintenance" mode so that it can make clean backups of things like databases.
- Ensuring all components are "production ready". There are various TODOs in the code that note places where things need to be tidied up before being production ready.
- Documentation and UI improvements. I want this to be easy to use for people that are intimidated by software settings.
In summary, most of the work for an initial alpha/beta release is done; I would estimate about 90%. I am looking forward to the initial release so others can try it out and hopefully find it useful! And also then I can work on adding support for more web apps and supported services for deploying instances and managing DNS. The underlying system should make it quite easy to add support for expanding the current set of apps and services but work still needs to be done to make it happen.
The actual deployed instances are generally in good shape and near production ready. A lot of the remaining work is with the web app but the underlying work the web app relies on to actually do things is pretty much ready to go.
