https://github.com/beromir/servas
A self-hosted bookmark management tool.
https://github.com/beromir/servas
bookmark-manager inertiajs laravel php self-hosted selfhosted sveltejs tailwindcss webapp
Last synced: 11 days ago
JSON representation
A self-hosted bookmark management tool.
- Host: GitHub
- URL: https://github.com/beromir/servas
- Owner: beromir
- License: gpl-3.0
- Created: 2022-05-11T08:03:16.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-14T16:43:38.000Z (12 days ago)
- Last Synced: 2025-04-14T17:47:45.767Z (12 days ago)
- Topics: bookmark-manager, inertiajs, laravel, php, self-hosted, selfhosted, sveltejs, tailwindcss, webapp
- Language: Svelte
- Homepage: https://servas.app
- Size: 9.85 MB
- Stars: 653
- Watchers: 6
- Forks: 31
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Servas
A self-hosted bookmark management tool.
Servas is based on Laravel and Inertia.js and uses Tailwind CSS and Svelte for the frontend.
## Features
- **Tags:** Organize your bookmarks with tags.
- **Groups:** Group your bookmarks. Groups can be nested.
- **Smart Groups:** Group your bookmarks based on their belonging tags.
- **Firefox and Chrome browser extension:** Add sites to Servas right from your browser.
- **Multiple users:** You can create multiple user accounts.
- **Responsive design:** Servas looks good on all your devices.
- **Dark/light theme.**
- **Two Factor Authentication available.**## How to install
### Docker
Servas is available as an [official Docker image](https://hub.docker.com/r/beromir/servas).
The preferred way to use Servas is with **SQLite**. This variant does not need an additional database container.
You can find the example files here:- [compose.yaml](docker/compose.prod.yaml)
- [.env](docker/.env.prod.example)The Docker image also supports **MySQL** and **MariaDB**.
You can find the example files here:- [compose.yaml](docker/mariadb-example/compose.prod.yaml)
- [.env](docker/mariadb-example/.env.prod.example)**Initial steps:**
1. Create `.env` file in the directory where the `compose.yaml` is located.
2. Copy the content of the example env file into the `.env` file.
3. Change the `APP_URL`.
4. Use a strong password for the `DB_PASSWORD` setting (only required if Servas is used with MariaDB).
5. Start the containers with `docker compose up -d`.
6. Generate the application key:```shell
docker exec -it servas php artisan key:generate --force
```7. Restart the containers with `docker compose restart`.
8. Open your browser and create a user account at https://your-servas-instance/register.### Manual
**Requirements:**
- PHP 8.3
- MariaDB, MySQL or SQLite
- Git
- Node.js
- Composer1. Clone the repo.
2. Install the Composer packages.```shell
composer install --optimize-autoloader --no-dev
```3. Install the npm packages.
```shell
npm install
```4. Compile the assets.
```shell
npm run build
```5. Create `.env` file from the `.env.example` file.
6. Change the settings in the `.env` file according to your needs.
7. If you are using SQLite, you must remove the MySQL section in the `.env` file and uncomment the SQLite section.
8. Run the database migrations.```shell
php artisan migrate
```9. Generate the application key.
```shell
php artisan key:generate
```## Configuration
You can change some application settings in the `.env` file.
| Description | `.env` key | Options |
|:---------------------------------------------|:-----------------------------|:---------------|
| Enable/Disable user registration | `SERVAS_ENABLE_REGISTRATION` | `true`/`false` |
| Show/Hide version number in profile dropdown | `SERVAS_SHOW_APP_VERSION` | `true`/`false` |After making changes to the `.env` file, you must restart the application container.
## User Guide
Register a new user at https://your-servas-instance/register.
## Browser Extensions
**Firefox and Chrome:** https://github.com/beromir/servas-extension
## Screenshots
Links view:
Groups view:
New link modal:
Command palette:
