aboutsummaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
authorCrypticC3s4r <27031384+CrypticC3s4r@users.noreply.github.com>2024-10-05 18:37:56 +0200
committerGitHub <noreply@github.com>2024-10-05 17:37:56 +0100
commit3f22801a0d06f36db01a2775b7e9bc1b6c72d3e7 (patch)
treef3445844204daf3b18e08a726e710c80e8efe7a6 /docker
parentf6192dad3a99eb12340d0f8d8388153ff94ff761 (diff)
downloadkarakeep-3f22801a0d06f36db01a2775b7e9bc1b6c72d3e7.tar.zst
docker: Fix the docker-based development env (#456)
Diffstat (limited to 'docker')
-rw-r--r--docker/.env.sample6
-rw-r--r--docker/Dockerfile.dev14
-rw-r--r--docker/docker-compose.dev.yml11
3 files changed, 22 insertions, 9 deletions
diff --git a/docker/.env.sample b/docker/.env.sample
new file mode 100644
index 00000000..0b1471a0
--- /dev/null
+++ b/docker/.env.sample
@@ -0,0 +1,6 @@
+# See https://docs.hoarder.app/configuration for more information
+DATA_DIR=/data
+MEILI_ADDR=http://127.0.0.1:7700
+MEILI_MASTER_KEY=[generate with <openssl rand -base64 36>]
+NEXTAUTH_URL=http://localhost:3000
+NEXTAUTH_SECRET=[generate with <openssl rand -base64 36>] \ No newline at end of file
diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev
index cd15b20d..61a6374f 100644
--- a/docker/Dockerfile.dev
+++ b/docker/Dockerfile.dev
@@ -1,6 +1,14 @@
FROM node:21-alpine
-RUN apk add --no-cache libc6-compat make g++ py3-pip linux-headers
-ENV PUPPETEER_SKIP_DOWNLOAD true
-
WORKDIR /app
+ENV PNPM_HOME="/pnpm"
+ENV PATH="$PNPM_HOME:$PATH"
+
+# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
+RUN apk add --no-cache libc6-compat make g++ py3-pip linux-headers git
+
+RUN corepack enable
+
+COPY . .
+ENV NEXT_TELEMETRY_DISABLED 1
+ENV PUPPETEER_SKIP_DOWNLOAD true
diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml
index 94242f63..95883ce5 100644
--- a/docker/docker-compose.dev.yml
+++ b/docker/docker-compose.dev.yml
@@ -8,9 +8,8 @@ services:
- ..:/app
ports:
- 3000:3000
- environment:
- MEILI_ADDR: http://meilisearch:7700
- DATA_DIR: /data
+ env_file:
+ - .env # Automatically load all variables from this file
command:
- pnpm
- web
@@ -60,9 +59,9 @@ services:
- data:/data
- ..:/app
command:
- - /bin/sh
- - -c
- - "corepack enable && pnpm install --frozen-lockfile && pnpm run db:migrate"
+ - /bin/sh
+ - -c
+ - "pnpm install --frozen-lockfile && pnpm run db:migrate"
volumes:
meilisearch: