Files
InkNote/docker-compose.yml
T
marcandClaude Opus 5 55a6b3caab Correct the registry namespace to the Docker org
The previous commit moved the images to honey/, which was wrong: the
images have lived under the Docker organisation since February, alongside
learning-tracker and whopays, and are linked to this repository there.
Only the placeholder 'marc' was never real.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 17:05:48 +02:00

54 lines
1.9 KiB
YAML

version: "3.8"
# ─────────────────────────────────────────────
# InkNote — Deploy on Docker VM
# Pull images from Gitea container registry
#
# Usage:
# mkdir -p /srv/inknote/db /srv/inknote/uploads
# chown -R 1000:1000 /srv/inknote
# docker login gitea.honeyy.duckdns.org
# docker compose pull
# docker compose up -d
#
# Data lives under INKNOTE_DATA_DIR (default /srv/inknote) on the host.
# Back that path up together with the .env holding ENCRYPTION_KEY — the
# database is encrypted and is unreadable without that key.
# ─────────────────────────────────────────────
services:
inknote-server:
image: gitea.honeyy.duckdns.org/docker/inknote-server:latest
container_name: inknote-server
restart: unless-stopped
environment:
- PORT=4000
- JWT_SECRET=${JWT_SECRET}
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
- NODE_ENV=production
# Bind mounts, not named volumes: the data sits in a plain directory on the
# Docker host, so whatever backs up the host also backs up InkNote.
# Create it first: mkdir -p /srv/inknote/{db,uploads} && chown -R 1000:1000 /srv/inknote
user: "${INKNOTE_UID:-1000}:${INKNOTE_GID:-1000}"
volumes:
- ${INKNOTE_DATA_DIR:-/srv/inknote}/db:/app/data
- ${INKNOTE_DATA_DIR:-/srv/inknote}/uploads:/app/uploads
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:4000/api/health"]
interval: 30s
timeout: 5s
retries: 3
inknote-web:
image: gitea.honeyy.duckdns.org/docker/inknote-web:latest
container_name: inknote-web
restart: unless-stopped
ports:
- "3000:80"
depends_on:
inknote-server:
condition: service_healthy
volumes:
inknote-data:
inknote-uploads: