Back to articles
Technology Insight

Self-Hosting Linkwarden on a VPS: The Ultimate Collaborative Web Archiving and Bookmark Management Solution for Teams

May 29, 2026

Introduction: The Cost of Link Rot in Modern Business

In today's digital landscape, information is a core asset. Teams spend countless hours researching competitors, gathering market intelligence, and curating reference materials. However, a silent threat jeopardizes this collective knowledge: link rot. Studies show that a significant percentage of web pages disappear or change content within a few years of being published. Relying on standard browser bookmarks is no longer sufficient for professional teams who need permanent access to critical data.

Enter Linkwarden—an open-source, self-hosted web archiving and bookmark management platform designed specifically for collaboration. Unlike traditional bookmark managers, Linkwarden does not just save a URL; it captures a snapshot of the entire webpage as a PDF or screenshot, ensuring your team retains the information even if the original site goes offline. This guide provides a step-by-step technical walkthrough to install, configure, and secure Linkwarden on a Virtual Private Server (VPS) for your organization.

Why Choose Linkwarden for Your Team?

Before diving into the technical deployment, it is essential to understand why Linkwarden stands out as an enterprise-grade solution:

  • Total Data Ownership: By self-hosting on your own VPS, you maintain absolute control over your team's intellectual property and browsing data, complying with modern privacy standards.
  • Automated Web Archiving: Linkwarden automatically generates a preserved format (PDF, screenshot, or readable text Monolith file) of every saved webpage.
  • Collaborative Workspaces: Organize bookmarks into "Collections" and share them with specific team members with granular permission controls (Owner, Maintainer, Guest).
  • Robust API and Extensions: Integrates seamlessly into daily workflows via official browser extensions (Chrome, Firefox, Edge) and a well-documented REST API.
---

Prerequisites and System Requirements

To ensure a smooth deployment, your infrastructure should meet the following minimum requirements:

  • VPS Hosting: A virtual private server running a clean installation of Ubuntu 22.04 LTS or higher.
  • Hardware Specifications: At least 2 vCPUs, 2GB of RAM, and sufficient SSD storage (dependent on the volume of web pages you intend to archive; 20GB+ recommended).
  • Domain Name: A registered domain or subdomain (e.g., linkwarden.yourcompany.com) with an A record pointing to your VPS IP address.
  • Docker Ecosystem: Docker Engine and Docker Compose installed on the host machine.
---

Step 1: Preparing the VPS Environment

First, log into your VPS via SSH and update the system packages to ensure all security patches are applied:

sudo apt update && sudo apt upgrade -y

Next, install the necessary dependencies, including Docker and Docker Compose, if they are not already present on your system:

sudo apt install curl git docker.io docker-compose-v2 -y
sudo systemctl enable --now docker
---

Step 2: Deploying Linkwarden via Docker Compose

Deploying Linkwarden using Docker Compose is the most efficient and maintainable method. It isolates the application, its database, and its background workers into structured containers.

1. Clone the Official Repository

Navigate to your preferred installation directory and clone the Linkwarden repository:

cd /opt
sudo git clone [https://github.com/linkwarden/linkwarden.git](https://github.com/linkwarden/linkwarden.git)
cd linkwarden

2. Configure Environment Variables

Linkwarden utilizes an environment file to manage sensitive configurations such as database credentials and security keys. Copy the provided sample file to create your active configuration:

cp .env.sample .env

Open the .env file using a text editor like nano to modify the essential variables:

nano .env

Ensure you update the following fields with secure values:

CRITICAL SECURITY NOTE: Never leave the default database passwords intact when deploying to a production VPS exposed to the internet. Always generate high-entropy strings for your keys.
  • NEXTAUTH_SECRET: Generate a random 32-character string using openssl rand -base64 32.
  • NEXT_PUBLIC_APP_URL: Set this to your full domain (e.g., [https://linkwarden.yourcompany.com](https://linkwarden.yourcompany.com)).
  • POSTGRES_PASSWORD: Establish a strong, unique password for the backend PostgreSQL database.

3. Launch the Containers

With the environment variables securely configured, initialize the multi-container setup in detached mode:

sudo docker compose up -d

Verify that all containers (the web app, the database, and the browserless instance used for archiving) are running successfully:

sudo docker compose ps
---

Step 3: Setting Up Reverse Proxy and SSL with Nginx

Running Linkwarden directly on public ports is not recommended for production environments. To secure connection data and manage traffic efficiently, we will set up Nginx as a reverse proxy coupled with Let's Encrypt for automatic SSL certificates.

1. Install Nginx and Certbot

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

2. Configure the Nginx Block

Create a new configuration file for your Linkwarden instance:

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

Insert the following configuration, replacing linkwarden.yourcompany.com with your actual domain:

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

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        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;
    }
}

3. Enable the Site and Apply SSL

Activate the configuration by creating a symlink to the enabled sites directory, test the Nginx configuration, and reload the service:

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

Now, secure the connection with an SSL certificate using Certbot:

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

Follow the on-screen prompts to complete the certificate acquisition and automatic HTTPS redirection setup.

---

Step 4: Initial Dashboard Configuration and Team Setup

Now that your instance is securely accessible via HTTPS, open your web browser and navigate to [https://linkwarden.yourcompany.com](https://linkwarden.yourcompany.com).

On your first visit, you will be prompted to create the administrative account. Provide a strong password and a valid email address. This account will serve as the master administrator for your company's instance.

Structuring Workspaces for Your Organization

To maximize efficiency, structure your Linkwarden instance using the following hierarchical approach:

  1. Create Collections: Designate collections based on departments or active projects (e.g., "Marketing Research", "DevOps Documentation", "Competitor Analysis").
  2. Invite Team Members: Navigate to settings, manage users, and invite team members. Assign them specific roles based on operational needs.
  3. Deploy Browser Extensions: Mandate that team members install the official Linkwarden extension. This allows them to archive any webpage seamlessly with a single click during their daily workflows.
---

Conclusion: Future-Proofing Your Team's Knowledge Base

Deploying Linkwarden on a private VPS provides your enterprise with a centralized, secure, and immune-to-rot knowledge station. Your team no longer runs the risk of losing valuable web assets to broken links or altered web page states. With full control over your hosting infrastructure, robust collaborative structures, and automated archival outputs, your business is fully equipped to preserve its digital footprint and research history efficiently.

Self-Hosting Linkwarden on a VPS: The Ultimate Collaborative Web Archiving and Bookmark Management Solution for Teams | DPTCloud