ddc02bf9b0 | ||
---|---|---|
.github | ||
api | ||
assets | ||
public | ||
src | ||
.dockerignore | ||
.env | ||
.env.sample | ||
.gitignore | ||
Dockerfile | ||
Dockerfile.prod | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
docker-compose.yml | ||
package-lock.json | ||
package.json |
Note: I'm doing a full rebuild of this project with much more features... Committing to the ver3 branch, stay tuned!
LinkWarden
A place for your useful links.
Demo (v1.0.0) | Intro & Motivation | Features | Roadmap | Setup | Development
Intro & Motivation
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.
Features
-
📷 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.
Installation
Using Docker Compose V2 (Recommended)
-
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.
Configuration
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.
Manual Setup
-
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.
LinkWarden Development
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).