Over the years I accumulated very many services which I host myself and each of them has it’s own URL:

  • 6 websites, mine and my sisters
  • 3 instances of home assistant
  • Uptime Kuma
  • Synology with photos on it
  • Matrix server
  • Firefox sync
  • TinyTinyRSS
  • Mastodon
  • PeerTube
  • PieFed
  • Immich
  • Open WebUI (for local large language models)
  • UniFi (CCTV)
  • Baïkal (Cal- and CardDav)

I’m probably forgetting some of them now and I’m planning to host more in the future.

The problem is how to remember all of those URLs or domains. I have a system how I call them, but my extended family can’t really remember them.

I think it’s time for a landing page. Do you guys have any suggestions?

  • Darkassassin07@lemmy.ca
    link
    fedilink
    English
    arrow-up
    48
    ·
    edit-2
    6 days ago

    Homepage

    Gives you a nice dashboard that you can configure however you like. It includes integration with a ton of existing services, as well as docker.

    My setup:

    Clicking on each service will open it’s respective url.

    The ‘healthy’ indicator at the top right of each service is it’s container health. Clicking on that will expand to show cpu, ram and network usage. Some of these services/docker hosts are on separate machines; it all integrates together nicely.

    • denshirenji@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      6 days ago

      This is what I use. I tried other ones, but this one is simple to set up and edit. It’s very clean and has a ton of widgets for services. I would like it to have a login option, but that isn’t a deal breaker.

      1000003017

      • Darkassassin07@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 days ago

        Yeah; the lack of authentication options is a bit of a bummer if you’re going to expose/share this page. There is always basic_auth in nginx or whatever proxy you’re using if you really want.

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 days ago

      There are a bunch of other static site generators as well. They’re mostly targeted at blogs and whatnot, but maybe that’s a good thing if you want to leave some instructions/documentation about each one.

  • LovableSidekick@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    4 days ago

    I think you pretty much just now wrote a landing page, you just need to turn those into links and host that page somewhere.

    Sure, you could create a database or JSON file with attributes of each thing and use React or Node.js to generate the UI, but that doesn’t seem necessary for a need on this scale - when things change just edit the landing page. I’ve been keeping links to my soft copies of D&D books and stuff with a simple HTML page for years, and I’m a web dev. No need to do work the requirements don’t demand.

    • eodur@lemmy.world
      link
      fedilink
      English
      arrow-up
      10
      ·
      6 days ago

      Homepage is great, especially if the services are deployed on docker or Kubernetes. You can just add some metadata to each service and Homepage will automatically pick them up. No need to remember to update it directly for a new service.

  • perishthethought@lemm.ee
    link
    fedilink
    English
    arrow-up
    19
    ·
    6 days ago

    I just hacked a simple HTML page for this, with big mobile friendly buttons.

    That page is served by nginx in my server and is my default home page on my phone and desktop.

    • Jeena@piefed.jeena.netOP
      link
      fedilink
      English
      arrow-up
      6
      ·
      6 days ago

      Hm interesting, no icons and no status indicator. At the same time over time you probably got it into your muscle memory where to press quickly. It’s intriguing.

      • perishthethought@lemm.ee
        link
        fedilink
        English
        arrow-up
        9
        ·
        6 days ago

        My requirement with this page is it has to load really fast, because I return to it often while working / browsing. So yeah, it’s really lightweight and easy to maintain, as things come and go. The source is stored in Forgejo! (the “Code” button there).

      • merthyr1831@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 days ago

        If you needed some visual cues you could use colour and emojis to add context whilst keeping load times down

  • 𝘋𝘪𝘳𝘬@lemmy.ml
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    6 days ago

    Do you guys have any suggestions?

    Because I don’t like software getting in my way I just cobbled together some HTML and CSS and call it a day.

    • czardestructo@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 days ago

      Similar, but more fancy, I have a bash script that runs every 15 minutes and ingests a config file. The config file has a super simple CSV format of every service I have. It checks that all the services are operational and generates an HTML file from it. If any services are down the HTML will show its down, otherwise its just a helpful link.

      • 𝘋𝘪𝘳𝘬@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 days ago

        I run my website as static site from within a Docker container, I wonder how I would get the information about the other containers into that site.

        Do you directly serve that site from the host or do you run the script and write something in a volume the site has read access to or bind a file?

        • czardestructo@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          4 days ago

          I host it on the host that runs the script and proxy it. I have one mission critial pi that is my uptime bot, pi hole and backup VPN if my elaborate server falls on its face. But you could easily use docker volumes too, and have the script push to that folder.

  • vegetaaaaaaa@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 days ago

    I wrote my own, using plain HTML/CSS. Actually the final .html file gets templated by ansible depending on what’s installed on the server, but you can easily pick just the parts you need from the j2 template

  • bluGill@fedia.io
    link
    fedilink
    arrow-up
    6
    ·
    5 days ago

    Static, hand coded html. You can be as pretty as you want to be. A good learning exercise and since it is all static it will be fast and won’t have more security issues.

  • Vetinari@reddthat.com
    link
    fedilink
    English
    arrow-up
    8
    ·
    6 days ago

    I use organizr. It can use iframes to load the pages which makes for a very integrated experience. It can be a little more complex to get going and get your apps playing nice with the iframes. Also the development on it has slowed down a lot. I’m hoping it gets more love soon, but that alone has me looking for alternatives. There are several others I have seen. I’m looking at Homepage currently.

    So far nothing seems better than organizr for my uses.

    • gdog05@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 days ago

      That’s what I use. It goes under the radar a lot and I don’t know why. I love that it shows me my sabnzb downloads and what streams are happening on Jellyfin at a glance.

  • czardestructo@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    5 days ago

    I just made a landing page in HASS, if you’re already running three instances could you make a page in one?

    • Jeena@piefed.jeena.netOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 days ago

      Hm, so you just used some cards to make links and icons somehow for that? But then I would need to replicate it on at least my dads and our instance.

      • czardestructo@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        5 days ago

        Yep, here is the yaml but redacted

        - type: entities
                    title: Communication
                    entities:
                      - type: weblink
                        name: Webmail
                        url: https://postale.io/
                        icon: mdi:email
                      - type: weblink
                        name: Mattermost
                        url: https://mm.stuff.com/
                        icon: mdi:chat
                      - type: weblink
                        name: Mumble Server
                        url: https://mumble.stuff.com/
                        icon: mdi:radio-handheld