Linkwarden – Bookmark and Archive Webpages

Linkwarden is an self-hosted bookmark manager that allows you to bookmark, save, organize and archive webpages that you want to revisit at some point.

The idea behind Linkwarden is that you safely save webpages / articles that are useful and you want to read again at some point. Linkwarden will allow you to save and organize those links but also if something happens and the website gets deleted you will safely have archived the webpage in various formats such as PDF, Screenshot and Readable formats.

Table of Contents

My Deployment

We will need to create a docker-compose.yml and .env file where wei will be passing couple enviroment variables to our container.

First we I will be creating a folder name homepage where we want our docker container data to be stored and then enter that container.

mkdir homepage
cd homepage

Then we will need to create our docker-compose.yaml

nano docker-compose.yaml

Then you can copy and paste the following into your yaml file.

version: "3.5"
services:
  postgres:
    image: postgres:16-alpine
    env_file: .env
    restart: always
    volumes:
      - ./pgdata:/var/lib/postgresql/data
  linkwarden:
    env_file: ./.env
    environment:
      - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
    restart: always
    # build: . # uncomment this line to build from source
    image: ghcr.io/linkwarden/linkwarden:latest # comment this line to build from source
    ports:
      - 3000:3000
    volumes:
      - ./data:/data/data
    depends_on:
      - postgres

Then we need to create our .env file.

touch .env
nano .env

Make sure you have the correct URL in the NEXTAUTH_URL so you will not run into any backend issues.
Also need to change “Password” for the NEXTAUTH_SECRET and POSTGRES_PASSWORD to fit your needs

NEXTAUTH_URL=http://linkwarden.mydomain.com/api/v1/auth
NEXTAUTH_SECRET=Password
# Database settings
POSTGRES_PASSWORD=Password

One you have made all the changes you want in the yaml and .env file we will need to compose and spin up our container.

docker compose up -d

Now should be able to access from your web browser your Linkwarden. You will need to create an account and the first account you will create will also be an admin account.

Final Words

Now go ahead and feel free to start saving your favorite articles / guides into your Linkwarden instance and have no fear of not finding that site or information ever again.