mirror of
https://github.com/abort-retry-ignore/joplock.git
synced 2026-10-21 14:19:30 +00:00
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
55 lines
2.2 KiB
YAML
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
|