Stavros 318f00993e Feat/new UI (#153)
* wip

* feat: make forms functional

* feat: finalize pages

* chore: remove unused translations

* feat: app context

* feat: user context

* feat: finalize username login

* fix: use correct tab order in login form

* feat: add oauth logic

* chore: update readme and assets

* chore: rename docs back to assets

* feat: favicons

* feat: custom background image config option

* chore: add acknowledgements for background image

* feat: sanitize redirect URL

* feat: sanitize redirect URL on check

* chore: fix dependabot config

* refactor: bot suggestions

* fix: correctly redirect to app and check for untrusted redirects

* fix: run oauth auto redirect only when there is a redirect URI

* refactor: change select color

* fix: fix dockerfiles

* fix: fix hook rendering

* chore: remove translations cdn

* chore: formatting

* feat: validate api response against zod schema

* fix: use axios error instead of generic error in login page
2025-05-20 17:17:12 +03:00
2025-05-20 17:17:12 +03:00
2025-05-20 17:17:12 +03:00
2025-05-20 17:17:12 +03:00
2025-05-20 17:17:12 +03:00
2025-05-20 17:17:12 +03:00
2025-05-20 17:17:12 +03:00
2025-05-15 16:41:26 +03:00
2025-05-20 16:39:27 +03:00
2025-02-08 12:49:45 +02:00
2025-05-15 16:41:26 +03:00
2025-03-23 13:07:53 +02:00
2025-05-20 17:17:12 +03:00
2025-03-09 16:52:17 +02:00
2025-01-19 15:07:23 +02:00
2025-05-20 17:17:12 +03:00
2025-02-08 12:58:37 +02:00

Tinyauth

Tinyauth

The easiest way to secure your apps with a login screen.

License Release Issues Tinyauth CI

Tinyauth is a simple authentication middleware that adds simple username/password login or OAuth with Google, Github and any generic provider to all of your docker apps. It is designed for traefik but it can be extended to work with other reverse proxies like caddy and nginx.

Screenshot

Warning

Tinyauth is in active development and configuration may change often. Please make sure to carefully read the release notes before updating.

Note

Tinyauth is intended for homelab use only and it is not made for production use cases. If you are looking for something production ready please use authentik instead.

Discord

I just made a Discord server for tinyauth! It is not only for tinyauth but general self-hosting and homelabbing. See you there!.

Getting Started

You can easily get started with tinyauth by following the guide in the documentation. There is also an available docker compose file that has traefik, whoami and tinyauth to demonstrate its capabilities.

Documentation

You can find documentation and guides on all of the available configuration of tinyauth in the website.

Contributing

All contributions to the codebase are welcome! If you have any recommendations on how to improve security or find a security issue in tinyauth please open an issue or pull request so it can be fixed as soon as possible!

Localization

If you would like to help translating the project in more languages you can do so by visiting the Crowdin page.

License

Tinyauth is licensed under the GNU General Public License v3.0. TL;DR — You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions. For more information about the license check the license file.

Sponsors

Thanks a lot to the following people for providing me with more coffee:

User avatar: erwinkramer  User avatar: nicotsx  User avatar: SimpleHomelab  User avatar: jmadden91  User avatar: tribor  User avatar: eliasbenb  

Acknowledgements

Credits for the logo of this app go to:

  • Freepik for providing the police hat and badge.
  • Renee French for the original gopher logo.
  • Coderabbit AI for providing free AI code reviews.
  • Kurt Cotoaga for providing the bacgkround image of the app.

Star History

Star History Chart

Description
tinyauth is a simple authentication and authorization middleware plugin for Traefik
Readme GPL-3.0 14 MiB
Languages
Go 67.7%
TypeScript 28.8%
CSS 2.2%
Dockerfile 0.6%
JavaScript 0.4%
Other 0.3%