/Singlelink

The open-source Linktree alternative & micro-site platform.

Primary LanguageVueGNU General Public License v3.0GPL-3.0





Singlelink is the open-source micro-site platform & Linktree alternative.


Version License Users

Twitter Follow

Get startedDevelopmentDeploymentCreditsSupportRelatedLicense


Singlelink promotional graphic


Get started

There are a few pre-requisites you need to have before hosting Singlelink, seen below.

  • Two NodeJS servers (ex: $5/mo DigitalOcean Droplet)
  • A PostgreSQL database (ex: Free Heroku DBaaS)

Once you have the following established, it's time to begin installing & configuring your installation.

Client

# Clone repostiory to local device
git clone https://github.com/Neutron-Creative/Singlelink.git

# Enter client of new project
cd Singlelink/client

# Install necessary dependencies
npm install

# Set API Url
export API_URL=<your-api-url>

# Optionally, customize your instance.
# You can also set these permanently via the .env file
export META_TITLE=<your-seo-meta-title>
export META_DESCRIPTION=<your-seo-meta-description>
export META_IMAGE=<your-meta-image>
export FAVICON=<your-favicon-url>
export HOSTNAME=<your-installation-hostname>
export APP_NAME=<your-app-name>
export ICON_URL=<your-icon-url>
export ICON_WIDTH=<your-icon-width>
export ORGANIZATION=<your-organization>
export FREE_SIGNUP=<is-freesignup-enabled>

# Run first build
npm run build

# Start your server
npm run start

Server

# Clone repostiory to local device (don't need to repeat if performed previously for client)
git clone https://github.com/Neutron-Creative/Singlelink.git

# Enter client of new project
cd Singlelink/server

# Install necessary dependencies
npm install

# Generate config from example
cp src/config.example.js src/config.js

# Modify config.js (set API domain to localhost & client domain as neccessary)
vim config.js

# Build server
npm run build

# Start your server
npm run start

Development

Client

Develop on the client if you're looking to make changes to the interface or styles of the application.
Note, pay attention to the notice below. You'll need to build & start the client before each usage to have your changes reflect properly in the application.

## CD into Client
cd Singlelink/client

# Run developer client
npm run dev

Server

Develop on the server if you're looking to make changes to the logic of the application.
Developing on the server is a bit simpler, in that there is no "rebuild" process. With nodemon, changes are reloaded live instantaneously.

## CD into Server
cd Singlelink/server

# Run developer server
npm run dev

Deployment

Use the following instructions for deploying changes made locally to your production servers.
Note, before following the next steps - ensure you have pushed all changes to the git master branch!

Client

# SSH into server
ssh root@<your-server-ip>

# Enter tmux session (if first time then tmux && cd Singlelink)
tmux attach

# Pull latest changes from git, install dependencies, rebuild, and restart the server
git pull;npm i;npm run build;npm run start;

# Exit tmux session
# Not to be typed, press both keys simultaneously
# Ctrl + b
# Afterwhich, press the following key
# d

# Exit server, changes are deployed!

Server

# SSH into server
ssh root@<your-server-ip>

# Enter correct directory
cd ~/Singlelink/server/

# Pull latest changes from git, install dependencies, rebuild, and restart the server
git pull;npm i;npm run build;npm run start;

# Exit server, changes are deployed!

Credits

Singlelink was built by the following individuals.

Currently, Singlelink lacks contributors outside its founders at Neutron Creative, but, you can help. Visit the issues page today and create your first pull request to get featured here!



Support

Need help? Our community support is online 9AM-5PM EST M-F, and our enterprise support team is available 24/7/365 via (email or phone). Don't hesitate to get in touch, we love to help and we're often able to resolve issues within the hour!

Additionally, we've listed a few frequently asked questions below.
Help, my API isn't working!

Often, this is caused by an incomplete config.js file in Singlelink/server/config.js, be sure this is complete!

My client isn't working properly!

This is most often caused by an incomplete/incorrect build, with missing environment variables or something of the like. To fix, ensure that the $API_URL environment variable is properly set on your client server, and run npm run build inside your client directory to manually rebuild the project.

How can I host this on Netlify?

Unfortunately, we discontinued static platform support in late 2020 when moving to v2.0 to gain features such as dynamic open-graph images, search engine optimization, alongside custom meta data.

When will you have x feature?

Check our roadmap! We're regularly adding new features, and list our most up-to-date plans on Github.

I'm having trouble installing Singlelink. Can I pay you to install & it for me?

Yes! As of January 2020, you can reach out to support@neutroncreative.com and we'll be glad to help you get set up (incurs $100 install + $35/mo hosting fees). We offer full installation, management, and maintenance services for Enterprise clients starting at just $35/mo.

How can I suggest a feature/report a bug?

The Github issue tracker is the best place to do that! No matter your experience & ability creating Github issues, this is the best way for us to see & respond quickly to your requests.

Do you have a community I can join?

Yes! We're actively daily on Discord and would love to have you!