Faved is a simple self-hosted web application to store and organise web links. All data is stored locally.
100% free and open source. No ads, tracking, or data collection.
🧪 Try Live Demo | 🌐 Visit Website | 📚 Read Blog | 𝕏 Follow on X

- Clean Interface: A distraction-free UI to help you quickly find and manage your bookmarks.
- Advanced tagging system: Organize bookmarks with colored nested tags. Pin important tags at the top for quick access.
- Browser bookmarklet: Save bookmarks from any desktop or mobile browser without installing any extensions.
- Lightweight and swift: Built with efficiency in mind, Faved loads fast and runs with minimal resource usage.
- One-click migration from Pocket: easily move your saved links, tags, collections and notes from Pocket by uploading the exported ZIP file.
- Open Source: The code is open for you to inspect, modify, and contribute to.
- Docker
docker pull denho/faved
docker run -d --name faved -p 8080:80 -v faved-data:/var/www/html/storage denho/faved
This command will:
- Run the container in the background (
-d
). - Name the container
faved
(--name faved
). - Map port
8080
on your host to port80
inside the container (-p 8080:80
). You can change8080
to any port you prefer. - Create and mount a named volume called faved-data to application storage directory inside the container (
-v faved-data:/var/www/html/storage
).
Once the container is running, you can access the Faved application in your web browser at http://localhost:8080.
The first time you visit, you'll be prompted to set up the database. Just click "Create Database" to proceed and finish the installation.
mkdir faved-app
cd faved-app
2. Copy the docker-compose.yml
file from this repository to your new directory
curl -O https://raw.githubusercontent.com/denho/faved/refs/heads/main/docker-compose.yml
By default, the application will run on port 8080
. When you are installing on a server, you probably want to use port 80.
If you want to change the default port, create an .env
file with the corresponding environmental variables, like this (change the port to the desired one):
echo 'PORT=80' >> .env
If you are planning to use your own domain with an SSL, also add the following variable:
echo 'SSL_PORT=443' >> .env
docker compose up -d
If you are planning to use your own domain with an SSL, run the following command to install a Let's Encrypt certificate (replace yourdomain.com
with your domain name):
docker compose exec -it apache-php sh -c "certbot --apache -d yourdomain.com"
Once the container is running, you can access the Faved application in your web browser under the local or remote address and the port you've set up.
Typically, the URL will be:
- http://localhost:8080 for a local installation (if you changed the default port number, replace
8080
with the port you've set) - https://example.com for a server installation with a domain and SSL enabled
- http://206.189.108.11 for a server installation without a domain (replace
206.189.108.11
with your actual server IP address)
The first time you visit, you'll be prompted to set up the database. Just click "Create Database" to proceed and finish the installation.
docker pull denho/faved
docker stop faved
docker rm faved
If you changed the container name during installation, replace faved
with the name you used.
docker run -d --name faved -p 8080:80 -v faved-data:/var/www/html/storage denho/faved
1. Pull the latest docker-compose.yml
file from this repository to your Faved instance directory
cd faved-app
rm docker-compose.yml
curl -O https://raw.githubusercontent.com/denho/faved/refs/heads/main/docker-compose.yml
docker compose up --pull always -d

- Navigate to Bookmarklet section in the application Settings.
- Look for the bookmarklet link "Add to Faved".
- Drag the bookmarklet link to your browser's bookmarks bar.
- When browsing the web, click the bookmarklet on any page you want to save.
- The form to add the web page to Faved will open.
- Add tags and notes as desired, then save.
/controllers
: Application controllers/frontend
: React frontend source files/framework
: Core framework components/models
: Data models/public
: Web-accessible files/storage
: Database storage/utils
: Utility classes/views
: HTML templates
This project is licensed under the MIT License.
Faved uses only open source packages:
- React, Tailwind, Shadcn UI and Vite for the frontend.
- PHP 8, SQLite and Apache for the backend.