Back to articles
Technology Insight

How to Install and Configure Linkwarden on a VPS: Your Ultimate Self-Hosted Web Archiving and Collaborative Bookmark Manager

May 29, 2026

Introduction to Modern Knowledge Management

In the fast-paced digital economy, information is one of the most valuable assets a business can possess. However, the internet is notoriously ephemeral. Websites change, URLs break, and valuable reference materials disappear overnight—a phenomenon known as link rot. For research teams, digital agencies, and enterprise decision-makers, losing access to critical web resources can disrupt workflows and compromise project integrity.

Standard browser bookmarks are no longer sufficient for professional, collaborative environments. They lack robust search capabilities, offer no protection against dead links, and cannot be easily shared or managed across teams. This is where Linkwarden steps in. Linkwarden is an open-source, self-hosted web archiving and bookmark management platform designed to preserve the web exactly as it appears today. By deploying Linkwarden on a Virtual Private Server (VPS), your organization can establish a centralized, secure, and permanent repository for digital resources.

Why Choose Linkwarden for Web Archiving and Collaboration?

Linkwarden goes far beyond traditional bookmarking tools by focusing on preservation and collaboration. When you save a link to Linkwarden, the system does not just record the URL; it actively captures the page content. Here are the core advantages of integrating Linkwarden into your infrastructure:

  • Automated Formats Preservation: Linkwarden automatically generates a PDF screenshot and a readable text snapshot of every saved webpage, ensuring you retain access to the information even if the original site goes offline.
  • Team Collaboration: Move away from siloed information. Linkwarden allows you to create collaborative collections where team members can view, add, and organize bookmarks with granular, permission-based access control.
  • Tagging and Organization: Keep your digital library structured with multi-layered collections and customizable tags, allowing users to locate critical research documents in seconds.
  • Privacy and Ownership: Hosting Linkwarden on your own VPS ensures that your proprietary research data remains completely under your control, complying with strict corporate data governance policies.

Prerequisites for VPS Deployment

Before initiating the installation process, ensure your infrastructure meets the following baseline requirements to guarantee optimal performance and security:

  1. A Reliable VPS: A server running a clean installation of Ubuntu 22.04 LTS or higher. For small to medium teams, a configuration with 2 vCPUs, 2GB RAM, and ample SSD storage (depending on your archiving needs) is highly recommended.
  2. Domain Name: A fully qualified domain name (FQDN), such as linkwarden.yourcompany.com, pointed to your VPS IP address via an A record.
  3. Docker and Docker Compose: The most efficient way to deploy Linkwarden is via containerization. Ensure Docker Engine and Docker Compose are installed and running on the host system.

Step-by-Step Installation and Configuration Guide

Follow this structured technical guide to install, configure, and secure Linkwarden on your VPS environment using Docker Compose and Nginx as a reverse proxy.

Step 1: System Preparation and Updates

Connect to your VPS via SSH and update the system packages to their latest versions to ensure stability and security patching:

sudo apt update && sudo apt upgrade -y

Ensure that Docker and Docker Compose are installed. If they are not already present on your system, install them using the official Docker repository scripts.

Step 2: Define the Directory Structure and Environment Configurations

Create a dedicated directory for Linkwarden to keep your persistent volume data organized:

mkdir -p ~/linkwarden && cd ~/linkwarden

Next, create a .env file to store crucial environment variables, database credentials, and encryption keys. Security is paramount; ensure you use complex, randomly generated alphanumeric strings for passwords and secret keys:

Security Note: Never use default passwords in a production environment. Use tools like openssl rand -base64 32 to generate secure keys for your deployment.
# Example .env Configuration
DATABASE_URL=postgresql://linkwarden_user:Secure_Password_Here@postgres:5432/linkwarden
NEXTAUTH_SECRET=Your_Generated_Long_Secret_Key
NEXTAUTH_URL=[https://linkwarden.yourcompany.com](https://linkwarden.yourcompany.com)

# Optional: SMTP Configuration for Email Notifications
SMTP_HOST=smtp.yourprovider.com
SMTP_PORT=587
[email protected]
SMTP_PASSWORD=Your_SMTP_Password
[email protected]

# Registration settings
DISABLE_REGISTRATION=false

Step 3: Creating the Docker Compose Manifest

Create a docker-compose.yml file in the same directory. This file defines the microservices structure required by Linkwarden, including the core application container and the PostgreSQL database backend:

version: '3.8'

services:
  postgres:
    image: postgres:16-alpine
    restart: always
    environment:
      POSTGRES_USER: linkwarden_user
      POSTGRES_PASSWORD: Secure_Password_Here
      POSTGRES_DB: linkwarden
    volumes:
      - pgdata:/var/lib/postgresql/data

  linkwarden:
    image: ghcr.io/linkwarden/linkwarden:latest
    restart: always
    env_file:
      - .env
    ports:
      - "3000:3000"
    depends_on:
      - postgres
    volumes:
      - linkwarden_data:/data

volumes:
  pgdata:
  linkwarden_data:

Step 4: Launching the Linkwarden Containers

With your environment variables and compose files properly formatted, execute the following command to download the images and launch the services in detached mode:

sudo docker compose up -d

Verify that both containers are running successfully without errors by inspecting the process statuses:

sudo docker compose ps

Step 5: Configuring Nginx Reverse Proxy and SSL Certificates

To safely expose Linkwarden to the public internet using your domain and to enable HTTPS encryption, you must configure Nginx alongside Let's Encrypt.

Install Nginx and Certbot:

sudo apt install nginx certbot python3-certbot-nginx -y

Create a new Nginx server block configuration for Linkwarden:

sudo nano /etc/nginx/sites-available/linkwarden

Insert the following configuration, adjusting the server name to match your specific FQDN:

server {
    listen 80;
    server_name linkwarden.yourcompany.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Enable the site configuration by creating a symbolic link to the enabled directory, then restart Nginx:

sudo ln -s /etc/nginx/sites-available/linkwarden /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Finally, secure the transport layer with a trusted Let's Encrypt SSL certificate:

sudo certbot --nginx -d linkwarden.yourcompany.com

Follow the interactive prompts to complete the automated SSL provisioning and configuration adjustment.

Post-Deployment Best Practices and Team Onboarding

Once your instance is live, access the web interface via [https://linkwarden.yourcompany.com](https://linkwarden.yourcompany.com). Create your initial administrative account. To ensure long-term stability and compliance with enterprise security baselines, implement the following steps:

1. Lock Down Registrations

Once your core team accounts have been successfully provisioned, navigate back to your .env file, set DISABLE_REGISTRATION=true, and restart the containers via sudo docker compose up -d. This prevents unauthorized public users from creating accounts on your private infrastructure.

2. Establish Browser Extensions and Mobil Integration

To maximize productivity, instruct your team members to install the official Linkwarden browser extension available for Google Chrome, Mozilla Firefox, and Apple Safari. This allows researchers to archive webpages natively with a single click while browsing.

3. Institute Automated Backups

Data persistence is vital. Create a automated cron job script on your VPS to take daily snapshots of the pgdata volume and export the database. Backups should be securely synchronized to an off-site object storage solution (such as AWS S3 or Backblaze B2) to guarantee recovery options in the event of hardware failures.

Conclusion

Deploying Linkwarden on a VPS bridges the critical gap between simple internet bookmarking and enterprise-grade knowledge preservation. By implementing this self-hosted hub, your business takes complete control over its digital research assets, eliminates the threat of link rot, and provides teams with a secure, highly collaborative workspace. With data sovereignty secured and automated web archiving activated, your organization's intellectual foundation remains protected, structured, and instantly accessible for future strategic initiatives.

How to Install and Configure Linkwarden on a VPS: Your Ultimate Self-Hosted Web Archiving and Collaborative Bookmark Manager | DPTCloud