/neonlink

Simple self-hosted bookmark service.

Primary LanguageJavaScriptMIT LicenseMIT

Overview

Introduction

NeonLink is a simple and open-source self-hosted bookmark service. It is lightweight, uses minimal dependencies, and is easy to install via Docker. Due to the low system requirements, this application is ideal for deployment on the RaspberryPI.

Features

  • Tags
  • Search
  • Auto icon, title, description
  • Customizable background
  • Lightweight
  • Private
  • Dashboard

Installation

With Docker

DockerHub

You can easily install an application using Docker. The images are also optimized for RaspberryPi.

Then run the command which will install the Docker container.

docker run -p {80}:3333 -v {/path/to/data}:/app/data -v {/path/to/backgrounds}:/app/public/static/media/background alexscifier/neonlink:latest
  • Replace {80} with any port you like.
  • Replace {/path/to/data} with the path to the data folder with private data
  • Replace {/path/to/backgrounds} with the path to the background images folder

Or you can install with docker-compose.yml file

#clone repo
git clone https://github.com/AlexSciFier/neonlink.git
cd neonlink

#edit doker-compose.yml and run docker compose
docker-compose up -d

Development

This project is open source, so you can change it or contribute. The application consists of two parts. The frontend is based on the React framework. The server part is based on the Fastify framework. Sqlite is used as a data base and its implementation for Nodejs is better-sqlite3.

This project requires Nodejs and npm.

For Windows development, it is recommended to use git bash.

Setup

#clone project
git clone https://github.com/AlexSciFier/neonlink.git
cd neonlink

# run once to install dependencies
npm run dev-init

#run dev server
npm run dev-start

Build

To build your own docker container run in root folder

# build for amd64 architecture
docker build --platform linux/amd64 --tag alexscifier/neonlink:latest .
# build for ARM v7 architecture (Raspberry Pi)
docker build --platform linux/arm/v7 --tag alexscifier/neonlink:latest-armv7 .

Screenshots

Dashboard Links dark Links light