{"id":14139337,"url":"https://github.com/singlelink-co/Singlelink","last_synced_at":"2025-08-05T04:31:19.559Z","repository":{"id":39962423,"uuid":"287170328","full_name":"singlelink-co/Singlelink","owner":"singlelink-co","description":"The open-source Linktree alternative.","archived":false,"fork":false,"pushed_at":"2023-03-07T08:08:58.000Z","size":45170,"stargazers_count":576,"open_issues_count":48,"forks_count":117,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-07-29T19:47:28.411Z","etag":null,"topics":["apollo","graphql","javascript","linktree","linktree-alternative","mysql","nextjs","nodejs","react"],"latest_commit_sha":null,"homepage":"https://singlelink.co","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/singlelink-co.png","metadata":{"files":{"readme":"readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":["singlelink-co"]}},"created_at":"2020-08-13T03:19:03.000Z","updated_at":"2025-07-27T01:17:24.000Z","dependencies_parsed_at":"2023-09-23T14:34:38.631Z","dependency_job_id":null,"html_url":"https://github.com/singlelink-co/Singlelink","commit_stats":{"total_commits":617,"total_committers":10,"mean_commits":61.7,"dds":0.6693679092382496,"last_synced_commit":"779316de222370cf354200eedae6e5b900c69fa9"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/singlelink-co/Singlelink","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singlelink-co%2FSinglelink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singlelink-co%2FSinglelink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singlelink-co%2FSinglelink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singlelink-co%2FSinglelink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/singlelink-co","download_url":"https://codeload.github.com/singlelink-co/Singlelink/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singlelink-co%2FSinglelink/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268504449,"owners_count":24260946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-03T02:00:12.545Z","response_time":2577,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apollo","graphql","javascript","linktree","linktree-alternative","mysql","nextjs","nodejs","react"],"created_at":"2024-08-16T17:01:00.959Z","updated_at":"2025-08-05T04:31:19.220Z","avatar_url":"https://github.com/singlelink-co.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://singlelink.io\"\u003e\n    \u003cimg alt=\"Singlelink logo\" height=\"150\" src=\"https://uploads-ssl.webflow.com/61adc63433f2df05fde531f0/6208a997bb1f010bd2fc014f_singlelink-badge-padded.svg\"\u003e\n  \u003c/a\u003e\n\u003c/h1\u003e\n\n\u003ch3 align=\"center\"\u003e\n    \u003ca href=\"https://singlelink.co\"\u003eSinglelink\u003c/a\u003e is the open-source Linktree alternative.\n\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Neutron-Creative/Singlelink/actions/workflows/build-lint.yml\"\u003e\n    \u003cimg src=\"https://github.com/Neutron-Creative/Singlelink/actions/workflows/build-lint.yml/badge.svg\" alt=\"Build \u0026 lint\"\u003e\n  \u003c/a\u003e\n    \u003ca href=\"https://github.com/Neutron-Creative/Singlelink/projects/1\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/%20Beta-4.1.0-%2303d2d4\" alt=\"Version\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://www.gnu.org/licenses/gpl-3.0.en.html\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/License-GPL-%236ab04c\" alt=\"License\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://app.singlelink.co/analytics\"/\u003e\n        \u003cimg src=\"https://img.shields.io/badge/dynamic/json?color=FF4081\u0026label=Hosted%20Users\u0026query=users\u0026url=https%3A%2F%2Fapi.singlelink.co%2Fanalytics\" alt=\"Users\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://neutroncreative.com\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/-Built%20by%20Neutron%20Creative-%235353EC?logo=data:image/png;base64,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_EyKuIA41DMrSPy4DxifMvaCAY/zW3D1QSsL1NtEeGCFfE2XkHO8V6pTeQBbegzMD+Ta4NlQqef02N8ThCKDBil9Zooy9S+0qhJsjOVQpl5qgb68ckab1LP++m+p7+f7izdfI52f06AAAAAElFTkSuQmCC\"/\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://twitter.com/singlelink\"\u003e\n\t\t\u003cimg alt=\"Twitter Follow\" height=20 src=\"https://img.shields.io/twitter/follow/singlelink?color=%2300acee\u0026label=Follow%20us%20on%20Twitter\u0026style=plastic\"\u003e\n\t\u003c/a\n\t\u003ca href=\"https://discord.gg/BUbmgV4\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/discord/739822478276165675?color=%237289da\u0026label=Join%20our%20community%20on%20Discord\"/\u003e\n\t\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#getting-started\"\u003eGetting started\u003c/a\u003e •\n  \u003ca href=\"#local-development\"\u003eLocal development\u003c/a\u003e •\n  \u003ca href=\"#production-deployment\"\u003eProduction deployment\u003c/a\u003e •\n  \u003ca href=\"#credits\"\u003eCredits\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch2 id=\"getting-started\"\u003eGetting started\u003c/h2\u003e\n\nThe easiest way to get started is to deploy your [Singlelink](https://singlelink.co) site with [Railway](https://railway.app). 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.\n\n[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template/R7HMcu)\n\nWe also recommend connecting [Vercel](https://vercel.com) and [Planetscale](https://planetscale.com) for a free self-hosted Singlelink environment.\n\n\u003ch2 id=\"local-development\"\u003eLocal development\u003c/h2\u003e\n\nSinglelink is a [NodeJS](#) project built on [Next.js](https://nodejs.org/en/), [GraphQL](https://graphql.org/) (served via [Apollo Server](https://www.apollographql.com/)), and [MySQL](https://www.MySQL.org/).\n\nIf you haven't already, you'll need to install NodeJS and MySQL before being able to host or work on Singelink.\n- [NodeJS installation guide](https://nodejs.dev/learn/how-to-install-nodejs)\n- To install MySQL with Docker, run `npm run db:boot` from the project root.\n\nOnce you've installed NodeJS \u0026 MySQL, you can download Singlelink locally with:\n```bash\ngit clone https://github.com/Neutron-Creative/Singlelink.git;cd Singlelink;\n```\n\nBefore you start, you'll need to configure your environment by copying the .env template:\n```\ncp .env.template .env\n```\n\nThen, set the following **mandatory** environment variables to your preferences:\n- `DB_URL`: Optionally, override the remaining DB ENV variables with an all-in-one connection URL\n- `DB_DATABASE`: The name of the MySQL database you'll connect to (ex: railway)\n- `DB_PORT`: The port for the MySQL database you'll connect to (ex: 3306)\n- `DB_HOST`: The host url for your MySQL database (ex: containers-us-east-13.railway.app)\n- `DB_USER`: The username for your MySQL user (ex: root)\n- `DB_PASSWORD`: The password for your MySQL user\n- `SECRET`: The secret used to sign and validate JWTs during authentication\n- `PASSWORD`: The password you'll use to login and manage your Singlelink\n\nOptionally, set the following variables to customize your site:\n- `META_TITLE`: The title for your site, seen in Google Search results\n- `META_DESC`: The description for your site, seen in Google Search results\n- `META_IMG`: The OG image for your site, seen when sharing your site on social media.\n- `BRANDING`: A boolean that enables/disables Singlelink branding on your site \u0026 dashboard\n\nNext, install your NPM dependencies using `--ignore-scripts`:\n```bash\nnpm i --ignore-scripts\n```\n\nAfter, you can run the DB migration script to initialize your DB:\n```bash\nnpm run db:migrate\n```\n*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.*\u003cbr\u003e\u003cbr\u003e\n\nFinally, you can start your development environment by running:\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to view your new Singlelink, and [http://localhost:3000/login](http://localhost:3000/login) to login and add your first link.\n\n\u003ch2 id=\"production-deployment\"\u003eProduction deployment\u003c/h2\u003e\n\nYou can [deploy Singlelink in one-click here with Railway](https://railway.app/new/template?template=https%3A%2F%2Fgithub.com%2FNeutron-Creative%2FSinglelink\u0026plugins=MySQL\u0026envs=SECRET%2CPASSWORD%2CMETA_TITLE%2CMETA_DESC%2CMETA_IMG\u0026optionalEnvs=META_TITLE%2CMETA_DESC%2CMETA_IMG\u0026SECRETDesc=The+secret+used+when+signing+JWTs.\u0026PASSWORDDesc=The+password+you%27ll+use+to+login+to+your+Singlelink+dashboard.\u0026META_TITLEDesc=Your+page+%26+meta+title%2C+seen+in+Google+search+results\u0026META_DESCDesc=Your+page+description+seen+in+Google+Search+results.\u0026META_IMGDesc=The+OG+image+thumbnail+shown+when+sharing+your+Singlelink+on+social+media.\u0026referralCode=singlelink). At this time, they are the only provider we maintain \u0026 gurantee support for.\n\n### Need to host elsewhere?\n#### Platform as a service hosts are recommended due to ease of installation (ex: Heroku, DigitalOcean App Platform , etc.)\nWe don't offer official support yet, but you can host Singlelink with any VPS, provided you can install and run both Node.JS \u0026 MySQL. Singlelink will need one MySQL database, and one NodeJS instance capable of running Next.JS at run-time/SSR.\n\u003cbr\u003e\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n\u003cb\u003eLooking for cloud hosting with premium support?\n\u003cbr\u003e\nConsider checking out \u003ca href=\"https://singlelink.co\"\u003eSinglelink Cloud\u003c/a\u003e, with plans available soon starting at just $8/month.\u003c/b\u003e\n\u003c/p\u003e\n\n\u003ch2 id=\"credits\"\u003eCredits\u003c/h2\u003e\n\nSinglelink was built by the following team full-time from August 2020-2021 our mission to to *open-source the world* at [Neutron Creative](https://neutroncreative.com).\n\u003cbr\u003e\u003cbr\u003e\n\u003cul\u003e\n    \u003cli\u003eJim Bisenius (Co-founder \u0026 former CEO, \u003ca target=\"_blank\" href=\"https://twitter.com/jim_bisenius\"\u003e@jim_bisenius\u003c/a\u003e)\u003c/li\u003e\n    \u003cli\u003eNavid Kabir (Co-founder  \u0026 former CTO, \u003ca target=\"_blank\" href=\"https://twitter.com/navidk0\"\u003e@navidk0\u003c/a\u003e)\u003c/li\u003e\n    \u003cli\u003eAndrew Boyle (Co-founder \u0026 former CMO)\u003c/li\u003e\n\u003c/ul\u003e\u003cbr\u003e\n\nToday, Singlelink is maintained soley by me, Jim Bisenius on nights \u0026 weekends. If you'd like to assist in my development efforts, I'd love your help. Please [join our Discord](https://discord.gg/DDGnXCcgsu) or [create a pull request](https://github.com/Neutron-Creative/Singlelink/pulls)!\n","funding_links":["https://github.com/sponsors/singlelink-co"],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinglelink-co%2FSinglelink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsinglelink-co%2FSinglelink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinglelink-co%2FSinglelink/lists"}