Linkwarden is a self-hosted tool for saving and archiving web pages with full content snapshots. It ensures that saved pages remain accessible even if the original source goes offline. You can tag, search and categorize links for easy retrieval. Great for researchers, writers, or digital hoarders, it acts as a private Wayback Machine. It also supports browser extensions for one-click saving.

Setup

docker-compose.yaml

version: "3.5"

networks:
  docker_net:
    external: true

volumes:
  pgdata:
  data:

services:
  postgres:
    image: postgres:16-alpine
    container_name: linkwarden_db
    restart: unless-stopped
    environment:
      - POSTGRES_PASSWORD=$POSTGRES_PASSWORD
    volumes:
      - pgdata:/var/lib/postgresql/data
    networks:
      - docker_net

  linkwarden:
    image: ghcr.io/linkwarden/linkwarden:latest
    container_name: linkwarden
    restart: unless-stopped
    environment:
      - DATABASE_URL=postgresql://postgres:$POSTGRES_PASSWORD@postgres:5432/postgres
      - NEXTAUTH_SECRET=$NEXTAUTH_SECRET
      - DISABLE_NEW_SSO_USERS=true
      - NEXT_PUBLIC_DISABLE_REGISTRATION=true
      - NEXT_PUBLIC_CREDENTIALS_ENABLED=true
      - NEXTAUTH_URL=$NEXTAUTH_URL
      - NEXTAUTH_URL_INTERNAL=$NEXTAUTH_URL_INTERNAL
    ports:
      - 3100:3000
    volumes:
      - data:/data/data
    networks:
      - docker_net
    depends_on:
      - postgres

Sources