docs: add documentation to the repo and improve layout

This commit is contained in:
Timo 2020-08-12 21:17:53 +02:00
parent 87ed132ae4
commit 2fc99c05e1
No known key found for this signature in database
GPG key ID: 24DA7517711A2BA4
3 changed files with 125 additions and 12 deletions

View file

@ -1,9 +1,12 @@
# Docker
# Deploy using Docker
> **Note:** To run and use Conduit you should probably use it with a Domain or Subdomain behind a reverse proxy (like Nginx, Traefik, Apache, ...) with a Lets Encrypt certificate.
This text is also available at the [official wiki](https://git.koesters.xyz/timo/conduit/wiki/docker).
## Build & Dockerfile
## Docker
### Build & Dockerfile
The Dockerfile provided by Conduit has two stages, each of which creates an image.
1. **Builder:** Builds the binary from local context or by cloning a git revision from the official repository.
2. **Runtime:** Copies the built binary from **Builder** and sets up the runtime environment, like creating a volume to persist the database and applying the correct permissions.
@ -31,7 +34,9 @@ docker build . -t conduit_homeserver:latest --build-arg CREATED=$(date -u +'%Y-%
which also will tag the resulting image as `conduit_homeserver:latest`.
**Note:** it ommits the two optional `build-arg`s.
## Run
### Run
After building the image you can simply run it with
``` bash
@ -42,10 +47,13 @@ For detached mode, you also need to use the `-d` flag. You can pass in more env
If you just want to test Conduit for a short time, you can use the `--rm` flag, which will clean up everything related to your container after you stop it.
# Docker-compose
## Docker-compose
If the docker command is not for you or your setup, you can also use one of the provided `docker-compose` files. Depending on your proxy setup, use the `docker-compose.traefik.yml` including `docker-compose.override.traefik.yml` or the normal `docker-compose.yml` for every other reverse proxy.
## Build
### Build
To build the Conduit image with docker-compose, you first need to open and modify the `docker-compose.yml` file. There you need to comment the `image:` option and uncomment the `build:` option. Then call docker-compose with:
``` bash
@ -54,7 +62,9 @@ CREATED=$(date -u +'%Y-%m-%dT%H:%M:%SZ') VERSION=$(grep -m1 -o '[0-9].[0-9].[0-9
This will also start the container right afterwards, so if want it to run in detached mode, you also should use the `-d` flag. For possible `build-args`, please take a look at the above `Build & Dockerfile` section.
## Run
### Run
If you already have built the image, you can just start the container and everything else in the compose file in detached mode with:
``` bash