aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2022-01-24 12:37:12 +0100
committerQuentin Dufour <quentin@deuxfleurs.fr>2022-01-24 12:37:12 +0100
commita8ef761731473ef073c60a1e924eb5b58a022d98 (patch)
tree1d2e978eaf490e93a9523498c83aff304cf55fc8
parentba7be3f895ec187fcd798018f0aa323232625ff6 (diff)
downloadgarage-a8ef761731473ef073c60a1e924eb5b58a022d98.tar.gz
garage-a8ef761731473ef073c60a1e924eb5b58a022d98.zip
Add docker registry
-rw-r--r--doc/book/src/connect/apps.md34
-rw-r--r--doc/book/src/connect/repositories.md51
2 files changed, 64 insertions, 21 deletions
diff --git a/doc/book/src/connect/apps.md b/doc/book/src/connect/apps.md
index c9bba409..f583d1e7 100644
--- a/doc/book/src/connect/apps.md
+++ b/doc/book/src/connect/apps.md
@@ -5,15 +5,16 @@ In this section, we cover the following web applications:
| Name | Status | Note |
|------|--------|------|
| [Nextcloud](#nextcloud) | ✅ | Both Primary Storage and External Storage are supported |
-| [Peertube](#peertube) | ✅ | `base_url` must be set to the website endpoint |
-| [Mastodon](#mastodon) | ❓ | |
+| [Peertube](#peertube) | ✅ | Must be configured with the website endpoint |
+| [Mastodon](#mastodon) | ❓ | Not yet tested |
| [Matrix](#matrix) | ✅ | Tested with `synapse-s3-storage-provider` |
-| [Pixelfed](#pixelfed) | ❓ | |
-| [Pleroma](#pleroma) | ❓ | |
-| [Lemmy](#lemmy) | ❓ | |
-| [Funkwhale](#funkwhale) | ❓ | |
-| [Misskey](#misskey) | ❓ | |
-| [Prismo](#prismo) | ❓ | |
+| [Pixelfed](#pixelfed) | ❓ | Not yet tested |
+| [Pleroma](#pleroma) | ❓ | Not yet tested |
+| [Lemmy](#lemmy) | ❓ | Not yet tested |
+| [Funkwhale](#funkwhale) | ❓ | Not yet tested |
+| [Misskey](#misskey) | ❓ | Not yet tested |
+| [Prismo](#prismo) | ❓ | Not yet tested |
+| [Owncloud OCIS](#owncloud-infinite-scale-ocis) | ❓| Not yet tested |
## Nextcloud
@@ -334,31 +335,34 @@ And add a new line. For example, to run it every 10 minutes:
## Pixelfed
-https://docs.pixelfed.org/technical-documentation/env.html#filesystem
+[Pixelfed Technical Documentation > Configuration](https://docs.pixelfed.org/technical-documentation/env.html#filesystem)
## Pleroma
-https://docs-develop.pleroma.social/backend/configuration/cheatsheet/#pleromauploaderss3
+[Pleroma Documentation > Pleroma.Uploaders.S3](https://docs-develop.pleroma.social/backend/configuration/cheatsheet/#pleromauploaderss3)
## Lemmy
-via pict-rs
-https://git.asonix.dog/asonix/pict-rs/commit/f9f4fc63d670f357c93f24147c2ee3e1278e2d97
+Lemmy uses pict-rs that [supports S3 backends](https://git.asonix.dog/asonix/pict-rs/commit/f9f4fc63d670f357c93f24147c2ee3e1278e2d97)
## Funkwhale
-https://docs.funkwhale.audio/admin/configuration.html#s3-storage
+[Funkwhale Documentation > S3 Storage](https://docs.funkwhale.audio/admin/configuration.html#s3-storage)
## Misskey
-https://github.com/misskey-dev/misskey/commit/9d944243a3a59e8880a360cbfe30fd5a3ec8d52d
+[Misskey Github > commit 9d94424](https://github.com/misskey-dev/misskey/commit/9d944243a3a59e8880a360cbfe30fd5a3ec8d52d)
## Prismo
-https://gitlab.com/prismosuite/prismo/-/blob/dev/.env.production.sample#L26-33
+[Prismo Gitlab > .env.production.sample](https://gitlab.com/prismosuite/prismo/-/blob/dev/.env.production.sample#L26-33)
## Owncloud Infinite Scale (ocis)
+OCIS could be compatible with S3:
+ - [Deploying OCIS with S3](https://owncloud.dev/ocis/deployment/ocis_s3/)
+ - [OCIS 1.7 release note](https://central.owncloud.org/t/owncloud-infinite-scale-tech-preview-1-7-enables-s3-storage/32514/3)
+
## Unsupported
- Mobilizon: No S3 integration
diff --git a/doc/book/src/connect/repositories.md b/doc/book/src/connect/repositories.md
index 8a3dce14..0885dd9b 100644
--- a/doc/book/src/connect/repositories.md
+++ b/doc/book/src/connect/repositories.md
@@ -3,6 +3,15 @@
Whether you need to store and serve binary packages or source code, you may want to deploy a tool referred as a repository or registry.
Garage can also help you serve this content.
+| Name | Status | Note |
+|------|--------|------|
+| [Gitea](#gitea) | ✅ | |
+| [Docker](#generic-static-site-generator) | ✅ | Requires garage >= v0.6.0 |
+| [Nix](#generic-static-site-generator) | ✅ | |
+| [Gitlab](#gitlab) | ❓ | Not yet tested |
+
+
+
## Gitea
You can use Garage with Gitea to store your [git LFS](https://git-lfs.github.com/) data, your users' avatar, and their attachements.
@@ -52,18 +61,42 @@ $ aws s3 ls s3://gitea/avatars/
*External link:* [Gitea Documentation > Configuration Cheat Sheet](https://docs.gitea.io/en-us/config-cheat-sheet/)
-## Gitlab
+## Docker
-*External link:* [Gitlab Documentation > Object storage](https://docs.gitlab.com/ee/administration/object_storage.html)
+Create a bucket and a key for your docker registry, then create `config.yml` with the following content:
+
+```yml
+version: 0.1
+http:
+ addr: 0.0.0.0:5000
+ secret: asecretforlocaldevelopment
+ debug:
+ addr: localhost:5001
+storage:
+ s3:
+ accesskey: GKxxxx
+ secretkey: yyyyy
+ region: garage
+ regionendpoint: http://localhost:3900
+ bucket: docker
+ secure: false
+ v4auth: true
+ rootdirectory: /
+```
+Replace the `accesskey`, `secretkey`, `bucket`, `regionendpoint` and `secure` values by the one fitting your deployment.
-## Private NPM Registry (Verdacio)
+Then simply run the docker registry:
-*External link:* [Verdaccio Github Repository > aws-storage plugin](https://github.com/verdaccio/verdaccio/tree/master/packages/plugins/aws-storage)
+```bash
+docker run \
+ --net=host \
+ -v `pwd`/config.yml:/etc/docker/registry/config.yml \
+ registry:2
+```
-## Docker
+*We started a plain text registry but docker clients require encrypted registries. You must either [setup TLS](https://docs.docker.com/registry/deploying/#run-an-externally-accessible-registry) on your registry or add `--insecure-registry=localhost:5000` to your docker daemon parameters.*
-Not yet compatible, follow [#103](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/103).
*External link:* [Docker Documentation > Registry storage drivers > S3 storage driver](https://docs.docker.com/registry/storage-drivers/s3/)
@@ -167,3 +200,9 @@ on the binary cache, the client will download the result from the cache instead
Channels additionnaly serve Nix definitions, ie. a `.nix` file referencing
all the derivations you want to serve.
+
+## Gitlab
+
+*External link:* [Gitlab Documentation > Object storage](https://docs.gitlab.com/ee/administration/object_storage.html)
+
+