"vault backup: 2026-03-08 13:41:28 from Flow"
This commit is contained in:
75
21-Server Reference/homelab/stacks/linkwarden.md
Normal file
75
21-Server Reference/homelab/stacks/linkwarden.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# Linkwarden
|
||||
|
||||
Self-hosted bookmark manager with link archiving.
|
||||
|
||||
## Access
|
||||
- **Tailscale:** [linkwarden.bunny-wyvern.ts.net](https://linkwarden.bunny-wyvern.ts.net)
|
||||
- **LAN:** `http://192.168.2.114:5001`
|
||||
|
||||
## Containers
|
||||
|
||||
| Container | Image | Role |
|
||||
|---|---|---|
|
||||
| `linkwarden` | `ghcr.io/linkwarden/linkwarden:latest` | Web app |
|
||||
| `linkwarden-db` | `postgres:16-alpine` | PostgreSQL database |
|
||||
| `linkwarden-tailscale-sidecar` | `tailscale/tailscale:latest` | Tailscale node |
|
||||
|
||||
## Compose File
|
||||
**Path:** `/home/artanis/DockerFiles/linkwarden/docker-compose.yml`
|
||||
|
||||
```yaml
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
container_name: linkwarden-db
|
||||
restart: always
|
||||
pull_policy: always
|
||||
volumes:
|
||||
- /home/artanis/DockerFiles/linkwarden/pgdata:/var/lib/postgresql/data
|
||||
|
||||
linkwarden:
|
||||
container_name: linkwarden
|
||||
image: ghcr.io/linkwarden/linkwarden:latest
|
||||
restart: always
|
||||
pull_policy: always
|
||||
ports:
|
||||
- 5001:3000
|
||||
volumes:
|
||||
- /home/artanis/DockerFiles/linkwarden/data:/data/data
|
||||
environment:
|
||||
- DATABASE_URL=postgresql://postgres:<redacted>@postgres:5432/postgres
|
||||
- NEXTAUTH_URL=https://linkwarden.bunny-wyvern.ts.net/api/v1/auth
|
||||
- NEXTAUTH_SECRET=<redacted>
|
||||
depends_on:
|
||||
- postgres
|
||||
|
||||
linkwarden-tailscale-sidecar:
|
||||
image: tailscale/tailscale:latest
|
||||
container_name: linkwarden-tailscale-sidecar
|
||||
restart: unless-stopped
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
devices:
|
||||
- /dev/net/tun
|
||||
volumes:
|
||||
- linkwarden_tailscale_state:/var/lib/tailscale
|
||||
environment:
|
||||
- TS_AUTHKEY=<redacted>
|
||||
- TS_HOSTNAME=linkwarden
|
||||
- TS_STATE_DIR=/var/lib/tailscale
|
||||
network_mode: "service:linkwarden"
|
||||
|
||||
volumes:
|
||||
linkwarden_tailscale_state:
|
||||
```
|
||||
|
||||
## Data Layout
|
||||
|
||||
| Path | Contents |
|
||||
|---|---|
|
||||
| `/home/artanis/DockerFiles/linkwarden/pgdata` | PostgreSQL data directory |
|
||||
| `/home/artanis/DockerFiles/linkwarden/data` | Linkwarden app data (archived pages, assets) |
|
||||
|
||||
## Notes
|
||||
- `NEXTAUTH_URL` must point to the Tailscale URL for auth to work correctly
|
||||
- A Meilisearch service was previously considered (commented out in compose) but not deployed
|
||||
Reference in New Issue
Block a user