Skip to content

Latest commit

 

History

History
180 lines (121 loc) · 6.03 KB

README.md

File metadata and controls

180 lines (121 loc) · 6.03 KB

Linkin logo

Linkin · DeepScan grade codecov license Github Actions

Linkin is a customizable self-hosted link tree application.

100% Free and Open Source 💯

Self Hosted, you own your data 💽

Customize your link tree with few clicks with a feature-rich dashboard 🤖

SEO friendly design built using Next js 🕸️

Supports 3 one-click deploy hosting providers 🚀


View Demo
Demo Admin http://linkindemo.vercel.app/admin

  • Demo username = admin
  • Demo password = linkin123

linkin gif


Deploy with Vercel

Deploy with Vercel

Deploy with Heroku

Deploy

Deploy with Railway

Deploy on Railway

Screenshot_2021-05-22 LinkIn's Link tree Page

Screenshot_2021-05-22 Linkin Dashboard

Screenshot_2021-05-22 Linkin Dashboard

Getting started

  • Deploy in Vercel
    • set environment variables
      • DATABASE_URL - Postgres database url
      • HASHSALT - random secret key
      • NODE_ENV - set NODE_ENV to production
    • after successfully deploying visit youdomain/admin to view admin login
    • use default login credentials
      • username = admin
      • password = linkin123
    • after a successfull login you will be able to see above admin dashboard.


  • Deploy in Heroku
    • set environment variables
      • DATABASE_URL - Postgres database url
      • HASHSALT - random secret key
    • after successfully deploying visit youdomain/admin to view admin login
    • use default login credentials
      • username = admin
      • password = linkin123
    • after a successfull login you will be able to see above admin dashboard.


  • Deploy in Railway
    • set environment variables
      • HASHSALT - random secret key
      • PORT - 3000
      • RAILWAY - Set to 1 to run migrations and seeding in docker build stage . set 0 to avoid migrations and seeding in docker build stage
      • DATABASE_URL - Postgres database url . use this variable if you are not using railway postgres plugin
    • after successfully deploying visit youdomain/admin to view admin login
    • use default login credentials
      • username = admin
      • password = linkin123
    • after a successfull login you will be able to see above admin dashboard.

Running with docker

  • build the docker image using docker build . -t linkin command
  • Run the docker image docker run -d -p 3000:3000 -e DATABASE_URL='postgres://linkin:123@localhost:5432/linkin' -e HASHSALT='123' linkin. make sure you specified DATABASE_URL and HASHSALT environment varaibles.

Database connection

  • if the postgres database is behind pgbounce use pgbouncer=true parameter in DATABASE_URL ex - postgres://xx:xxx@xxxx:5432/xxxx?pgbouncer=true

Developing locally

Requirements

  • Node.js 14.x or newer
  • Postgresql

Clone and install dependencies

git clone https://github.com/RizkyRajitha/linkin.git
cd linkin
npm i

Setup local environmrnt variables in .env

example .env file

DATABASE_URL=postgres://linkin:123@localhost:5432/linkin
HASHSALT=123

Database migration

create database relations with prisma migration

you must have Postgres database setup locally

npx prisma migrate dev

Database Seeding

Addign Initial data to the database to get you started

npm run seed

Run

npm run dev

Build with

Currently supported hosting in

Community

Join our discord community for questions and updates

https://discord.gg/Jsmc5Dm9wg