Add comparisons page
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
eaf4156a1e
commit
72f5a7c113
|
@ -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
|
|
@ -31,5 +31,26 @@ CoCl is a **philosophy**.
|
||||||
- then you install an **app** like wordpress or nextcloud, which is made up of multiple **services**...
|
- then you install an **app** like wordpress or nextcloud, which is made up of multiple **services**...
|
||||||
- .. and configure your app.
|
- .. 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
|
[traefik]: https://hub.docker.com/_/traefik?tab=tags
|
||||||
[mariadb]: https://hub.docker.com/_/mariadb?tab=tags
|
[mariadb]: https://hub.docker.com/_/mariadb?tab=tags
|
||||||
|
|
Loading…
Reference in New Issue