From 6f13ef381d2cf089e9dba84d5148a6b7cbb05deb Mon Sep 17 00:00:00 2001 From: Boris Mann Date: Wed, 3 Jan 2024 16:34:45 -0800 Subject: [PATCH] co-op cloud --- _notes/Co-op Cloud Alternatives.md | 59 ++++++++++++++++++++++++++++-- _notes/Co-op Cloud.md | 11 ++++++ 2 files changed, 66 insertions(+), 4 deletions(-) diff --git a/_notes/Co-op Cloud Alternatives.md b/_notes/Co-op Cloud Alternatives.md index 0425fa6..7c3b1da 100644 --- a/_notes/Co-op Cloud Alternatives.md +++ b/_notes/Co-op Cloud Alternatives.md @@ -12,7 +12,6 @@ Copy / pasted from their [FAQ](https://docs.coopcloud.tech/intro/faq/) so I can - πŸ‘ Large library of apps. - πŸ‘ Built-in SSO using LDAP, which is compatible with more apps and often has a better user interface than OAuth. - πŸ‘ Apps are actively maintained by the Cloudron team. - ### Cons - πŸ‘Ž Moving away from open source. The core is now proprietary software. @@ -24,7 +23,9 @@ Copy / pasted from their [FAQ](https://docs.coopcloud.tech/intro/faq/) so I can - πŸ‘Ž Limited to vertical scaling. - πŸ‘Ž Tension between needs of hosting provider and non-technical user. - πŸ‘Ž LDAP introduces security problems - one vulnerable app can expose a user's password for all apps. -- πŸ‘Ž Bit of aΒ [black box](https://en.wikipedia.org/wiki/Black_box). +- πŸ‘Ž Bit of aΒ black box + +_**@boris commentary:** do I wish that Cloudron were fully open source? Yes. But I also like that the team has a sustainable business where they keep all of these apps packaged and updated over time! They mention the SSO model here as LDAP, but in fact it's OIDC now._ ## [[Yunohost]] @@ -36,10 +37,60 @@ Copy / pasted from their [FAQ](https://docs.coopcloud.tech/intro/faq/) so I can - πŸ‘ Supports hosting apps in subdirectories as well as subdomains. - πŸ‘ Doesn't require a public-facing IP. - πŸ‘ Supports system-wide mutualisation of resources for apps (e.g. sharing databases by default) - ### Cons - πŸ‘Ž Upstream libre software communities aren't involved in packaging. - πŸ‘Ž Uninstalling apps leaves growing cruft. - πŸ‘Ž Limited to vertical scaling. -- πŸ‘Ž Not intended for use by hosting providers. \ No newline at end of file +- πŸ‘Ž Not intended for use by hosting providers. + +_**@boris commentary:** I took a look at Yunohost and found it scary from a security perspective. Packaging is a pile of bash scripts. More apps but they're mostly undermaintained_ +## [[Caprover]] + +### Pros + +- πŸ‘ Bigger library of apps. +- πŸ‘ Easy set-up using a DigitalOcean one-click app. +- πŸ‘ Works without a domain name or a public IP, in non-HTTPS mode (good for homeservers). +- πŸ‘ Deploy any app with aΒ `docker-compose.yml`Β file as a "One Click App" via the web interface. +- πŸ‘ Multi-node (multi-server) set-up works by default. +### Cons + +- πŸ‘Ž Single-file app definition format, difficult to tweak using entrypoint scripts. +- πŸ‘Ž Nginx instead of Traefik for load-balancing. +- πŸ‘Ž Command-line client requires NodeJS /Β `npm`. +- πŸ‘ŽΒ [Requires 512MB RAM for a single app](https://github.com/caprover/caprover/issues/28). +- πŸ‘ŽΒ [Backup/restore is "experimental"](https://caprover.com/docs/backup-and-restore.html), and doesn't currently help with backing up Docker volumes. +- πŸ‘Ž Exposes its bespoke management interface to the internet via HTTPS by default. +## [[Ansible]] + +### Pros + +- πŸ‘ Includes server creation and bootstrapping. +### Cons + +- πŸ‘Ž Upstream libre software communities aren't publishing Ansible roles. +- πŸ‘Ž Lots of manual work involved in things like app isolation, backups, updates. +## [[Kubernetes]] + +### Pros + +- πŸ‘ Helm charts are available for some key apps already. +- πŸ‘ Scale all the things. +### Cons + +- πŸ‘Ž Too big -- requires 3rd party tools to run a single-node instance. +- πŸ‘Ž Not suitable for a small to mid size hosting provider. + +## [[Docker-compose]] + +### Pros + +- πŸ‘ Quick to set up and familiar for many developers. +### Cons + +- πŸ‘Ž Manual work required for process monitoring. +- πŸ‘Ž Secret storage not available yet. +- πŸ‘ŽΒ [Swarm is the new best practice](https://github.com/BretFisher/ama/issues/8#issuecomment-367575011). + +I'll skip the the "doing it manually" old school version of server + app maintenance. \ No newline at end of file diff --git a/_notes/Co-op Cloud.md b/_notes/Co-op Cloud.md index 32846b8..ee44af3 100644 --- a/_notes/Co-op Cloud.md +++ b/_notes/Co-op Cloud.md @@ -6,4 +6,15 @@ Docs: > Co-op Cloud aims to make hosting libre software apps simple for small service providers such as tech co-operatives who are looking to standardise around an open, transparent and scalable infrastructure. It uses the latest container technologies and configurations are shared intoΒ [the commons](https://en.wikipedia.org/wiki/Commons)Β for the benefit of all. +> The project was started by workers atΒ [Autonomic](https://autonomic.zone/)Β which is aΒ [worker-owned co-operative](https://en.wikipedia.org/wiki/Worker_cooperative). We provide technologies and infrastructure to empower users to make a positive impact on the world. We're using Co-op Cloud in production, amongst other systems. + +> The core technologies of Co-op Cloud are libre software and enjoy wide adoption across software developer communities. +> +> - [Containers](https://docs.coopcloud.tech/intro/faq/#why-containers) +> - [Compose specification](https://docs.coopcloud.tech/intro/faq/#why-docker-compose) +> - [Docker swarm](https://docs.coopcloud.tech/intro/faq/#why-docker-swarm) +> - [Abra command-line tool](https://git.autonomic.zone/coop-cloud/abra) + +_**@boris commentary:** it's unclear whether Docker swarm IS going to keep going. One of the sites they link to, dockerswarm.rocks, has a [kubernetes won](https://dockerswarm.rocks/swarm-or-kubernetes/) post. The [awesome-swarm](https://github.com/BretFisher/awesome-swarm) appears to continue to be updated._ + Their [FAQ](https://docs.coopcloud.tech/intro/faq/) has a really good section on comparing to other solutions, which I’m reproducing at [[Co-op Cloud Alternatives]] -- 2.51.2