# Configuring a test deployment This section describes how to run a simple test Garage deployment with a single node. Note that this kind of deployment should not be used in production, as it provides no redundancy for your data! We will also skip intra-cluster TLS configuration, meaning that if you add nodes to your cluster, communication between them will not be secure. First, make sure that you have Garage installed in your command line environment. We will explain how to launch Garage in a Docker container, however we still recommend that you install the `garage` CLI on your host system in order to control the daemon. ## Writing a first configuration file This first configuration file should allow you to get started easily with the simplest possible Garage deployment: ```toml metadata_dir = "/tmp/meta" data_dir = "/tmp/data" replication_mode = "none" rpc_bind_addr = "[::]:3901" bootstrap_peers = [] [s3_api] s3_region = "garage" api_bind_addr = "[::]:3900" [s3_web] bind_addr = "[::]:3902" root_domain = ".web.garage" index = "index.html" ``` Save your configuration file as `garage.toml`. As you can see in the `metadata_dir` and `data_dir` parameters, we are saving Garage's data in `/tmp` which gets erased when your system reboots. This means that data stored on this Garage server will not be persistent. Change these to locations on your HDD if you want your data to be persisted properly. ## Launching the Garage server #### Option 1: directly (without Docker) Use the following command to launch the Garage server with our configuration file: ``` garage server -c garage.toml ``` By default, Garage displays almost no output. You can tune Garage's verbosity as follows (from less verbose to more verbose): ``` RUST_LOG=garage=info garage server -c garage.toml RUST_LOG=garage=debug garage server -c garage.toml RUST_LOG=garage=trace garage server -c garage.toml ``` Log level `info` is recommended for most use cases. Log level `debug` can help you check why your S3 API calls are not working. #### Option 2: in a Docker container Use the following command to start Garage in a docker container: ``` docker run -d \ -p 3901:3901 -p 3902:3902 -p 3900:3900 \ -v ./config.toml:/garage/config.toml \ lxpz/garage_amd64:v0.3.0 ``` To tune Garage's verbosity level, set the `RUST_LOG` environment variable in the configuration at launch time. For instance: ``` docker run -d \ -p 3901:3901 -p 3902:3902 -p 3900:3900 \ -v ./config.toml:/garage/config.toml \ -e RUST_LOG=garage=info \ lxpz/garage_amd64:v0.3.0 ``` ## Checking that Garage runs correctly The `garage` utility is also used as a CLI tool to configure your Garage deployment. It tries to connect to a Garage server through the RPC protocol, by default looking for a Garage server at `localhost:3901`. Since our deployment already binds to port 3901, the following command should be sufficient to show Garage's status, provided that you installed the `garage` binary on your host system: ``` garage status ``` Move on to [controlling the Garage daemon](04_control.md) to learn more about how to use the Garage CLI to control your cluster. Move on to [configuring your cluster](05_cluster.md) in order to configure your single-node deployment for actual use!