A new open-source Single Sign-On (SSO) provider designed to simplify user and access management.

Features:

  • 🙋‍♂️ User Management
  • 🌐 OpenID Connect (OIDC) Provider
  • 🔀 Proxy ForwardAuth Domains
  • 📧 User Registration and Invitations
  • 🔑 Passkey Support
  • 🔐 Secure Password Reset with Email Verification
  • 🎨 Custom Branding Options

Screenshot of the login portal:

  • eldereko@lemmy.dbzer0.comEnglish
    425·
    14 days ago

    the Postgres requirement is a dealbreaker for me. I don’t get why all these “simple” self-hosted apps need a bloated database. how many users is a self-hoster going to have, maybe 1-10? SQLite can easily handle thousands. I’m currently using Authelia, and it even has a database-less YAML option for managing users

    • notquitenothing@sh.itjust.worksOPEnglish
      29·
      14 days ago

      I do agree. I have been thinking about adding a SQLite option which should be somewhat easy since knex (the database package that VoidAuth uses) supports it. Before releasing that I would want to create some way to migrate your data from one database type to another. If you want to use VoidAuth feel free to make an issue for this!

      • Zelaf@sopuli.xyzEnglish
        6·
        14 days ago

        Having run minor projects using PocketBase before and also seen what PocketBase itself can do and SQLite configured correctly in general, It’s great. I’ve gotten to be a big fan of it by the years and gladly opt for it over the bigger ones.

        If this project got SQLite support it would be a great replacement for my own setup which requires about 3 or 4 accounts. Currently using a proprietary solution and been looking into moving to Authentik but it’s a bit too heavy resource wise for my current servers.

        • notquitenothing@sh.itjust.worksOPEnglish
          14·
          14 days ago

          I will make an issue for adding SQLite support, it has been on my mind for the same reasons. I would say don’t let the Postgres requirement stop you from trying it out. Modern hardware really doesn’t mind having multiple containerized postgresdb instances running, it can be very lightweight when idle.

          • illusionist@lemmy.zipEnglish
            61·
            14 days ago

            Tbo, not using a tool because it only uses postgres sounds strange to me.

            • lambalicious@lemmy.sdf.org
              English
              21·
              13 days ago

              It does mean a form of provider lock-in, which is or can be its own issue. Also, while PostgreSQL is one of the best database engines out there among the FOSS stuff, it is verifiably and vastly overblown for stuff like “store a name and a email”, and I at least am not aware of any sort of “Postgres Lite” engines else I’d be using them at work.

              • illusionist@lemmy.zipEnglish
                12·
                13 days ago

                How does it lock you in? You, the admin, has full control over postgres. Sqlite has no security features. Does it store passwords? Sqlite also locks the database which is usually OK if there are no concurrent jobs. But for such services it sounds like a bad idea to use sqlite. (I am no server/app dev)

                • lime_red@lemmy.worldEnglish
                  2·
                  13 days ago

                  Sqlite shouldn’t lock for read, so unless you are writing something at each access, you can have thousands of concurrent reads. The Sqlite website spells this out, and lists its own self as the proof.

                  This would mean you could not write logs to the database, you’d have to do it the unixy way and put logs in a text file.

                • lambalicious@lemmy.sdf.org
                  English
                  1·
                  8 days ago

                  It locks you to postgres. You don’t necessarily have full control over postgres unless you are using your own instance / service, but oftentimes you might need to connect to an external one. SQLite gives you a local option.

                  Also what do you even mean with “does it store passwords?” A password is just a TEXT or a BLOB if you are feeling charitable and SQLite does support those since forever. If you can store “hello world” you can store a password (just… don’t do it in plaintext, but storage is different from encryption).

        • Kay Ohtie@pawb.socialEnglish
          1·
          14 days ago

          Yeah, I use Authentik currently and the main reason is simplicity of having it with LDAP. But I’ve considered running something else backed by FreeIPA to get more compatibility for LDAP. I feel like I have to fight to get something to work with it.

          But it has some high overhead for sure.

    • keyez@lemmy.worldEnglish
      2·
      12 days ago

      On my server I run a single postgres container and create DBs and users for different apps within. Super resource light and I have 7 apps pointed at a single container. Much easier to manage backups as well when there are several apps in the single DB.

  • corsicanguppy@lemmy.caEnglish
    131·
    14 days ago

    This thing looks great but it has layers of supply-chain sploit risk. Make sure you’re really secure before trying it – and if you’re (otherwise) iso27002 compliant, give it a pass.

    • notquitenothing@sh.itjust.worksOPEnglish
      153·
      14 days ago

      I would not recommend using VoidAuth to anyone who needs to be any kind of security compliant. I am not a security professional and am using packages for the OIDC and other security heavy-lifting. I can recommend VoidAuth for those just looking for a simple but good looking auth app for securing their own selfhosted apps and resources.

    • nelson@lemmy.worldEnglish
      91·
      14 days ago

      I’m trying to wrap my head around your comment to understand. What exactly do you mean by supply chain sploit risk?

      The tool is using 3rd party libraries and those libraries could be used to introduce vulnerabilities in the app?

      • lime_red@lemmy.worldEnglish
        6·
        13 days ago

        This is the correct read.

        This is also the same as any other software package in existence. In fact, if someone claimed to not use any libraries, I’d be taking a close look at that too.

        The key difference is if you’re a paying a company for support and certification of the product as delivered, you can yell at them about it. If you’re using a free product with no support, you can yell at yourself.

    • notquitenothing@sh.itjust.worksOPEnglish
      3·
      14 days ago

      While I haven’t spun up Keycloak myself, I think VoidAuth would supply some similar functionality. Ideally the features of Keycloak that you are likely to need but easier to setup and use!

  • camr_on@lemmy.worldEnglish
    7·
    13 days ago

    I just (partially) got authentik running – how does it compare?

    • notquitenothing@sh.itjust.worksOPEnglish
      5·
      12 days ago

      VoidAuth is simpler to setup/use than Authentik for sure, but of course Authentik has more features. They both support proxy-auth, OIDC, and have user management UIs so in that way they are similar. I like VoidAuth for its simplicity but you can always run both and decide, if you have any questions about setup I will try to answer!

      • camr_on@lemmy.worldEnglish
        4·
        12 days ago

        I’ll definitely check it out today - I found the authentik learning curve to be surprisingly difficult. All I need is a basic set up for getting my friends and family into audiobookshelf, immich, etc, so this may be a welcome improvement

        • MysteriousSophon21@lemmy.worldEnglish
          4·
          12 days ago

          If you’re setting this up for audiobookshelf, you might wanna check out the Soundleaf app for iOS - it’s been a game changer for me with my self-hosted audiobookshelf server.

  • Hawk@lemmy.dbzer0.comEnglish
    6·
    13 days ago

    Definitely giving this a go, seems exactly what I’ve been looking for for my small self hosted stack.

    • notquitenothing@sh.itjust.worksOPEnglish
      3·
      13 days ago

      If you run into any issue during setup let me know! I am still working on the documentation so hopefully it is somewhat understandable 😆