aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex <alex@adnab.me>2024-08-24 11:07:46 +0000
committerAlex <alex@adnab.me>2024-08-24 11:07:46 +0000
commitbd6fe72c065048663b9f6af87f1e5a4a48e88d04 (patch)
tree36b59315d0bc35680ad96edb0d58ca382a8c2699
parent3e711bc110aaf2d7f84ac08062df27ee94caf0b9 (diff)
parent4c9e8ef6253542e06160b587a1dbb9b4d5908305 (diff)
downloadgarage-bd6fe72c065048663b9f6af87f1e5a4a48e88d04.tar.gz
garage-bd6fe72c065048663b9f6af87f1e5a4a48e88d04.zip
Merge pull request 'Quick start: mention Docker (replace #803)' (#862) from dougreeder into main
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/862
-rw-r--r--doc/book/quick-start/_index.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/book/quick-start/_index.md b/doc/book/quick-start/_index.md
index 9619f388..5f17447b 100644
--- a/doc/book/quick-start/_index.md
+++ b/doc/book/quick-start/_index.md
@@ -42,6 +42,13 @@ If a binary of the last version is not available for your architecture,
or if you want a build customized for your system,
you can [build Garage from source](@/documentation/cookbook/from-source.md).
+If none of these option work for you, you can also run Garage in a Docker
+container. When using Docker, the commands used in this guide will not work
+anymore. We recommend reading the tutorial on [configuring a
+multi-node cluster](@/documentation/cookbook/real-world.md) to learn about
+using Garage as a Docker container. For simplicity, a minimal command to launch
+Garage using Docker is provided in this quick start guide as well.
+
## Configuring and starting Garage
@@ -85,6 +92,9 @@ metrics_token = "$(openssl rand -base64 32)"
EOF
```
+See the [Configuration file format](https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/)
+for complete options and values.
+
Now that your configuration file has been created, you may save it to the directory of your choice.
By default, Garage looks for **`/etc/garage.toml`.**
You can also store it somewhere else, but you will have to specify `-c path/to/garage.toml`
@@ -111,6 +121,26 @@ garage -c path/to/garage.toml server
If you have placed the `garage.toml` file in `/etc` (its default location), you can simply run `garage server`.
+Alternatively, if you cannot or do not wish to run the Garage binary directly,
+you may use Docker to run Garage in a container using the following command:
+
+```bash
+docker run \
+ -d \
+ --name garaged \
+ -p 3900:3900 -p 3901:3901 -p 3902:3902 -p 3903:3903 \
+ -v /etc/garage.toml:/path/to/garage.toml \
+ -v /var/lib/garage/meta:/path/to/garage/meta \
+ -v /var/lib/garage/data:/path/to/garage/data \
+ dxflrs/garage:v0.9.4
+```
+
+Under Linux, you can substitute `--network host` for `-p 3900:3900 -p 3901:3901 -p 3902:3902 -p 3903:3903`
+
+#### Troubleshooting
+
+Ensure your configuration file, `metadata_dir` and `data_dir` are readable by the user running the `garage` server or Docker.
+
You can tune Garage's verbosity by setting the `RUST_LOG=` environment variable. \
Available log levels are (from less verbose to more verbose): `error`, `warn`, `info` *(default)*, `debug` and `trace`.
@@ -131,6 +161,9 @@ It uses values from the TOML configuration file to find the Garage daemon runnin
local node, therefore if your configuration file is not at `/etc/garage.toml` you will
again have to specify `-c path/to/garage.toml` at each invocation.
+If you are running Garage in a Docker container, you can set `alias garage="docker exec -ti <container name> /garage"`
+to use the Garage binary inside your container.
+
If the `garage` CLI is able to correctly detect the parameters of your local Garage node,
the following command should be enough to show the status of your cluster: