Home
Softono

Queerlink

Open source MIT CSS
39
Stars
7
Forks
1
Issues
3
Watchers
8 years
Last Commit

 About Queerlink

A simple yet efficient URL shortening service written in Elixir

Platforms

Web Self-hosted

Languages

CSS

Links

Need Help Installing Queerlink?

We provide expert installation service for this software. Our team will install, configure, and secure Queerlink on your server. plans start at just $30.

Queerlink v2 Made in Elixir Made with Queerness

A simple and efficient link shortener.

Features

  • A super-easy-to-use JSON API;
  • Your data is stored in an sqlite3 database. Backup with rsync or scp;
  • A clean, no-fuss web interface;
  • A documentation.

Using the API

With HTTPie, simply type http POST :4000/s url=https://elixir-lang.org (for instance). You can test what you get with http http://localhost:4000/l/20gd6ne.

the POST request will, in case of success, return this schema:

{
    "longUrl": "https://elixir-lang.org",
    "shortUrl": "http://localhost:4000/l/20gd6ne",
    "status": "success"
}

Installation

Local Installation

Queerlink requires Elixir v1.4 and (it's in your best interest) OTP20.
Don't forget to export the PORT and MIX_ENV environment variables, the latter being prod when you're reading for launching live!

Next:

  1. Install dependencies with mix deps.get;
  2. In an prod environment, don't forget to generate a secret key base with mix phx.gen.secret and add this snippet in config/prod.secret.exs:
config :queerlink, QueerlinkWeb.Endpoint,
  secret_key_base: "mysecret"
  1. Create and migrate your database with mix ecto.create && mix ecto.migrate;
  2. Install Node.js dependencies with npm install;
  3. Start the beast with iex -S mix phx.server

Producing a release

$ export MIX_ENV=prod PORT=4000
$ cd assets/ && npm i
$ ./node_modules/brunch/bin/brunch b -p
$ cd ../ && mix phx.digest
$ mix release --env=prod
$ _build/prod/rel/queerlink/bin/queerlink migrate
$ _build/prod/rel/queerlink/bin/queerlink start|foreground|console

In addition…

The doc/nginx/ directory contains the necessary configuration to run Queerlink behind an Nginx reverse proxy. You can find a wrk lua script in doc/ as well.

License

This software is licensed under the MIT license.