commit 695a63af48779786339ab4299413fba405048a04
parent b6122cd2c045c48d288e12f73ecdaeb7f358b743
Author: Johann150 <johann@qwertqwefsday.eu>
Date: Sat, 10 Apr 2021 14:51:53 +0200
added docker support (#52)
Diffstat:
2 files changed, 58 insertions(+), 0 deletions(-)
diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
@@ -0,0 +1,5 @@
+FROM alpine:latest
+RUN apk add cargo && wget https://github.com/mbrubeck/agate/archive/refs/tags/v3.0.2.tar.gz && tar xzf v3.0.2.tar.gz && mv /agate-3.0.2 /agate && cd agate && cargo build --release
+CMD /agate --content /gmi/ \
+ --hostname $GEMINI_HOST \
+ --lang $GEMINI_LANG
diff --git a/tools/docker/README.md b/tools/docker/README.md
@@ -0,0 +1,53 @@
+# Install agate in a docker container
+(these instructions assume you use linux and have some experience with both docker and the command line)
+## obtain the source code
+
+There are currently no container images online so you have to build the image yourself before you can use it.
+There are two options available for this: downloading a release or cloning the repository with `git`.
+I will explain both methods but if you're unsure which method to use, I would recommend the release for new comers because it's probably more tested so you'll encounter less problems.
+
+### downloading the release tarball
+
+Download the tarball. Go to [https://github.com/mbrubeck/agate/releases/latest](https://github.com/mbrubeck/agate/releases/latest), and copy the url of the source code tarball.
+
+```
+wget URL
+```
+
+Then unpack the tarball and remove it afterwards:
+```
+tar -xzf tarball.tar.gz
+rm tarball.tar.gz
+```
+
+### clone the repository with git
+
+I assume you have git already installed. If not, please search on how to do it in the internet.
+
+```
+git clone https://github.com/mbrubeck/agate
+cd agate
+```
+
+## build the image
+Enter the `tools/docker` directory:
+
+```
+cd tools/docker
+```
+And now build the docker image:
+
+```
+docker build -t agate .
+```
+This process will take a few minutes because all the rust modules have to be compiled from source.
+
+## start the docker container
+
+```
+docker run -t -d --name agate -p 1965:1965 -d /var/www/gmi/:/gmi/ -d /var/www/gmi/.certificates/:/agate/.certificates/ -e GEMINI_HOST=my.gemini.space -e GEMINI_LANG=en-US agate:latest
+```
+
+You have to replace `/var/www/gmi/` with the folder where you'd like to have gemtext files and `/var/www/gmi/.certificates/` with the folder where you'd like to have your certificates stored. You also have to have to replace `my.gemini.space` with your domain name and if plan to speak in a different language than english in your gemini space than you should replace `en-US` with your countries language code (for example de-DE or fr-CA).
+
+## That's it! Now have agate running in a docker container!