Singlelink is the open-source Linktree alternative.
Getting started • Local development • Production deployment • Credits
The easiest way to get started is to deploy your Singlelink site with Railway. You can get started with one-click using the button below and build up to three Singlelink pages, each with custom domains, 100% free, thanks to their $5/mo credit system.
We also recommend connecting Vercel and Planetscale for a free self-hosted Singlelink environment.
Singlelink is a NodeJS project built on Next.js, GraphQL (served via Apollo Server), and MySQL.
If you haven't already, you'll need to install NodeJS and MySQL before being able to host or work on Singelink.
- NodeJS installation guide
- To install MySQL with Docker, run
npm run db:boot
from the project root.
Once you've installed NodeJS & MySQL, you can download Singlelink locally with:
git clone https://github.com/Neutron-Creative/Singlelink.git;cd Singlelink;
Before you start, you'll need to configure your environment by copying the .env template:
cp .env.template .env
Then, set the following mandatory environment variables to your preferences:
DB_URL
: Optionally, override the remaining DB ENV variables with an all-in-one connection URLDB_DATABASE
: The name of the MySQL database you'll connect to (ex: railway)DB_PORT
: The port for the MySQL database you'll connect to (ex: 3306)DB_HOST
: The host url for your MySQL database (ex: containers-us-east-13.railway.app)DB_USER
: The username for your MySQL user (ex: root)DB_PASSWORD
: The password for your MySQL userSECRET
: The secret used to sign and validate JWTs during authenticationPASSWORD
: The password you'll use to login and manage your Singlelink
Optionally, set the following variables to customize your site:
META_TITLE
: The title for your site, seen in Google Search resultsMETA_DESC
: The description for your site, seen in Google Search resultsMETA_IMG
: The OG image for your site, seen when sharing your site on social media.BRANDING
: A boolean that enables/disables Singlelink branding on your site & dashboard
Next, install your NPM dependencies using --ignore-scripts
:
npm i --ignore-scripts
After, you can run the DB migration script to initialize your DB:
npm run db:migrate
You'll need to run npm run db:migrate
again everytime you pull changes. It can't hurt to run a migration, but it can break things if you don't.
Finally, you can start your development environment by running:
npm run dev
Open http://localhost:3000 with your browser to view your new Singlelink, and http://localhost:3000/login to login and add your first link.
You can deploy Singlelink in one-click here with Railway. At this time, they are the only provider we maintain & gurantee support for.
Platform as a service hosts are recommended due to ease of installation (ex: Heroku, DigitalOcean App Platform , etc.)
We don't offer official support yet, but you can host Singlelink with any VPS, provided you can install and run both Node.JS & MySQL. Singlelink will need one MySQL database, and one NodeJS instance capable of running Next.JS at run-time/SSR.
Looking for cloud hosting with premium support?
Consider checking out Singlelink Cloud, with plans available soon starting at just $8/month.
Singlelink was built by the following team full-time from August 2020-2021 our mission to to open-source the world at Neutron Creative.
- Jim Bisenius (Co-founder & former CEO, @jim_bisenius)
- Navid Kabir (Co-founder & former CTO, @navidk0)
- Andrew Boyle (Co-founder & former CMO)
Today, Singlelink is maintained soley by me, Jim Bisenius on nights & weekends. If you'd like to assist in my development efforts, I'd love your help. Please join our Discord or create a pull request!