Self-Host Murena Cloud on CasaOS or Cosmos-Cloud

Note: I can only put two links in a post. I got around this making them preformatted text.

Introduction

Hello everyone,
I have been the payed version of Murena Cloud for that past couple months and have been absolutely loving it. I am looking to rebuild my families server and am hopping to use the self-hosted version of Murena Cloud. In this post, I wanted to outline my plan as well as a few questions and advice for my specific configuration.

End Goal

In short, my end goal is to have Cosmos Cloud and Cosmos email server running in a proxmox container. Withing Cosmos, I want Murena and Murena mail server installed as a ServeApp (basically a docker appimage) See ServeApp documentation. I want the DNS configuration managed through the Cosmos software and not the Murena Docker container.

My questions

Docker Option?

One of my primary questions is surrounding docker. According to the Murena Cloud installation guide https://gitlab.e.foundation/e/infra/ecloud-selfhosting, they ask you to set up an Ubuntu instance and then run the commands:

$ ssh root@$DOMAIN
# git clone https://gitlab.e.foundation/e/infra/ecloud-selfhosting.git --single-branch --branch master /mnt/repo-base
# cd /mnt/repo-base
# bash scripts/bootstrap.sh

My question regarding this is, “is there a way to set up the server without an Ubuntu instance?” I would like to install murane inside as a ServeApp (aka Docker container) to facilitate better management by Cosmos-Cloud. I ran into this post https://community.e.foundation/t/self-hosting-using-virtual-machines-instead-of-docker-images/44347 which shows that it at least (in theory) is possible by using this image https://gitlab.e.foundation/e/infra/ecloud/nextcloud.

  • Does this seem like a realistic way to do it?
  • Would I be shooting myself in the foot later?
  • If I tried to update the ServeApp (docker container) would it break it?

DNS Records / Email Server

I would like to have Cosmos-Cloud handle my DNS records/reverse-proxy and all of that stuff. However, Murena, in its set-up process appears to try to handle that.

The setup script will ask you to input some details of your setup (like your domain name) and to setup additional DNS records (the two A records plus the PTR record were set already above).

Will there be a way I can bypass this part easily and configure this in the Cosmos software? I will admit, I am a little in the dark with this one. As I am not super familiar with email configuration.

  • In short, will hosting a docker murena cloud instance (if that is possible) as a serveapp on cosmos unnecessarily frustrate the email configuration process?

For reference, here is the Cosmos documentation on ServeApps https://cosmos-cloud.io/doc/4%20servapps and URLS https://cosmos-cloud.io/doc/5%20URLs/.

Updates

According to this post https://community.e.foundation/t/update-of-dockerized-self-hosted-ecloud/44559, it appears that admins have to manually upgrade from Murena cloud version to version. There is no simple “updage” command/script.

  • Is this due to this user using the docker option or is it a universal problem?
  • Would I be shooting myself in the foot with updates?

Closing

I hope I explained my situation clearly an concisely. Please (anybody who is kind enough to respond and grant me some of their valuable time) do not hesitate to ask me for more details.

Happy hosting!

Hi,

Instead of replying your questions one by one, I’ll answer with a simple sentence : “if you have the necessary knowledge to understand what each and every Murena self-hosted script and configuration file do and implies, so yes you could achieve your goal”.
Sorry if it’s a little rough, but your goal is somehow far from the original design :confused:

You probably won’t be able to use most of the supplied scripts, so you’ll have to study them to perform necessary actions by hand.
2 examples:

  • parts of initial configuration relies on Salt Minion, if you can’t use it you may have to perform actions by hand
  • most of the containers configuration is achieved using docker’s .env file. In Cosmos documentation I didn’t find any evidence that it will use this file, but static environment for each container. You’ll have to figure out the values and add them manually

I’ll suggest to set up a “regular” (as documented) Murena self-hosted first (Ubuntu 22 @ Hetzner works very fine and is cheap), examine how it works, write down all you need, then try to build on Cosmos.

And, of course, you’ll have to “translate” each upgrade guide to your particular setup.

FYI, PTR DNS record is mostly for email transport. I think this is out of Cosmos’s scope.


Edit: I forgot to mention: apart of initial set-up and upgrades, Docker in Murena self-hosted is kind of “fire and forget”. So, a Docker management solution shouldn’t be of use here.

1 Like

Thanks a lot for the input! I will do that and see what I can learn about the set up process. Thanks fro the detailed response.

One other questions, does anybody know how to support openID on Murena? I don’t have much of a problem running a separate VM on proxmox for Murena. However, I would like to be able to manage users using the Cosmos openID service.

You can try this: OpenID - Cosmos Documentation.
Please be aware that Murena Cloud use SQL as authentication backend, not LDAP. Do not activate LDAP proxy within the plugin.