joplock/docker-compose.yml
igor 8356f04eb4 feat(editor): prism code highlighting, plaintext save identity guards, vault sync safety
Squash-merged from code-highlight branch:

- Prism code-block highlighting in TinyMCE codesample (full global Prism
  bundle loads before TinyMCE; languages matched to the insert modal)
- Fix cross-note plaintext contamination: _displayedNoteId /
  _tinymceContentNoteId provenance stamps, _plaintextSaveIdentityOk gate
  on every plaintext save path + htmx:configRequest choke point, preview
  fetches discarded on note switch, TinyMCE sync refusal for foreign
  content, stale-response snapshotHash guards
- Vault safety: block creating copies of vault notes (any destination),
  omit Create copy on conflict for vault notes, README + docker-compose
  guidance for proxying sync clients through Joplock's /joplin endpoint
- Shared-note ownership: data-is-owner on editor + mobile rows; hide
  delete/restore from non-owner recipients
- Search: AND-match all query terms regardless of order
- Save text typed during the TinyMCE post-load quiet window
2026-09-03 12:10:55 +12:00

55 lines
2.2 KiB
YAML

# Sidecar deployment example: Joplock alongside an existing Joplin Server + Postgres
#
# Usage:
# 1. Edit the environment values below to match your existing setup
# 2. docker compose up -d
#
# ALTERNATELY you can just paste the joplock section into your existing joplin server
# compose file.
#
# On Linux, host.docker.internal is mapped to the host gateway so Joplock
# can reach services running on the host by default.
services:
joplock:
image: ghcr.io/abort-retry-ignore/joplock:latest
pull_policy: always
ports:
# Host port : container port
- '5444:3001'
environment:
HOST: 0.0.0.0
PORT: 3001
# Public URL where Joplock is reachable from a browser
JOPLOCK_PUBLIC_BASE_URL: http://localhost:5444
# Internal URL Joplock uses to call Joplin Server API
JOPLIN_SERVER_ORIGIN: http://host.docker.internal:22300
# Public URL users already use for Joplin Server (for sync clients).
# For vault safety, point sync clients at Joplock's /joplin proxy instead;
# see README "Vault Safety With Sync Clients".
JOPLIN_SERVER_PUBLIC_URL: http://localhost:22300
# Empty disables Joplock's sync proxy and its vault/share write guards.
# Use /joplin when sync clients must access vault notebooks through Joplock.
JOPLIN_PUBLIC_BASE_PATH: ''
# Postgres connection — must be the same database used by Joplin Server
POSTGRES_HOST: host.docker.internal
POSTGRES_PORT: 5432
POSTGRES_DATABASE: joplin
POSTGRES_USER: joplin
POSTGRES_PASSWORD: joplin
# Admin account — set both to enable the admin panel in Joplock
JOPLOCK_ADMIN_EMAIL: ''
JOPLOCK_ADMIN_PASSWORD: ''
# Set to true to skip MFA for the admin account defined above
IGNORE_ADMIN_MFA: 'false'
# Full database backup storage inside the container
JOPLOCK_BACKUP_DIR: /backups
# Break-glass recovery mode for backup/restore when normal login is unavailable
JOPLOCK_RECOVERY_ENABLED: 'false'
JOPLOCK_RECOVERY_PASSWORD: ''
# Startup default for debug logging; admins can override at runtime in Settings.
DEBUG: 'false'
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- ./data/backups:/backups