A very performant and light (2mb in memory) link shortener and tracker. Written in Rust and React and uses Postgres/SQLite.
Find a file
2025-02-01 00:01:06 -05:00
.github/workflows I wish GA was a better CI/CD platform 2025-01-31 19:33:04 -05:00
.sqlx add admin setup token i love admin setup token 2025-01-27 22:32:49 -05:00
frontend Fix source count in statistics 2025-02-01 00:01:06 -05:00
migrations add sqlite 2025-01-29 18:52:49 -05:00
readme_img readme 2025-01-29 01:29:27 -05:00
src show source per day 2025-01-31 20:25:44 -05:00
test yolo commit 2025-01-27 16:14:55 -05:00
.env.example Update .env.example 2025-01-29 19:37:53 -05:00
.gitignore add sqlite 2025-01-29 18:52:49 -05:00
.preludeignore maybe this works now 2025-01-26 01:53:14 -05:00
API.md Add auth 2025-01-25 03:16:35 -05:00
build.sh update docs 2025-01-31 19:17:07 -05:00
Cargo.lock only show register if no users, otherwise show only login 2025-01-29 20:47:04 -05:00
Cargo.toml only show register if no users, otherwise show only login 2025-01-29 20:47:04 -05:00
docker-compose.yml Bump 2025-01-31 21:01:30 -05:00
Dockerfile I wish GA was a better CI/CD platform 2025-01-31 19:33:04 -05:00
README.md Bump 2025-01-31 21:01:30 -05:00

SimpleLink

A very performant and light (6mb in memory) link shortener and tracker. Written in Rust and React and uses Postgres.

MainView

StatsView

How to Run

From Docker:

docker run -p 8080:8080 \
    -e JWT_SECRET=change-me-in-production \
    -v simplelink_data:/data \
    ghcr.io/waveringana/simplelink:v1.0.2

Find the admin-setup-token pasted into the terminal output, or in admin-setup-token.txt in the container's root.

This is needed to register with the frontend. (TODO, register admin account with ENV)

From Docker Compose:

Edit the docker-compose.yml file. It comes included with a postgressql db for use

Build

From Source

First configure .env.example and save it to .env

If DATABASE_URL is set, it will connect to a Postgres DB. If blank, it will use an sqlite db in /data

git clone https://github.com/waveringana/simplelink && cd simplelink
./build.sh
cargo run

On an empty database, an admin-setup-token.txt is created as well as pasted into the terminal output. This is needed to make the admin account.

Alternatively if you want a binary form

./build.sh --binary

then check /target/release for the binary named SimpleGit

From Docker

docker build -t simplelink .
docker run -p 8080:8080 \
    -e JWT_SECRET=change-me-in-production \
    -v simplelink_data:/data \
    simplelink

From Docker Compose

Adjust the included docker-compose.yml to your liking; it includes a postgres config as well.