feat: add Joplin Server stack for note-taking and synchronization
Added Joplin Server deployment at joplin.pivoine.art: **Joplin stack** (joplin.pivoine.art): - joplin: Note-taking server with multi-device sync - PostgreSQL backend for data persistence - End-to-end encryption support - Compatible with official Joplin clients (desktop, mobile, CLI) - Markdown-based notes with attachments Infrastructure updates: - Added joplin database to PostgreSQL init script - Updated compose.yaml to include joplin stack - Added JOPLIN_* environment variables to arty.yml - Added joplin-backup plan to restic (13th backup plan) - Updated restic/compose.yaml with joplin_data volume mount - Updated README.md and CLAUDE.md documentation All services integrated with Traefik for SSL termination and include Watchtower auto-update labels. Daily backups scheduled for 2 AM with 7 daily, 4 weekly, 6 monthly, and 2 yearly retention. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -25,16 +25,21 @@ psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-E
|
||||
SELECT 'CREATE DATABASE linkwarden'
|
||||
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'linkwarden')\gexec
|
||||
|
||||
-- Joplin note-taking server database
|
||||
SELECT 'CREATE DATABASE joplin'
|
||||
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'joplin')\gexec
|
||||
|
||||
-- Grant privileges to all databases
|
||||
GRANT ALL PRIVILEGES ON DATABASE directus TO $POSTGRES_USER;
|
||||
GRANT ALL PRIVILEGES ON DATABASE umami TO $POSTGRES_USER;
|
||||
GRANT ALL PRIVILEGES ON DATABASE n8n TO $POSTGRES_USER;
|
||||
GRANT ALL PRIVILEGES ON DATABASE linkwarden TO $POSTGRES_USER;
|
||||
GRANT ALL PRIVILEGES ON DATABASE joplin TO $POSTGRES_USER;
|
||||
|
||||
-- Log success
|
||||
SELECT 'Compose databases initialized:' AS status;
|
||||
SELECT datname FROM pg_database
|
||||
WHERE datname IN ('directus', 'umami', 'n8n', 'linkwarden')
|
||||
WHERE datname IN ('directus', 'umami', 'n8n', 'linkwarden', 'joplin')
|
||||
ORDER BY datname;
|
||||
EOSQL
|
||||
|
||||
@@ -47,4 +52,5 @@ echo " • directus - Sexy application database"
|
||||
echo " • umami - Tracking database"
|
||||
echo " • n8n - Workflow automation database"
|
||||
echo " • linkwarden - Bookmark manager database"
|
||||
echo " • joplin - Note-taking server database"
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user