TrueNAS Scale Linkwarden

Last Edit: 2025.11.04

Overview

Setup Linkwarden on TrueNAS Scale.

Assumptions

Storage Configuration

Create a new dataset for Linkwarden to use for persistent storage of page archives. This dataset needs to be read and writable by the apps user. The default ixVolume could be used for Linkwarden storage, but this may not be ideal for users wishing to store archives long-term.

Create Dataset

Navigate to the Datasets tab in the TrueNAS dashboard.

Select the dataset or pool that the new linkwarden dataset should be stored in.

Select Add Dataset within Dataset Details. Configure the new dataset using the wizard.

SettingValueDescription
Parent pathpool01Will be the name of the parent dataset.
NamelinkwardenName of the dataset to create.
CommentsOptional comments for your memory.
SyncInherit (standard)Determines when to wait for data writes to complete.
Compression levelInherit (lz4)Set compression level, LZ4 recommended.
Enable AtimeInherit (off)Update file access time when read.
Encryption OptionsInheritInherit unless the dataset being created needs to have a different key.
ZFS DeduplicationInherit (off)Deduplicate data when stored. Do not use if on a resource-light system.
Case SensitivitySensitiveChoose filename case sensitivity.
Share TypeGenericChange to SMB if required for your application.

Select Save to create the new dataset.

Dataset Permissions

For the Linkwarden app to utilize the created dataset, the permissions for the dataset need to be modified.

Select the created linkwarden dataset and find the Permissions details section.

Edit the permissions to achieve the following. This will allow Linkwarden to access the dataset.

SettingValueDescription
Owner
UserappsMay be replaced by 568, the apps UID, this is acceptable.
Apply UsertrueApply user changes.
GroupappsMay be replaced by 568, the apps GID, this is acceptable.
Apply GrouptrueApply group changes.
Access
UserRead - Write - ExecuteAllow apps user to read, write, and execute (7).
GroupRead - ExecuteAllow apps group to read and execute (5).
OtherNoneDon’t allow any other users to access the dataset. (0).
Advanced
Apply permissions recursivelytrueApply permissions to all dataset files.
Apply permissions to child datasetstrueApply permissions to all child-dataset files.

Select Save to apply the configured permissions.

Install Linkwarden

Navigate to the Applications page in the TrueNAS Scale dashboard, Apps on the main navigation.

Switch to the Available Applications tab in the Applications page.

Using the search tool, find the linkwarden application. Verify Linkwarden is from the TrueNAS catalog and is on the Community train.

Select Install to begin configuration and installation of the application. Configuration options not mentioned in this section can be left as default.

Application Name

SettingValueDescription
Application NamelinkwardenName for the application.
Version Number#.#.#Version to use, latest by default.

Linkwarden Configuration

SettingValueDescription
Postgres ImagePostgres 17On new installations, use Postgres 17. If importing an existing Postgres 15 database, use Postgres 15 until ready to upgrade. Database upgrades are one-way.
Database PasswordGenerated-Secure-PasswordGenerate a secure database password.
NextAuth SecretGenerated-Random-StringGenerate a random string, minimum 64 characters.
Meilisearch Master KeyGenerated-Random-StringGenerate a random string, minimum 64 characters.

Network Configuration

SettingValueDescription
Port Bind ModePublish port on the host for external accessPublish the port for external access.
WebUI Port30243Port Linkwarden service will be exposed on.
Host IPs0.0.0.0Optionally, specify a Host IP. If there is a dedicated local network interface for containers, specify that address here.

Storage Configuration

The following configuration assumes the previously created Linkwarden dataset will be used. To continue with an ixVolume, just leave the values as default.

SettingValueDescription
Data Storage/mnt/pool01/linkwardenSelect the created linkwarden dataset from the stroage pool as a Host Path. If no dataset was created, use the default ixVolume.
Meilisearch Data StorageixVolumeMeilisearch storage location.
Postgres Data StorageixVolumePostgres storage location.

Resources Configuration

SettingValueDescription
CPU Limit1Configure a CPU thread limit for the application. 1 should be adequate for small deployments.
Memory Limit2048Memery limit in megabytes. 2 gigabytes should be adequate for small deployments.

Install

Verify you have checked the TrueNAS documentation for Linkwarden and Install. The application will complete installation and deploy. Navigate to the Applications tab to monitor the status.

NPM Proxy Host

Add a Nginx Proxy Manager proxy host for the Linkwarden service.

From the Nginx Proxy Manager dashboard, select Proxy Hosts under Hosts.

Select Add Proxy Host from the Proxy Hosts dashboard.

Proxy Host Details

Configure the new proxy host details.

SettingValueDescription
Domain Nameslinkwarden.system.example.comHostname used to access Linkwarden, must have a matching DNS record.
Forward Hostname / IP172.16.13.13Use the IP addess of the host server. The loopback address will not work.
Forward Port30243Use the mapped service port, not the internal Docker port.
Cache Assetsfalse
Block Common Exploitstrue
Websockets Supportfalse
Access ListlocalOptionally, use the configured access list to limit devices that can connect.

Proxy Host SSL

Switch to the SSL tab for the new proxy host and configure it to use the generated certificate.

SettingValueDescription
SSL Certificate*.system.example.comUse the generated certificate.
Force SSLtrue
HTTP/2 Supporttrue
HSTS Enabledtrue
HSTS Subdomainstrue

Nginx proxy host SSL.

Proxy Host Connect

Save the new proxy host and view the added host in the proxy hosts list.

If a local DNS server is setup, verify there is a wildcard entry for the local server or create one specifially for Linkwarden.

If there is no local DNS server yet, add a custom host entry to /etc/hosts.

sudo nano /etc/hosts

Add the required domain(s) and point them to the host server IP address.

172.16.13.13 system.example.com
172.16.13.13 npm.system.example.com
172.16.13.13 linkwarden.system.example.com

Navigate to the Linkwarden service with the configured domain, no port required if Nginx Proxy Manager was assigned port 80/443.

https://linkwarden.system.example.com/

Connect

Initial deployment may take a few minutes. Connect to the Linkwarden service in a browser at the configured domain, https://linkwarden.system.example.com/. A login screen will be presented, but there is not a default login, new user accounts must be created.

Linkwarden has no users by default. Create a new Linkwarden user by selecting Sign Up on the login page. Enter a Display Name, Username, and Password on the account creation page and Sign Up.

Linkwarden login page.

Login to the newly created account, the Linkwarden dashboard will be presented. All users have the same permissions on the Linkwarden application, be aware if creating multiple users.

Linkwarden dashboard.

Settings

Review a few settings to configure Linkwarden for the given use case. Access the Settings page from the avatar in the upper right. Make sure to Save Changes manually, they will not save automatically. A couple notable settings are detailed below.

Preference

From the Preference settings page, review the Archive Settings. Consider defining archive formats for a Preservation rules by tag tag to limit which saved links get archived.

Linkwarden dashboard.

RSS Subscriptions

Linkwarden supports RSS feeds as defined from the RSS Subscriptions page. Select New RSS Subscription and enter the feed details. Feeds can be automatically sorted into collections.

FeedLink
NASA - ISShttps://www.nasa.gov/missions/station/feed/
NASA - JPLhttps://www.nasa.gov/centers-and-facilities/jpl/feed/
NASA - News Releasehttps://www.nasa.gov/news-release/feed/
NASA - Technologyhttps://www.nasa.gov/technology/feed/
PBS - USA Newshttps://www.pbs.org/newshour/feeds/rss/headlines

References

1 2 3 4 5 6 7


  1. iXsystems. “TrueNAS Documentation.” 2025. ↩︎

  2. iXsystems. “TrueNAS Linkwarden Documentation.” 2025. ↩︎

  3. Linkwarden. “Linkwarden Documentation.” 2025. ↩︎

  4. Linkwarden. “Linkwarden GitHub.” 2025. ↩︎

  5. iXsystems. “TrueNAS Nginx Proxy Manager Documentation.” 2025. ↩︎

  6. Nginx Proxy Manager. Nginx Proxy Manager Documentation. 2024. ↩︎

  7. Nginx Proxy Manager. “Nginx Proxy Manager GitHub.” 2024. ↩︎