From 832c890ea63cc724168f79963382f8bbc49101b1 Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Tue, 23 Feb 2021 17:08:46 +0100 Subject: [PATCH 01/11] Add overview page --- docs/overview.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index 9ac58b7..9e82757 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -2,4 +2,63 @@ title: Technical overview --- -TODO. +The Co-op Cloud is made up of a few simple, composable pieces. The system does not rely on any one specific implementation: each part may be replaced and extended as needed. + +- [Free software applications](#free-software-applications) +- [The packaging format](#the-packaging-format) +- [Container orchestrator](#container-orchestrator) +- [Command-line tool](#command-line-tool) + +## Free software applications + +Applications that you may already use in your daily life: [Nextcloud], [Jitsi], [Mediawiki], [Rocket.chat] and [many more]! These are tools that are created by volunteer communities who use [free software licenses] in order to build up the public software commons and offer more digital alternatives. + +The communities who develop these softwares also publish them using containers. For example, here is the [Nextcloud hub.docker.com account] which allows end-users to quickly deploy a new Nextcloud instance. + +Learn more about why we use containers [in the FAQ section](faq/#why-do-you-use-containers). + +[nextcloud]: https://nextcloud.com +[jitsi]: https://jitsi.org +[mediawiki]: https://mediawiki.org +[rocket.chat]: https://rocket.chat +[many more]: /apps/ +[free software licenses]: https://www.gnu.org/philosophy/free-sw.html +[nextcloud hub.docker.com account]: https://hub.docker.com/_/nextcloud + +## The packaging format + +The work required to take a new instance of an application and make it production ready is still too time intensive and often involves a duplication of effort. Each service provider needs to deal with the same problems: stable versioning, backup plan, secret management, upgrade plan, monitoring and the list goes on. + +Therefore, the Co-op cloud proposes a packaing format which describes the entire production state of the application in a single place. This format is based on the [standards based compose specification] which is most commonly used by the [Docker compose] tool. + +[Each application] that the Co-op cloud provides is described using the compose specification and makes use of the upstream project published container. + +Learn more about why we use Docker compose [in the FAQ section](faq/#why-do-you-use-docker-compose). + +[standards based compose specification]: https://compose-spec.io +[docker compose]: https://docs.docker.com/compose/ +[each application]: /apps/ + +## Container orchestrator + +Once we have our application packaged, we need a deployment environment. Production deployments are typically expected to support a number of features which give hosters and end-users guarantees for uptime, stability and scale. + +The Co-op cloud makes use of [Docker swarm] as a deployment environment. It offers an approriate feature set which allows us to support zero-down time upgrades, seamless application rollbacks, automatic deploy failure handling, scaling, hybrid cloud setups and maintain a decentralised design. + +Learn more about why we use Docker swarm [in the FAQ section](faq/#why-do-you-use-docker-swarm). + +[docker swarm]: https://docs.docker.com/engine/swarm/ + +## Command-line tool + +Finally, with an application and an application environment, we need a tool to read that package format and actually deploy it to the environment. For this, we have developed and published the [abra] command-line tool. + +Abra aims at providing a simple command-line interface for managing your own co-operative cloud. You can bootstrap machines with the required tools, create new applications, deploy them, back them up, restore them and so on. + +[abra]: https://git.autonomic.zone/coop-cloud/abra + +## Moving forward + +Now that you've got an overview, it is time to [deploy your first application]. + +[deploy your first application]: /deploy/ From 45e2e226624953480917e64985579b1cc81a875d Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Tue, 23 Feb 2021 17:11:56 +0100 Subject: [PATCH 02/11] Run formatter again --- docs/index.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index 0f67b50..5c8b3a3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -7,18 +7,21 @@ title: Co-op Cloud Welcome to the Co-op Cloud technical documentation. This documentation is primarily meant for cooperatives and other small service providers already doing free software hosting who are interested in the project and thinking about doing some early-adopter testing. ## Getting started + If you're new to the project, then head over to the [getting started - guide](/overview/). +guide](/overview/). ## Apps + If you want to see what applications are already available, then check out the [app catalogue](/apps/). ## FAQ + If you're trying to understand more about the project please see [the FAQ](/faq/). ## Important Note This project is still alpha quality software. Please take that into consideration before using in production. - + We're working hard to make Co-op Cloud stable. In the meantime, this is a good time to help us out with initial testing, feedback and ideas. From d2269f0742a1eba2eb9f30f514f8e0da8e60f6cb Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Tue, 23 Feb 2021 17:13:27 +0100 Subject: [PATCH 03/11] Fix title --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index ff42637..e1e0677 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -136,6 +136,6 @@ we see and how that relates to our goals here. - πŸ‘Ž Array of sysadmin skills required to install applications - πŸ‘Ž Hard to share configurations into the commons -# What licensing model does the project use? +## What licensing model does the project use? The Cooperative Cloud will always be available under copyleft licenses. From 8234293074b23299d90ff268a7dfcc8456c4eaef Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Tue, 23 Feb 2021 17:14:30 +0100 Subject: [PATCH 04/11] Inline and use Co-op --- docs/faq.md | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index e1e0677..56f9443 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -2,16 +2,9 @@ title: Frequently asked questions --- -## What is the Cooperative Cloud? +## What is the Co-op Cloud? -The Cooperative Cloud is a project which aims to make self-hosting free -software applications simple! It's a project which fits in alongside others -like [Cloudron](https://www.cloudron.io/), [Yunohost](https://yunohost.org/) -and [Freedombone](https://freedombone.net/) and others but has its own specific -focus. The project is intended for existing small service providers and -cooperatives already involved in hosting work who are looking for alternatives. - -TODO. +The Co-op Cloud is a project which aims to make self-hosting free software applications simple! It's a project which fits in alongside others like [Cloudron](https://www.cloudron.io/), [Yunohost](https://yunohost.org/) and [Freedombone](https://freedombone.net/) and others but has its own specific focus. The project is intended for existing small service providers and cooperatives already involved in hosting work who are looking for alternatives. ## Which technologies are used? @@ -42,26 +35,15 @@ distribution methods (app packagers) and production methods (developers). ## Why do you use Docker compose? -TODO. - ## Why do you use Docker Swarm? -TODO. - ## Why start another project? -One of our core principles is to not re-invent the wheel. However, fitting -needs into existing projects doesn't always work out. Some of the developers on -this project were also once developers on the other existing projects. - -TODO. +One of our core principles is to not re-invent the wheel. However, fitting needs into existing projects doesn't always work out. Some of the developers on this project were also once developers on the other existing projects. ## What about `$alternative`? -We have our critiques of other similar projects which are already -up-and-running in the ecosystem. However, the Cooperative Cloud isn't meant to -be a replacement for these projects. Here is a short overview of the pros/cons -we see and how that relates to our goals here. +We have our critiques of other similar projects which are already up-and-running in the ecosystem. However, the Co-op Cloud isn't meant to be a replacement for these projects. Here is a short overview of the pros/cons we see and how that relates to our goals here. ### Cloudron @@ -138,4 +120,4 @@ we see and how that relates to our goals here. ## What licensing model does the project use? -The Cooperative Cloud will always be available under copyleft licenses. +The Co-op Cloud will always be available under copyleft licenses. From 89dabeb08f66282335c26835d504bee592eb8ecf Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Tue, 23 Feb 2021 17:15:41 +0100 Subject: [PATCH 05/11] Shorten FAQ questions --- docs/faq.md | 10 +++++----- docs/overview.md | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index 56f9443..1a51459 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -6,7 +6,7 @@ title: Frequently asked questions The Co-op Cloud is a project which aims to make self-hosting free software applications simple! It's a project which fits in alongside others like [Cloudron](https://www.cloudron.io/), [Yunohost](https://yunohost.org/) and [Freedombone](https://freedombone.net/) and others but has its own specific focus. The project is intended for existing small service providers and cooperatives already involved in hosting work who are looking for alternatives. -## Which technologies are used? +## Which technologies? The core technologies are free software and enjoy wide adoption across free software developer communities. @@ -20,7 +20,7 @@ software developer communities. One of your main aims is to re-use existing work that free software communities are already doing. -## Why do you use containers? +## Why containers? We use containers because so many free software communities choose to use them! They are already writing and using Docker files and Docker-compose definitions @@ -33,9 +33,9 @@ container based workflows through well known CI/CD automation tools and issue trackers. Coop cloud proposes the idea of more direct coordination between distribution methods (app packagers) and production methods (developers). -## Why do you use Docker compose? +## Why Docker Compose? -## Why do you use Docker Swarm? +## Why Docker Swarm? ## Why start another project? @@ -118,6 +118,6 @@ We have our critiques of other similar projects which are already up-and-running - πŸ‘Ž Array of sysadmin skills required to install applications - πŸ‘Ž Hard to share configurations into the commons -## What licensing model does the project use? +## What licensing model do you use? The Co-op Cloud will always be available under copyleft licenses. diff --git a/docs/overview.md b/docs/overview.md index 9e82757..c7e7a9d 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -15,7 +15,7 @@ Applications that you may already use in your daily life: [Nextcloud], [Jitsi], The communities who develop these softwares also publish them using containers. For example, here is the [Nextcloud hub.docker.com account] which allows end-users to quickly deploy a new Nextcloud instance. -Learn more about why we use containers [in the FAQ section](faq/#why-do-you-use-containers). +Learn more about why we use containers [in the FAQ section](faq/#why-containers). [nextcloud]: https://nextcloud.com [jitsi]: https://jitsi.org @@ -33,7 +33,7 @@ Therefore, the Co-op cloud proposes a packaing format which describes the entire [Each application] that the Co-op cloud provides is described using the compose specification and makes use of the upstream project published container. -Learn more about why we use Docker compose [in the FAQ section](faq/#why-do-you-use-docker-compose). +Learn more about why we use Docker compose [in the FAQ section](faq/#why-docker-compose). [standards based compose specification]: https://compose-spec.io [docker compose]: https://docs.docker.com/compose/ @@ -45,7 +45,7 @@ Once we have our application packaged, we need a deployment environment. Product The Co-op cloud makes use of [Docker swarm] as a deployment environment. It offers an approriate feature set which allows us to support zero-down time upgrades, seamless application rollbacks, automatic deploy failure handling, scaling, hybrid cloud setups and maintain a decentralised design. -Learn more about why we use Docker swarm [in the FAQ section](faq/#why-do-you-use-docker-swarm). +Learn more about why we use Docker swarm [in the FAQ section](faq/#why-docker-swarm). [docker swarm]: https://docs.docker.com/engine/swarm/ From ef3185a9cd7df694dabb2dbfa20fc032e1294409 Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Tue, 23 Feb 2021 17:16:34 +0100 Subject: [PATCH 06/11] Link to new titles --- docs/faq.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index 1a51459..96f9b2f 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -11,9 +11,9 @@ The Co-op Cloud is a project which aims to make self-hosting free software appli The core technologies are free software and enjoy wide adoption across free software developer communities. -- [Containers](#why-do-you-use-containers) -- [Docker compose](#why-do-you-use-docker-compose) -- [Docker swarm](#why-do-you-use-docker-swarm) +- [Containers](#why-containers) +- [Docker compose](#why-docker-compose) +- [Docker swarm](#why-docker-swarm) ## Who packages your applications? From 0f527018e335b386fa407840ebe659cd4cf007d7 Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Tue, 23 Feb 2021 17:18:17 +0100 Subject: [PATCH 07/11] Fix titles --- docs/apps.md | 60 ++++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/docs/apps.md b/docs/apps.md index 49a6ef3..d979077 100644 --- a/docs/apps.md +++ b/docs/apps.md @@ -2,29 +2,29 @@ title: Application catalogue --- -# Applications +## Applications | **Name** | **Status** | **Image** | **Healtcheck** | **Backups** | **Email** | **CI** | **Single-Sign-On** | -| ------------------ | ---------- | --------- | ---------- | ----------- | --------- | ------ | ------------------ | -| [Adapt Authoring] | ❸🍎 | βΉπŸ’£ | βœ… | ❌ | ❌ | β·πŸ’› | ❌ | -| [CodiMD] | β·πŸ’› | βΆπŸ’š | βœ… | ❌ | ❌ | β·πŸ’› | βΆπŸ’š (OAuth) | -| [InvoiceNinja] | βΉπŸ’£ | ? | ? | ? | ? | ❌ | ? | -| [H5ai] | ❸🍎 | ❸🍎 | βœ… | ❌ | n/a | ❌ | ❌ | -| [Keycloak] | β·πŸ’› | βΆπŸ’š | βœ… | ? | ❸🍎 | β·πŸ’› | n/a | -| [Keyoxide] | β·πŸ’› | βΆπŸ’š | βœ… | ? | n/a | ❌ | n/a | -| [Kimai] | ? | β·πŸ’› | ? | ? | ? | β·πŸ’› | πŸ’£ | -| [Kutt] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | ❌ | ❌ | ❌ | -| [Matomo] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | ❌ | β·πŸ’› | ❌ | -| [Mailu] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | n/a | β·πŸ’› | ❌ | -| [Matrix (Synapse)] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | ❌ | ❌ | ❌ | -| [Mediawiki] | β·πŸ’› | βΆπŸ’š | ❌ | ❌ | βΆπŸ’š | β·πŸ’› | β·πŸ’› (SAML, OAuth) | -| [Nextcloud] | β·πŸ’› | βΆπŸ’š | βœ… | ❌ | βΆπŸ’š | β·πŸ’› | ❸🍎 (OAuth) | -| [PHPServerMon] | β·πŸ’› | βΆπŸ’š | ❌ | ❌ | βΆπŸ’š | β·πŸ’› | -| [Rocket.Chat] | β·πŸ’› | βΆπŸ’š | βœ… | ❌ | βΆπŸ’š | β·πŸ’› | βΆπŸ’š (OAuth) | -| [SelfOSS] | ❸🍎 | ❸🍎 | βœ… | ❌ | ❌ | ❸🍎 | πŸ’£ | -| [Statping] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | ❸🍎 | ❌ | ❌ | -| [Wallabag] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | ❌ | β·πŸ’› | ❌ | -| [Wordpress] | βΆπŸ’š | βΆπŸ’š | βœ… | βœ… | βΆπŸ’š | β·πŸ’› | ❌ | +| ------------------ | ---------- | --------- | -------------- | ----------- | --------- | ------ | ------------------ | +| [Adapt Authoring] | ❸🍎 | βΉπŸ’£ | βœ… | ❌ | ❌ | β·πŸ’› | ❌ | +| [CodiMD] | β·πŸ’› | βΆπŸ’š | βœ… | ❌ | ❌ | β·πŸ’› | βΆπŸ’š (OAuth) | +| [InvoiceNinja] | βΉπŸ’£ | ? | ? | ? | ? | ❌ | ? | +| [H5ai] | ❸🍎 | ❸🍎 | βœ… | ❌ | n/a | ❌ | ❌ | +| [Keycloak] | β·πŸ’› | βΆπŸ’š | βœ… | ? | ❸🍎 | β·πŸ’› | n/a | +| [Keyoxide] | β·πŸ’› | βΆπŸ’š | βœ… | ? | n/a | ❌ | n/a | +| [Kimai] | ? | β·πŸ’› | ? | ? | ? | β·πŸ’› | πŸ’£ | +| [Kutt] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | ❌ | ❌ | ❌ | +| [Matomo] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | ❌ | β·πŸ’› | ❌ | +| [Mailu] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | n/a | β·πŸ’› | ❌ | +| [Matrix (Synapse)] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | ❌ | ❌ | ❌ | +| [Mediawiki] | β·πŸ’› | βΆπŸ’š | ❌ | ❌ | βΆπŸ’š | β·πŸ’› | β·πŸ’› (SAML, OAuth) | +| [Nextcloud] | β·πŸ’› | βΆπŸ’š | βœ… | ❌ | βΆπŸ’š | β·πŸ’› | ❸🍎 (OAuth) | +| [PHPServerMon] | β·πŸ’› | βΆπŸ’š | ❌ | ❌ | βΆπŸ’š | β·πŸ’› | +| [Rocket.Chat] | β·πŸ’› | βΆπŸ’š | βœ… | ❌ | βΆπŸ’š | β·πŸ’› | βΆπŸ’š (OAuth) | +| [SelfOSS] | ❸🍎 | ❸🍎 | βœ… | ❌ | ❌ | ❸🍎 | πŸ’£ | +| [Statping] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | ❸🍎 | ❌ | ❌ | +| [Wallabag] | ❸🍎 | βΆπŸ’š | ❌ | ❌ | ❌ | β·πŸ’› | ❌ | +| [Wordpress] | βΆπŸ’š | βΆπŸ’š | βœ… | βœ… | βΆπŸ’š | β·πŸ’› | ❌ | [adapt authoring]: https://git.autonomic.zone/coop-cloud/adapt_authoring [codimd]: https://git.autonomic.zone/coop-cloud/codimd @@ -46,7 +46,7 @@ title: Application catalogue [wallabag]: https://git.autonomic.zone/coop-cloud/wallabag [wordpress]: https://git.autonomic.zone/coop-cloud/wordpress -# Developer tools +## Developer tools | **Name** | **Status** | **Image** | **Hltchk** | **Backups** | **Email** | **CI** | **Single-Sign-On** | | --------------------- | ---------- | --------- | ---------- | ----------- | --------- | ------ | ------------------ | @@ -64,7 +64,7 @@ title: Application catalogue [strapi]: https://git.autonomic.zone/coop-cloud/strapi [renovate bot]: https://git.autonomic.zone/coop-cloud/renovate -# Utilities +## Utilities | πŸ”§ **Name** | **Status** | **Image** | **Hltchk** | **Backups** | **Email** | **CI** | **Single-Sign-On** | | ---------------------- | ---------- | --------- | ---------- | ----------- | --------- | ------ | ------------------ | @@ -82,7 +82,7 @@ title: Application catalogue [traefik]: https://git.autonomic.zone/coop-cloud/traefik [traefik forward auth]: https://git.autonomic.zone/coop-cloud/traefik-forward-auth -# Graveyard +## Graveyard | ☠ **Name** | **Status** | **Image** | **Hltchk** | **Backups** | **Email** | **CI** | **Single-Sign-On** | | ---------- | ---------- | --------- | ---------- | ----------- | --------- | ------ | ------------------ | @@ -90,9 +90,9 @@ title: Application catalogue [statuspal]: https://git.autonomic.zone/coop-cloud/statuspal -# Status legend: +## Status legend: -## Overall: +### Overall: - 🌈🌈: everything in βΆπŸ’š + Single-Sign-On - βΆπŸ’š: upstream image, backups, email, healthcheck, integration testing @@ -100,28 +100,28 @@ title: Application catalogue - ❸🍎: missing 3-4 items from βΆπŸ’š or no upstream image - βΉπŸ’£: alpha -## Image +### Image - βΆπŸ’š: official upstream image - β·πŸ’›: semi-official / actively-maintained image - ❸🍎: 3rd-party image - βΉπŸ’£: our own custom image -## Email +### Email - βΆπŸ’š: automatic (using environment variables) - β·πŸ’›: mostly automatic - ❸🍎: manual - ❌: none -## CI +### CI - βΆπŸ’š: as β·πŸ’›, plus healthcheck - β·πŸ’›: auto secrets + networks - ❸🍎: basic deployment using `stack-ssh-deploy`, manual secrets + networks - ❌: none -## Single-Sign-On +### Single-Sign-On - βΆπŸ’š: automatic (using environment variables) - β·πŸ’›: mostly automatic From 7ad313b874c545766517a109da260e2dde7cf265 Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Tue, 23 Feb 2021 17:18:38 +0100 Subject: [PATCH 08/11] Drop : --- docs/apps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/apps.md b/docs/apps.md index d979077..d8d5224 100644 --- a/docs/apps.md +++ b/docs/apps.md @@ -92,7 +92,7 @@ title: Application catalogue ## Status legend: -### Overall: +### Overall - 🌈🌈: everything in βΆπŸ’š + Single-Sign-On - βΆπŸ’š: upstream image, backups, email, healthcheck, integration testing From d96d9dd30c692337939c36a86f02e1cc93eb5f41 Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Tue, 23 Feb 2021 17:18:59 +0100 Subject: [PATCH 09/11] Drop : also --- docs/apps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/apps.md b/docs/apps.md index d8d5224..b7b5d08 100644 --- a/docs/apps.md +++ b/docs/apps.md @@ -90,7 +90,7 @@ title: Application catalogue [statuspal]: https://git.autonomic.zone/coop-cloud/statuspal -## Status legend: +## Status legend ### Overall From 06a24601eae2c932dfa3959e8f9e365ee974f616 Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Tue, 23 Feb 2021 17:21:46 +0100 Subject: [PATCH 10/11] Fix typo --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index c7e7a9d..b8ddf3d 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -29,7 +29,7 @@ Learn more about why we use containers [in the FAQ section](faq/#why-containers) The work required to take a new instance of an application and make it production ready is still too time intensive and often involves a duplication of effort. Each service provider needs to deal with the same problems: stable versioning, backup plan, secret management, upgrade plan, monitoring and the list goes on. -Therefore, the Co-op cloud proposes a packaing format which describes the entire production state of the application in a single place. This format is based on the [standards based compose specification] which is most commonly used by the [Docker compose] tool. +Therefore, the Co-op cloud proposes a packaging format which describes the entire production state of the application in a single place. This format is based on the [standards based compose specification] which is most commonly used by the [Docker compose] tool. [Each application] that the Co-op cloud provides is described using the compose specification and makes use of the upstream project published container. From a87bafda8ce37f7139aaf3f598ae91d77a28332e Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Tue, 23 Feb 2021 17:22:14 +0100 Subject: [PATCH 11/11] Better wording --- docs/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview.md b/docs/overview.md index b8ddf3d..a00bd65 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -29,7 +29,7 @@ Learn more about why we use containers [in the FAQ section](faq/#why-containers) The work required to take a new instance of an application and make it production ready is still too time intensive and often involves a duplication of effort. Each service provider needs to deal with the same problems: stable versioning, backup plan, secret management, upgrade plan, monitoring and the list goes on. -Therefore, the Co-op cloud proposes a packaging format which describes the entire production state of the application in a single place. This format is based on the [standards based compose specification] which is most commonly used by the [Docker compose] tool. +Therefore, the Co-op cloud proposes a packaging format which describes the entire production state of the application in a single place. This format uses the [standards based compose specification] which is most commonly used by the [Docker compose] tool. [Each application] that the Co-op cloud provides is described using the compose specification and makes use of the upstream project published container.