Singlelink is a free & open-source link manager built with NuxtJS, NodeJS, TailwindCSS, and MongoDB.
Get started • Development • Deployment • Credits • Support • Related • License
There are a few pre-requisites you need to have before hosting Singlelink, seen below.
- Two NodeJS servers (ex: $5/mo DigitalOcean Droplet)
- A MongoDB database (ex: Free MongoDB Atlas M0 Cluster via GCP)
Once you have the following established, it's time to begin installing & configuring your installation.
# Clone repostiory to local device
git clone git@github.com:Neutron-Creative/Singlelink.git
# Enter client of new project
cd Singlelink
# Install necessary dependencies
npm install
sudo npm install -g nuxt-start
# Set API Url
export BASE_URL=<your-api-url>
# Run first build
npm run build
# Start your server
npm start
# Clone repostiory to local device (don't need to repeat if performed previously for client)
git clone git@github.com:Neutron-Creative/Singlelink.git
# Enter client of new project
cd Singlelink/server
# Install necessary dependencies
npm install
# Generate config from example
cp config-example.js config.js
# Modify config.js (set API domain to localhost & client domain as neccessary)
vim config.js
# Install necessary dev dependencies
sudo npm install -g forever nodemon
# Start your server
forever start index.js
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.
# ---------------------------------------------------------------------------------- #
# NOTICE: Anytime you make changes, kill the server, rebuild, and restart as follows #
# ---------------------------------------------------------------------------------- #
## CD into Client
cd Singlelink/client
# Rebuild application (compiles .vue files into raw html, css, and js)
npm run build
# Restart server
npm start
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
# Start nodemon
nodemon index.js
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!
# SSH into server
ssh root@<your-server-ip>
# Enter tmux session (if first time then tmux && cd Singlelink)
tmux attach
# Break existing client host session
# Not to be typed, press both keys simultaneously
# Ctrl + C
# Pull changes from remote origin master branch
git pull
# Rebuild Nuxt JS
npm run build
# Restart server session
nuxt-start ./ -H <your-client-ip> -p 80
# Exit tmux session
# Not to be typed, press both keys simultaneously
# Ctrl + b
# Afterwhich, press the following key
# d
# Exit server, changes are deployed!
# SSH into server
ssh root@<your-server-ip>
# Enter correct directory
cd ~/Singlelink/server/
# Pull latest changes from git
git pull
# Restart server with changes (if first time then forever start index.js)
forever restart index.js
# Exit server, changes are deployed!
Singlelink was built by the following individuals.
- Jim Bisenius (@jim_bisenius)
- Andrew Boyle (@fahlomi)
- Navid Kabir (@navidk0)
- Manuhe Abebe (@manuhegabebe)
Additionally, we've listed a few frequently asked questions below.
Often, this is caused by an incomplete config.js file in Singlelink/server/config.js, be sure this is complete!
This is most often caused by an incomplete/incorrect build, with missing environment variables or something of the like. To fix, ensure that the $BASE_URL environment variable is properly set on your client server, and run npm run build inside your client directory to manually rebuild the project.
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.
Check our roadmap! We're regularly adding new features, and list our most up-to-date plans on Github.
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.
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.
Yes! We're actively daily on Discord and would love to have you!
Singlelink is Neutron Creative product, created and hosted free of charge in the mission of open-source. To learn more about our mission, visit neutroncreative.com
Singlelink is a free & open-source link manager built with NuxtJS, NodeJS, TailwindCSS, and MongoDB.
Copyright (C) 2020 Neutron Creative Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.