Intro

Favorites, bookmarks, tabs, whatever you want to call them, have been with us for a long time. The idea behind them is simple, help me not to type my destination but to have it as a single click accessible from anywhere.

Personally, I am a fan of Safari tabs, and especially tab groups that came with the latest version. They help me keep things organized the way I want to, and I never have more than 3-4 tabs in a single group. Those few pages that make the group have something in common and I like to have them side by side, and it works across devices. More than enough for my needs.

So what is then the point of a start page? I never used them heavily but the fact is that with more and more apps being web apps, you have to have their addresses somewhere. Considering I don't use favorites (menus or toolbars), and tab groups only contain pages that I constantly need/use, the fact is that I have to have those other URLs written down somewhere.

This article will give just my personal take on three start page solutions that you can a) self-host, and b) are free and open-source. Also, they will be deployed in a Docker container configuration.

I have decided to use some well-established and maintained platforms, as well as some new forks that are going towards a more functional and minimalistic look, so you be the judge of what platform would work out for you.

Now I know the competition on this is huge, and again this is my personal view but before I head down to the actual solutions I would like to mention that the likes of Organizr, Homer, Muximux, and some others are just not my cup of tea, so I have not considered them.

Heimdall

GitHub - linuxserver/Heimdall: An Application dashboard and launcher
An Application dashboard and launcher. Contribute to linuxserver/Heimdall development by creating an account on GitHub.

For most people, Heimdall needs no introduction. A very popular, stable, and functional launcher that has a huge following and user base.

Personally, this platform has been my go-to choice because it works, it can be customized (icons, colors, apps, and general sorting), and it's well maintained.

The only problem that I had with Heimdall is that it had no search/filter function for the tiles listed below. This changed with version 2.3.1 which came out in February of 2022, but before that, the development stopped in 2019, essentially pushing me towards a new solution.

One more thing that bothers me with Heimdall is the size of the dashboard. The icons are way too big for my taste but the main reason is that some apps have built-in functions that need space to present certain values. For example, download progress via NZBget or SAB. If you are using those, or you like to have a large color presentation for your app and other links, then I'm sure Heimdall will be right up your alley.

Heimdall Docker deployment

Considering that it is only a launcher platform, Heimdall has a very simple Docker deployment. I encourage you to use the Portainer platform and its stacks feature in order to deploy it via docker-compose compatible format.

🗒️
Make sure that all local destinations (volumes) that you will use are created ahead of time before you run the actual compose code to avoid getting any errors.

version: "2.1"
services:
  heimdall:
    image: lscr.io/linuxserver/heimdall
    container_name: heimdall
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    volumes:
      - </path/to/appdata/config>:/config
    ports:
      - 80:80
      - 443:443
    restart: unless-stopped

Change PUID and PGID values to the value of an account that you want your container to run with, as well as change the /path/to/appdata/config to your local folder (that was created ahead of time) to match your desired destination.

Because of my previously mentioned "problems" with Heimdall, I was always on the lookout for some other solution, and that brings us to my current solution that I am using Flame.

Flame

GitHub - pawelmalak/flame: Flame is self-hosted startpage for your server. Easily manage your apps and bookmarks with built-in editors.
Flame is self-hosted startpage for your server. Easily manage your apps and bookmarks with built-in editors. - GitHub - pawelmalak/flame: Flame is self-hosted startpage for your server. Easily mana...

Coming from an Apple/Mac side, a minimalistic, clean look was always the main thing for me and my taste, and Heimdall is just way too "flashy". Because of that, a while back I can across SUI. It was almost all I wanted but the development and some problems with it pushed me away from it (adding new elements was done via xml, no protocol support, etc), and I stuck with Heimdall yet again.

Lucky for me (or us!), back in June 2021, a new fork based on SUI was developed, Flame.

Flame solved all the issues that I had with Heimdall on day one and had that minimalistic look that I was going for. On top of that, it supports MDI as a source for the icons in case you want a more unified look and feel.

Finally, the app/bookmark filter is there, as well as 15 out-of-the-box themes that you can of course customize and create new ones. I have to say that Flame quickly became my new go-to landing page with Heimdall taking a back seat.

Flame  Docker deployment

The same principle as before, when it comes to deployment and folder creation.

version: '3.6'

services:
  flame:
    image: pawelmalak/flame
    container_name: flame
    volumes:
      - /path/to/appdata/config:/app/data
      - /var/run/docker.sock:/var/run/docker.sock # optional but required for Docker integration
    ports:
      - 5005:5005
    environment:
      - PASSWORD=random_sting_of_your_choice
    restart: unless-stopped

The PASSWORD parameter is a random string that you will use to log into the Flame App section to get access to all the functions of the platform, such as creating new links, bookmarks, etc. You can also add PASSWORD_FILE and link to your protected file that contains the actual password for extra security.

LinkDing

GitHub - sissbruecker/linkding: Self-hosted bookmark service
Self-hosted bookmark service. Contribute to sissbruecker/linkding development by creating an account on GitHub.

Considering that Flame covers all my bases as a link/bookmark platform, I would not search further any longer. But, just recently I noticed another minimalistic platform that is geared purely towards bookmarks than any other platform.

LinkDing has been around since the end of 2020, but as I mentioned before, I was not actively looking for a new solution as I settled for Heimdall at that time.

Unlike other solutions, LinkDing is more simple in its looks and features, but still, it does offer enough to like it as a platform. Listing your bookmarks and tags as main working elements, you can use them along with its search bar to quickly find what you are looking for.

My only problem with it is that it is not as fast as I would expect, and also, when using tags, you need to reset the search bar if you want to list all your bookmarks again (or visit the root site). Coming with two main themes (dark and light), you are free of course to edit them as you please via CSS.

As a proper bookmark platform it offers Firefox and Chrome extensions so you can add new entries more quickly, or if you are running any other browser, a bookmarklet that you can use as a single button option for adding new bookmarks. Works well with Safari I might add.

I would say that if I haven't found Flame, I would probably settle for LinkDing, but comparing the two, Flame is my first choice in the end.

LinkDing Docker deployment

version: '3'

services:
  linkding:
    container_name: linkding
    image: sissbruecker/linkding:latest
    ports:
      - "9090:9090"
    volumes:
      - "/path/to/appdata/config:/etc/linkding/data"
    restart: unless-stopped

Very simple Docker deployment with an SQLite DB in the background. Be sure, again, to create the folder that will be your local volume destination for this case.

Conclusion

As I said before, this was just my quick view of some of the solutions out there, with more mentioned simply as alternatives. The point is that you have to try them yourself and see what works for you.

Considering that visual presentation might be important to some, others will value functionality or integration with other services. The point is, there is no best platform out there. The reason we have so many of them is that each of us has different tastes and expected end results, so be sure to give them all a run, and decide for yourself.

For the time being, I will stick with Flame, and see how it will develop in the future, but will probably be on the lookout for some other solutions as well. Let me know in the comment section if you use any platform that you think might be worth mentioning.