From 72f5a7c11300a4322fac3e6f2557a75efeba1748 Mon Sep 17 00:00:00 2001 From: 3wc <3wc.git@doesthisthing.work> Date: Sun, 27 Dec 2020 21:36:05 +0200 Subject: [PATCH] Add comparisons page --- docs/comparisons.md | 37 +++++++++++++++++++++++++++++++++++++ docs/index.md | 21 +++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 docs/comparisons.md diff --git a/docs/comparisons.md b/docs/comparisons.md new file mode 100644 index 000000000..9520a4a7b --- /dev/null +++ b/docs/comparisons.md @@ -0,0 +1,37 @@ +# "This is foolishness, what about ...?" + + - Kubernetes + - π Helm charts are available for some key apps already + - π too big -- requires 3rd party tools to run a single-node instance + - Bitnami stacks + - Cloudron + - π Lovely web interface for app, domain & user management + - π Bigger library of apps + - π Built-in SSO using LDAP, which is compatible with more apps and often has a better user interface than OAuth + - π Most apps are actively maintained by the Cloudron team + - π Moving away from open source. Free version has a 1-app limit + - π Based on Docker images, not stacks, so multi-process apps (e.g. parsoid for Mediawiki) are a non-starter + - π Difficult to extend apps + - π Only supported on Ubuntu + - π Upstreams aren't involved + - Yunohost + - π Lovely web interface for app, domain & user management + - π Bigger library of apps + - π Awesome backup / deploy / restore continuous integration testing + - π Supports hosting apps in subdirectories as well as subdomains + - π Doesn't require a public-facing IP + - π Upstreams aren't involved + - π Not idempotent: uninstalling apps leaves growing cruft + - Ansible + - π Includes server creation and bootstrapping + - π Upstreams aren't publishing Ansible roles + - π Lots of manual work involved in things like app isolation, backups, updates + - `docker-compose` + - π Manual work required for process monitoring + - π Secret storage not available yet + - π [Not recommended](https://github.com/BretFisher/ama/issues/8) + - Manually installing apps + - π Simple - just follow upstream instructions to install and update + - π Loads of manual work required for app isolation and backups + - π Array of sysadmin skills required to install apps + - π Hard to share configs into the commons diff --git a/docs/index.md b/docs/index.md index f28fd7595..b5faa4d78 100644 --- a/docs/index.md +++ b/docs/index.md @@ -31,5 +31,26 @@ CoCl is a **philosophy**. - then you install an **app** like wordpress or nextcloud, which is made up of multiple **services**... - .. and configure your app. +## Technical description + +Software-wise, CoΓΆpCloud is: + + - [`coop-cloud`](https://git.autonomic.zone/coop-cloud/), a collection of Docker "swarm mode" configurations for popular web apps + - [`abra`](https://git.autonomic.zone/autonomic-cooperative/abra), a simple tool for Docker swarm management + - a recommended default set of stacks: + - Traefik for SSL & routing + - `postfix-relay` for outgoing email + +## Principles / features: + + - Security by default + - Secret storage using `docker secret` (["What makes it secure?"](https://github.com/BretFisher/ama/issues/86)) + - Automatic SSL using Traefik & LetsEncrypt + - Zero-downtime deployments (for apps with healthchecks defined) + - Continuous integration testing using Drone and our [`stack-ssh-deploy`](https://git.autonomic.zone/coop-cloud/stack-ssh-deploy) plugin + - Low maintenance overhead: + - Automatic tracking of upstream Docker images using `renovate-bot` + - Avoiding custom Docker images as far as possible + [traefik]: https://hub.docker.com/_/traefik?tab=tags [mariadb]: https://hub.docker.com/_/mariadb?tab=tags