feat: add Linkwarden bookmark manager stack
Added new Links stack to Falcon infrastructure: **Links Stack (links.pivoine.art):** - Linkwarden bookmark manager with PostgreSQL backend - Meilisearch v1.12.8 for full-text search - Browser extension support - Screenshot and PDF archiving - Collaborative bookmark sharing **Infrastructure Updates:** - Created links/compose.yaml with linkwarden and meilisearch services - Added linkwarden database to PostgreSQL init script - Added LINKS_* environment variables to arty.yml - Updated compose.yaml to include links stack - Cleaned up .env to contain only secrets - Added all EMAIL_* variables to .env **Documentation:** - Updated CLAUDE.md with Links service details - Updated README.md with Links in CORE SYSTEMS table - Added linkwarden_data and meili_data volumes to docs **Required Secrets (in .env):** - LINKS_NEXTAUTH_SECRET: NextAuth.js session encryption - LINKS_MEILI_MASTER_KEY: Meilisearch API authentication 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
21
CLAUDE.md
21
CLAUDE.md
@@ -19,6 +19,7 @@ Root `compose.yaml` uses Docker Compose's `include` directive to orchestrate mul
|
||||
- **scrapy**: Scrapyd web scraping cluster (scrapyd, scrapy, scrapyrt)
|
||||
- **n8n**: Workflow automation platform (PostgreSQL)
|
||||
- **stash**: Filestash web-based file manager
|
||||
- **links**: Linkwarden bookmark manager (PostgreSQL + Meilisearch)
|
||||
- **vpn**: WireGuard VPN (wg-easy)
|
||||
|
||||
All services connect to a single external Docker network (`falcon_network` by default, defined by `$NETWORK_NAME`).
|
||||
@@ -52,6 +53,7 @@ Services expose themselves via Docker labels:
|
||||
- Creates `directus` database for Sexy CMS
|
||||
- Creates `umami` database for Track analytics
|
||||
- Creates `n8n` database for workflow automation
|
||||
- Creates `linkwarden` database for Links bookmark manager
|
||||
- Grants privileges to `$DB_USER`
|
||||
|
||||
## Common Commands
|
||||
@@ -175,6 +177,24 @@ Web-based file manager:
|
||||
- File sharing capabilities
|
||||
- Data persisted in `filestash_data` volume
|
||||
|
||||
### Links (links/compose.yaml)
|
||||
Linkwarden bookmark manager with full-text search:
|
||||
- **linkwarden**: Linkwarden app exposed at `links.pivoine.art:3000`
|
||||
- Bookmark and link management with collections
|
||||
- Full-text search via Meilisearch
|
||||
- Collaborative bookmark sharing
|
||||
- Screenshot and PDF archiving
|
||||
- Browser extension support
|
||||
- PostgreSQL backend for bookmark persistence
|
||||
- Data persisted in `linkwarden_data` volume
|
||||
- **linkwarden_meilisearch**: Meilisearch v1.12.8 search engine
|
||||
- Powers full-text search for bookmarks
|
||||
- Data persisted in `linkwarden_meili_data` volume
|
||||
|
||||
**Required Environment Variables** (add to `.env`):
|
||||
- `LINKS_NEXTAUTH_SECRET`: NextAuth.js secret for session encryption
|
||||
- `LINKS_MEILI_MASTER_KEY`: Meilisearch master key for API authentication
|
||||
|
||||
## Important Environment Variables
|
||||
|
||||
Key variables defined in `arty.yml` and overridden in `.env`:
|
||||
@@ -197,6 +217,7 @@ Each service uses named volumes prefixed with project name:
|
||||
- `scrapy_scrapyd_data`, `scrapy_scrapy_code`: Scrapy spider data and code
|
||||
- `n8n_n8n_data`: n8n workflow data
|
||||
- `stash_filestash_data`: Filestash configuration and state
|
||||
- `links_data`, `links_meili_data`: Linkwarden bookmarks and Meilisearch index
|
||||
- `proxy_letsencrypt_data`: SSL certificates
|
||||
|
||||
Volumes can be inspected with:
|
||||
|
||||
Reference in New Issue
Block a user