A self-hosted bookmark + archive manager to store your useful links.
Deploy this app to Linode with a free $100 credit!
Note: I'm doing a full rebuild of this project with much more features... Committing to the ver-3 branch, stay tuned!
LinkWarden is a self-hosted, open-source bookmark + archive manager to collect, and save websites for offline use.
The objective is to have a self-hosted place to keep useful links in one place, and since useful links can go away (see the inevitability of Link Rot), LinkWarden also saves a copy of the link as screenshot and PDF.
📷 Auto-capture a screenshot and PDF from each website.
🔥 Sleek, minimalist design.
🌤 Dark/Light mode support.
↔️ Responsive design.
🔎 Search, filter and sorting functionality.
🚀 Lazy loading (for better performance).
🏷 Set multiple tags to each link.
🗂 Assign each link to a collection where we can further group links.
Make sure docker is installed.
Clone this repository.
Head to the main folder and run docker compose up -d
.
The app will be deployed on port 3000.
To configure the app create a .env
file (in the main folder), here are the available variables:
CLIENT_PORT=2500 # Default: 3000
API_PORT=5700 # Default: 5500
API_ADDRESS=192.168.1.14 # Default: localhost
If you want to use this app across the network set
API_ADDRESS
as the computer (where LinkWarden is hosted) IP address.
Make sure your MongoDB database and collection is up and running.
Edit URI, Database name and Collection name accordingly.
[Optional] If you want to use this app across the network change API_HOST
address with the computer IP and API port.
Head to the main folder using terminal and run: (cd api && npm install) && npm install --legacy-peer-deps
for the dependencies.
Run npm start
to start the application.
All contributions are welcomed! But first please take a look at how to contribute.
For questions/help, feature requests and bug reports please create an issue (please use the right lable).
Please login to review this project.
No reviews for this project yet.
Comments (0)
Please login to join the discussion on this project.