chore: add linkwarden

This commit is contained in:
LRVT 2025-05-10 00:06:56 +02:00
parent 975fa34b31
commit 9e995f02f0
4 changed files with 88 additions and 0 deletions

View File

@ -249,6 +249,7 @@ Digital [archiving](https://en.wikipedia.org/wiki/Archival_science) and [preserv
- [Archivebox](examples/archivebox) - ArchiveBox is a powerful, self-hosted internet archiving solution to collect, save, and view websites offline.
- [Shiori](examples/shiori) - Simple bookmark manager and website archiver built with Go.
- [Readeck](examples/readeck) - Readeck is a simple web application that lets you save the precious readable content of web pages you like and want to keep forever.
- [Linkwarden](examples/linkwarden) - Self-hosted collaborative bookmark manager to collect, organize, and preserve webpages, articles, and documents.
### Document Management

11
examples/linkwarden/.env Normal file
View File

@ -0,0 +1,11 @@
# change this env to your fqdn url
NEXTAUTH_URL=http://localhost:3000/api/v1/auth
#NEXTAUTH_URL=https://linkwarden.example.com/api/v1/auth
# define a strong secret key
NEXTAUTH_SECRET=unplug6-coherent-outlast-undergo-plow
# database settings
PG_PASS=linkwarden
PG_USER=linkwarden
PG_DB=linkwarden

View File

@ -0,0 +1,8 @@
# References
- https://docs.linkwarden.app/self-hosting/installation
- https://github.com/linkwarden/linkwarden
# Notes

View File

@ -0,0 +1,68 @@
services:
linkwarden:
image: ghcr.io/linkwarden/linkwarden:latest
container_name: linkwarden-app
environment:
- DATABASE_URL=postgresql://${PG_USER:-linkwarden}:${PG_PASS:-linkwarden}@postgres:5432/${PG_DB:-linkwarden}
restart: unless-stopped
env_file: .env
ports:
- 3000:3000
expose:
- 3000
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/linkwarden/data:/data/data
depends_on:
- postgres
- meilisearch
#networks:
# - internal
# - tier-2
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.linkwarden.rule=Host(`linkwarden.example.com`)
# - traefik.http.services.linkwarden.loadbalancer.server.port=3000
# # Optional part for traefik middlewares
# - traefik.http.routers.linkwarden.middlewares=local-ipwhitelist@file
postgres:
image: docker.io/library/postgres:16-alpine
container_name: linkwarden-psql
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/linkwarden/psql:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${PG_PASS:-linkwarden}
POSTGRES_USER: ${PG_USER:-linkwarden}
POSTGRES_DB: ${PG_DB:-linkwarden}
expose:
- 5432
env_file:
- .env
#networks:
# - internal
meilisearch:
image: getmeili/meilisearch:v1.12.8
container_name: linkwarden-search
restart: unless-stopped
env_file:
- .env
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/linkwarden/meili_data:/meili_data
#networks:
# - internal
#networks:
# tier-2:
# external: true
# internal:
# internal: true