Self-hosted service
LinkStackOrg/LinkStack avatar
LinkStackOrg/LinkStack

LinkStack: a self-hosted Linktree alternative with multi-user registration

LinkStack - the ultimate solution for creating a personalized & professional profile page. Showcase all your important links in one place, forget the limitation of one link on social media. Set up your personal site on your own server with just a few clicks.

3,869 stars438 forksPHPAGPL-3.0

At a glance

What is it?
LinkStack is a PHP and Laravel link-sharing platform you install on your own server, with a drag-and-drop installer, a theme system and an admin panel for managing other users. It is a reasonable fit if you want one page for many people and are willing to run PHP hosting; it is a poor fit if you want a static page or a single-user tool.
Who is it for?
Adopt LinkStack if you want a link page on infrastructure you control and you may later need to host pages for other people, since multi-user registration and an admin panel are built in. Do not adopt it if you only need one static page of links, or if you cannot run PHP and a database.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository last received commits 56 days ago.
What is it written in?
Mainly PHP, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem LinkStack addresses: one link slot on social platforms

Social profiles generally allow a single outbound link. LinkStack gives you a page that holds many links, and you point that one slot at your own page instead. The README frames it exactly that way: users can "link to their own custom page and provide their followers with access to all the links they need in one convenient location."

The intended audience is broader than a single individual. The README states that LinkStack "allows other users to register and create their own links, making it an ideal solution for businesses and organizations looking to manage multiple links," and mentions an Admin Panel for managing other users' links. That is the distinguishing feature. A personal link page is a small problem; a link page for a club, a company with several staff profiles, or a community instance is a different problem, because it needs accounts, roles and moderation. LinkStack is aimed at the second case as much as the first.

The project also positions itself on privacy and control. The About section says the self-hosted option is for users who want control over their data "without having it sold to third-party companies," and the project states it will never sell user data. Whether that matters to you depends on whether you care where the click analytics and account data live. If you do not, a hosted service is less work.

What the repository layout tells you about the architecture

The primary language is PHP, the topic list includes laravel and blade, and the default branch is main. Blade is Laravel's templating engine, so the page rendering path is Laravel views rather than a separate JavaScript front end. Themes therefore change Blade templates and assets, which is why the README describes themes as something users submit and others download, and why the theme gallery exists as a separate site.

That choice has consequences. A PHP application with server-rendered templates is straightforward to host on ordinary shared hosting, which matches the README's claim that LinkStack can be implemented through a "drag and drop" process "eliminating the need for complex terminal commands or source code manipulation." The same choice means there is no static export path described in the material. You are running an application, not generating files.

The material does not describe the database schema, the authentication implementation, or how registration is gated. If you need to know whether registration can be closed, whether accounts require email verification, or how the admin role is scoped, the README does not answer it. Those are questions for the admin panel itself once installed.

Installing LinkStack: the zip download and the Docker path

The README offers two routes. The first is the release archive: the download badge points at https://github.com/linkstackorg/linkstack/releases/latest/download/linkstack.zip, which is the latest release packaged as a zip. The README describes the install as drag and drop, so the expectation is that you unpack that archive onto PHP-capable hosting and complete setup in the browser rather than running a build step.

The second route is Docker, which the README covers under its own Docker Version section. The material does not include the compose file or the image name, so the specific commands are not available here and should be read from the repository rather than guessed.

The one configuration surface the README does describe in concrete terms is themes. To add a downloaded theme, the README says to open the Admin Panel, navigate to the Themes tab, and scroll to the bottom of the page. That is where the upload or install control lives. Themes are distributed from linkstack.org/themes, and the README lists several by name in its preview table, including stargazer, Magic-Kingdom, polygon and PolySleek.

Beyond that, the README is thin on operational detail. There is no documented list of environment variables, no PHP version requirement quoted in the supplied text, and no database setup instructions. Treat the installer as the source of truth for those values.

Updating: read the Updating section before you install

The README has an Updating section, which is more than many self-hosted projects provide, but the supplied material does not reproduce its contents. That matters because the release history shows an irregular cadence. v4.8.4 was tagged 2024-12-10. v4.8.5 came 2026-01-26, roughly thirteen months later. v4.8.6 followed on 2026-02-17, about three weeks after that. Three releases in the list, with a long gap in the middle.

A long gap followed by rapid point releases is a normal pattern for volunteer projects, but it changes what an upgrade costs you. If you install v4.8.6 today and the next release is a year out, you carry whatever security fixes are not backported. If releases start arriving every few weeks, you need a repeatable update procedure rather than a manual file copy. The README's Updating section is the place to check which of those applies, and the material here cannot tell you what it says.

The licence adds a separate consideration. LinkStack is AGPL-3.0. The AGPL's network clause is the part that differs from GPL: if you run modified software and let users interact with it over a network, the licence expects you to offer those users the corresponding source. Running LinkStack unmodified for your own links is one thing; running a modified LinkStack as a public instance is another. That is a description of the licence, not legal advice, and if you plan to modify and host publicly you should read the licence text or ask someone qualified.

Where LinkStack is the wrong tool

The clearest mismatch is scope. If you want a page with five links that never changes, LinkStack is a PHP application, a database and an admin panel standing between you and five anchors. A hand-written HTML file on any static host does the same job with no update obligation and no attack surface beyond the host itself. The README's own framing, that LinkStack is for users who want to host their links on their own server, is also the reason it is heavier than the problem it solves for a single person.

The second mismatch is operational. The README advertises drag-and-drop installation to avoid terminal work, but any PHP application you self-host still needs PHP, a database and a web server that you keep patched. The README does not describe a managed update mechanism in the supplied material. If nobody in your group is willing to own that, the free community instances listed at linkstack.org/instances are the honest alternative within the same project, and they trade away the control that is the point of self-hosting.

The third is customisation depth. Themes are the documented extension point. If you need behaviour changes rather than appearance changes, the README points at contributing themes, not at a plugin API. The material shows no plugin system. A requirement like "only allow sign-ups from our email domain" or "export click data to our warehouse" is not addressed by anything in the supplied text, and you should assume it means reading the Laravel code.

How LinkStack differs from LittleLink

The most direct comparison is LittleLink, and the README itself makes it, since an earlier name for this project appears in the repository's own star badge URL as littlelink-custom. LittleLink is a set of static HTML and CSS pages: you copy the files, edit the markup, and deploy them anywhere that serves static content. There is no database, no login, no admin panel and nothing to patch at the application layer.

LinkStack inverts that. It is a PHP application with user accounts, an admin panel and a theme installer, which is what makes multi-user hosting possible and what makes the drag-and-drop installer necessary in the first place. The trade is explicit: LittleLink gives you a file you fully understand and no runtime; LinkStack gives you accounts, roles and a database in exchange for a runtime you have to maintain.

If your requirement is one page, LittleLink's approach is cheaper. If your requirement is one page per member of an organisation, with an admin who can see and manage them, LinkStack is built for that and LittleLink is not. The README's own claim that LinkStack is "ideal for businesses and organizations looking to manage multiple links" is the line that separates the two.

Who should run LinkStack, and what to check first

Run LinkStack if you want a link page on hardware or hosting you control and you expect to host pages for more than one person. The multi-user registration and admin panel are the features that justify the application over a static page, and the theme system means you are not editing templates by hand to change the look.

Do not run it if you need one page, or if you cannot commit to patching PHP software. In those cases a static page, or one of the community instances, gets you the same visible result with less to maintain.

Before installing, verify four things. First, read the Updating section of the README and decide whether the release cadence shown above is one you can live with. Second, check the Docker Version section for the actual image and compose configuration, since the supplied material does not include it. Third, confirm the PHP and database requirements from the installer rather than from this article, because the README text here does not state them. Fourth, decide how you feel about AGPL-3.0 before you modify anything, particularly if the instance will be public. The project's stated position, that it will never sell user data, is only meaningful if you are the one holding the data.

Editorial conclusion

Adopt LinkStack if you want a link page on infrastructure you control and you may later need to host pages for other people, since multi-user registration and an admin panel are built in. Do not adopt it if you only need one static page of links, or if you cannot run PHP and a database. Before committing, verify the release cadence against your own upgrade tolerance: v4.8.4 to v4.8.5 is roughly thirteen months, v4.8.5 to v4.8.6 is about three weeks. Also confirm how the AGPL-3.0 licence interacts with your intended deployment, and read the Updating section of the README before you install anything.

Official sources

  1. License: AGPL-3.0
  2. LinkStackOrg/LinkStack on GitHub
  3. Project website
  4. README
  5. Releases
Community notes

Community notes