summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Kabo <raphaelkabo@hey.com>2024-07-01 20:01:52 +0100
committerRaphael Kabo <raphaelkabo@hey.com>2024-07-01 20:01:52 +0100
commitedf113e18cd05edd51e9da96b2a8004382cda83a (patch)
treec91b0e631cb63c339e6059702f5e96dfd12dccdc
parentc5141c77976cd17e5e457ac0d1fb6647636056bb (diff)
Update Docker configuration
-rw-r--r--Dockerfile5
-rw-r--r--docker-compose.yml3
-rw-r--r--docs/running-gathio/installation.md32
3 files changed, 34 insertions, 6 deletions
diff --git a/Dockerfile b/Dockerfile
index 2b3d1e3..1668095 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,11 +1,10 @@
-FROM node:18-alpine
+FROM node:20-alpine
WORKDIR /app
RUN apk add --no-cache python3 build-base
ADD package.json pnpm-lock.yaml /app/
RUN npm install -g pnpm
-RUN pnpm install
+RUN pnpm install --prod
COPY . /app/
-RUN cp config/config.example.toml config/config.toml
# Always exit 0 here because TSC will fail while we're migrating to TypeScript but
# not everything uses TypeScript
RUN pnpm run build; exit 0
diff --git a/docker-compose.yml b/docker-compose.yml
index 4a87aed..9677edd 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -10,6 +10,9 @@ services:
- mongo
ports:
- 3000:3000
+ volumes:
+ # Set the correct path to the config folder
+ - ./gathio-docker:/app/config
mongo:
image: mongo:latest
volumes:
diff --git a/docs/running-gathio/installation.md b/docs/running-gathio/installation.md
index 7be73c4..03c4416 100644
--- a/docs/running-gathio/installation.md
+++ b/docs/running-gathio/installation.md
@@ -91,11 +91,37 @@ the subject](https://www.linode.com/docs/web-servers/nginx/use-nginx-reverse-pro
## Docker
The easiest way to run Gathio using Docker is by using the provided `docker-compose` configuration.
-Ensure that the `node_modules` folder does not exist in the `gathio` directory before starting up the
-Docker container.
+
+Ensure that the `node_modules` folder does not exist in the `gathio` directory before
+starting up the Docker container.
+
+Create a directory on your system where you'll keep the Gathio configuration file. Copy the example
+config file into this directory:
+
+```
+mkdir ~/docker/gathio-docker
+cp config/config.example.toml ~/docker/gathio-docker/config.toml
+```
+
+Under the `volumes` section of the `docker-compose.yml` configuration, adjust the
+configuration volume to match the folder you created:
+
+```dockerfile
+volumes:
+ - '/home/username/docker/gathio-docker:/app/config
+```
+
+Adjust any settings in the config file, especially the MongoDB URL, which should read as follows for the standard Dockerfile config, and the email service if you want
+to enable it:
+
+```
+mail_service = "nodemailer"
+mongodb_url = "mongodb://mongo:27017/gathio"
+```
+
+Finally, start the Docker stack:
```
-cd gathio
docker-compose up -d --build
```