{"title":"Install Linkwarden: Self-Hosted Bookmark Manager on Synology","byline":null,"dir":null,"lang":null,"content":"
Managing bookmarks can often be a hassle, especially when you’re trying to sync them across multiple browsers and devices. Enter Linkwarden, a robust open-source self-hosted bookmark manager that puts you in control of your digital resources. If you have a Synology NAS at your disposal, you’re in luck. You can set up Linkwarden on your device, ensuring that your bookmarks are private and accessible from anywhere. Let’s walk through the installation process.
\nA bookmark manager, as the name suggests, helps you manage your web bookmarks. It takes your pile of links, some new, some long lost under an avalanche of data, and presents them to you in an easily navigable format. From categorizing to sorting, a bookmark manager’s job is to turn your bookmark chaos into an organized symphony.
\nFirst official release
New archivable format: Readable view, Full text search functionality, Rename and Remove Tags functionality, Recent Links in dashboard, Added rearchive functionality, Delete profile functionality, Increased max import size, Added indicators for public collections, Seperated owned/member collections, Refactored API routes, Bug fixes, security patches, and optimizations, ...
Much Improved Design, All Bookmarks Now Get Archived, Archive Formats Other Than Webpages, Added Compact List View, Enhanced User Experience, ...
Linkwarden is fairly new to the bookmark manager scene, but it’s already making waves and gaining popularity.
\nLinkwarden presents a variety of features to its users. It’s got an intuitive design, allowing you to create, check, and manage bookmarks with ease. Collaborative bookmarking is another top feature, enabling you to share your bookmarks with colleagues or friends.
\nLinkwarden makes it a breeze to save, store, and categorize webpages all in one central hub. You can collect links from any browser with just a few clicks, organize your links with custom tags and folders, and create collections to group related links, ensuring a clutter-free and intuitive bookmark management experience.
\nLinkwarden allows you to view and preserve the webpages you’ve organized, ensuring you never have to worry about broken links again. It can auto-capture a copy of each webpage as a screenshot (.png) and a PDF, and allows you to download your archived webpages for offline access.
\nLinkwarden isn’t just for personal use. It’s the perfect tool to supercharge your collaboration efforts, making teamwork smoother and more efficient. You can invite team members to collaborate on shared collections, assign customizable permissions, and easily share curated collections with the public.
\nLinkwarden is open source and fully self-hostable, with its entire source code published to GitHub. It’s privacy-friendly, responsive, and supports both dark and light modes. You can pin your favorite webpages to the dashboard, search and filter all your curated contents across all your collections effortlessly, and collect webpages directly from your browser with its open-source extension for Chrome / Chromium based or Firefox. Plus, you can easily import or export all your bookmarks from/to other platforms.
\nNow, why should you want to install an open-source bookmark manager and use it as a self-hosted solution? The advantage is obvious: control. A self-hosted bookmark manager empowers you to keep hold of your data, protecting you from third-party intervention.
\nBefore diving into the installation, ensure that your Synology NAS meets the following requirements:
\nIf you haven’t already, you’ll need to install Docker and Portainer on your Synology NAS. You can find detailed instructions on how to do so in my Synology Setup Guide. Make sure that you don’t block internal requests in your firewall settings.
\nFirst, you’ll need to create a directory for Linkwarden. Open File Station and create two new folders where you want to save your Linkwarden data. I called mine data and db. You can name them whatever you want.

Make sure that you have read and write permissions for both folders. Note down the path to your folders. You’ll need it later:
\n
Next, you’ll need to create a Docker stack in Portainer. Open Portainer and navigate to Stacks in the left sidebar. Click on Add stack in the top right corner.

Now, you’ll need to configure the Docker stack. Enter a name for your stack. I called mine linkwarden. Then, paste the following code into the Web editor:
version: \"3.5\"\nservices:\n linkwarden:\n environment:\n - DATABASE_URL=postgresql://linkwarden:9aGnTqvEs6BPXEl@linkwarden-db:5432/linkwarden-db\n - NEXTAUTH_SECRET=q013hX949bW6uXf\n - NEXTAUTH_URL=https://linkwarden.yourdomain.com\n # - NEXT_PUBLIC_DISABLE_REGISTRATION=true\n restart: always\n image: ghcr.io/linkwarden/linkwarden:latest\n ports:\n - 3333:3000\n volumes:\n - /volume1/docker/linkwarden/data:/data/data\n depends_on:\n - linkwarden-db\n linkwarden-db:\n container_name: linkwarden-db\n image: postgres:15\n environment:\n POSTGRES_DB: \"linkwarden-db\"\n POSTGRES_PASSWORD: \"9aGnTqvEs6BPXEl\"\n POSTGRES_USER: \"linkwarden\"\n restart: always\n volumes:\n - /volume1/docker/linkwarden/db:/var/lib/postgresql/data\n\nReplace the following values:
\nPOSTGRES_PASSWORD: Replace 9aGnTqvEs6BPXEl at both occurrences with a secure password of your choice.NEXTAUTH_SECRET: Replace q013hX949bW6uXf with a secure password of your choice.NEXTAUTH_URL: Replace https://linkwarden.yourdomain.com with the URL you want to use to access Linkwarden. If you don’t have a domain name, you can use your local IP address instead. If you don’t want to use SSL, replace https with http. If you don’t want a custom URL, use http://localhost:3000 instead.volumes: Replace /volume1/docker/linkwarden/data with the path to your data folder. Replace /volume1/docker/linkwarden/db with the path to your db folder.ports: Replace 3333 with the port you want to use to access Linkwarden. If the reverse proxy is installed on the same device, you don’t have to publish any ports.Configure the reserve proxy if you want to use a custom URL and/or SSL.
\nNow, you’ll need to create a Linkwarden admin account. After the container starts, open a web browser and type in your NAS IP address followed by the assigned port number http://ip-address-of-your-synology:3333 or your domain. You’ll be greeted by the Linkwarden login screen:

Click on Sign up and create a new account. Then, log in with your new account.
If this doesn’t work, you might have to check your NEXTAUTH_URL again. Make sure it’s http instead of https if you don’t use SSL.
After logging in, you’ll find yourself on the Linkwarden dashboard.
\nClick on the profile icon in the top right corner to open the settings.
\n
Under “Profile Visibility” select “Make profile private” and click on “Save”.
\n
Do you want to prevent other users from registering? Go back to the Portainer stack and uncomment the following line:
\n- NEXT_PUBLIC_DISABLE_REGISTRATION=true\n\nThe boolean is case sensitive. Make sure it’s true and not True or TRUE. Then, restart the stack.
Try to register a new account. You should see the an error 400: “Registration is disabled” at the end of the registration process.
\nYou can import your bookmarks from a bookmark html file. These files are usually exported from your browser.\nYou can also import a json file from Linkwarden or another bookmark manager.
\nYou can find the export functionality in the profile settings.
\nYou can also add bookmarks manually by clicking on the plus icon in the top right corner.
\nThis will save the bookmark to a selected collection and generate a screenshot and a PDF of the webpage (you can disable this feature in the settings). Furthermore, you can add tags to your bookmarks to categorize them.
\n
Update the stack and select Re-pull image and redeploy to update Linkwarden. Don’t update Postgres to a newer major version without a migration plan.data and db folders you created in Step 1.Congratulations! You’ve taken a significant step towards managing your bookmarks more effectively with Linkwarden on your Synology NAS. With your bookmarks now self-hosted, you can enjoy enhanced privacy and convenience. Remember, the key to a successful installation is following each step carefully and not rushing the process. Happy bookmarking!