Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 2 months 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 (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T16:29:02.000Z (8 months ago)
- Last Synced: 2024-04-14T06:54:14.756Z (8 months ago)
- Topics: bookmark-manager, inertiajs, laravel, php, self-hosted, selfhosted, sveltejs, tailwindcss, webapp
- Language: Svelte
- Homepage: https://servas.app
- Size: 9.49 MB
- Stars: 480
- Watchers: 6
- Forks: 23
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-homelab - Servas - hosted bookmark management tool. | (Apps / KnowledgeBase)
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.![](./docs/images/home.png "Home view")
## Features
- **Tags:** Organize your bookmarks with tags.
- **Groups:** Group your bookmarks. Groups can be nested.
- **Later list:** Add bookmarks to the "later list" to access them later.
- **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.
- **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 in combination with a **MariaDB** container.
You can find the example files here:- [docker-compose.yaml](./docker/docker-compose.prod.yaml)
- [.env](./docker/.env.prod.example)The Docker image also supports **SQLite**. This variant does not need an additional database container.
You can find the example files here:- [docker-compose.yaml](./docker/sqlite-example/docker-compose.prod.yaml)
- [.env](./docker/sqlite-example/.env.prod.example)**Initial steps:**
1. Create `.env` file in the directory where the `docker-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.1
- 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` |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:** https://github.com/beromir/servas-firefox-extension
**Chrome:** https://github.com/beromir/servas-chrome-extension## Screenshots
Links view:
![](./docs/images/links.png "Links view")Groups view:
![](./docs/images/groups.png "Groups view")New link modal:
![](./docs/images/new-link.png "New link modal")Command palette:
![](./docs/images/command-palette.png "Command palette")