Announcing After -e- , A Community Developed Server Stack Inspired By /e/Cloud

Good day, my self-hosting friends!!

I’ve been running /e/Cloud for a few years now, and it’s been fantastic for making it possible to truly live up to the ethos of “my data is MY data!”. The problem, as most of us know, is that there hasn’t been much development over the last two years, and the concerns with both compatibility and potential security vulnerabilities inherently increase as a function of time. My dependency on /e/Cloud, and the absence of a similar solution, made me believe that it is worth spending some time working on a solution.

Similarly, while the guide for /e/Cloud is well written, it’s easy to skip steps accidentally, especially if you’re new to Docker or the Linux CLI. The goal with After -e- is to help simplify its usage and limit the amount of time you’ll spend in the CLI without a guide intended to make things easy. If you tried deploying /e/Cloud once before and got stuck, give After -e- a try!

After a few months of work, I am proud to present the earliest alpha release of a solution I’m calling “After -e-”. It is a set of bash scripts that handle all of the installation and configuration of the suite of open source software which performs a similar set of tasks to /e/Cloud. This combination of Stalwart (mail), Nextcloud (file sync), Immich (photo sync), Vaultwarden (password management), and Authentik (identity management) will be installed and automatically configured with all of the necessary functions to ensure your data continues to be YOUR data.

A virtual machine or VPS instance with at least 2 CPU cores and 4GB of RAM are required, though you may want a bit more depending on how many users you’ll have, whether you’ll add new applications on the back end (I do intend to try adding some more applications down the road), and whether you implement the Immich machine learning functions for natural language photo searches. Storage is up to you, though the install script specifically allows for data storage to be in a separate directory to allow easy splitting of data if you have a multi-volume setup on your server (e.g. fast SSD for system, big HDD for data).

The system is currently in an alpha state, but it is currently at a “textbook level” of feature parity with /e/Cloud - mail works, file sync works, the installer works, identity management works, SSL certificates work, and all of this has been tested both in a browser, and with connectivity to a phone running the latest release of /e/OS. Immich and Vaultwarden still aren’t working with SSO, first login is still required for Nextcloud to instantiate the account, and there are no scripts for backup, updating, or migration.

While the scripts themselves were coded with Anthropic Claude, I have been obsessive with personally testing every step of the build, with the goal being to ensure that, as long as you’ve got your ports opened and DNS entries correct, the installation gets you a working server with as few steps as possible. All the QA is done by human, and the documentation is reviewed by me prior to upload.

Here is the repository:

The summary of steps:

  1. get a VPS instance, open your ports, make your DNS entries.
  2. Extract the contents of the zip file to /mnt/aftere.
  3. Run the prereqs.sh, dns-setup.sh, init.sh, stalwart-provision.sh, and postinstall-nextcloud.sh scripts in that order, answering questions where prompted.
  4. run new-user.sh to make a new user account, log into nextcloud with it in the browser.
  5. Profit!

The project is undergoing fairly rapid development; I look forward to being able to announce new releases and features in the coming weeks.

Happy data storing!

Regain your privacy! Adopt /e/OS the deGoogled mobile OS and online services

Darnit. I was right with you up to that point.

Hi there!

It is indeed a source of sadness that my skills in writing shell scripts are severely limited, so yes, I am unfortunately stuck letting the AI do it.

What I will say to that concern is this: there are three reasons I’m insistent on shell scripts for this particular project:

  1. It’s the easiest source to audit. With no compilation involved, everyone who gets the scripts can themselves sift through them and look to see what’s running. The scripts also only run during install and they don’t run afterward, so is requires as little trust in AI-generated code as there can be.
  2. The code that will actually be running isn’t AI generated. After the installation, and unless you’re doing maintenance, the actual software that’s running already has a pretty solid track record and isn’t itself “vibe coded”. Stalwart, Nextcloud, Authentik, Immich, Vaultwarden, Acme.sh, Nginx, Crowdsec - these are all pretty well established open source titles, so the actual running code wasn’t something written by the AI.
  3. The scripts are easily editable by others and are the easiest to optimize, tweak, update, and expand, with or without an AI.

So, I’m up front about what this is, and what it isn’t. I would be nervous about running AI-generated applications myself, which is why the entire model of what was built was to be “glue and scaffolding” rather than a full-blown development run.

Of course, the beauty of OSS development is that you can make your own decisions; it’s why I made it a point to disclose what is and isn’t AI generated up front. It’s my hope that After -e- can help some folks who are interested in running their own server-side components with /e/OS, and if you’re one of them, awesome! If not, I 100% genuinely and sincerely hope your current solution continues to work well for you and keeps your data safe.

I totally agree; I’d 100% pick bash for that.

I just don’t use LLM-generated stuff.