Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
fd96f39
wip
steveiliop56 Apr 29, 2025
56ae246
feat: make forms functional
steveiliop56 May 8, 2025
5153235
feat: finalize pages
steveiliop56 May 9, 2025
0880152
chore: remove unused translations
steveiliop56 May 9, 2025
31a7b0f
feat: app context
steveiliop56 May 9, 2025
41c63e5
feat: user context
steveiliop56 May 9, 2025
6453ede
feat: finalize username login
steveiliop56 May 9, 2025
4e91e56
fix: use correct tab order in login form
steveiliop56 May 9, 2025
a488b70
feat: add oauth logic
steveiliop56 May 12, 2025
28ef893
chore: update readme and assets
steveiliop56 May 12, 2025
f05181b
chore: rename docs back to assets
steveiliop56 May 14, 2025
dbc4601
feat: favicons
steveiliop56 May 14, 2025
003f55b
feat: custom background image config option
steveiliop56 May 14, 2025
a4224e6
chore: add acknowledgements for background image
steveiliop56 May 14, 2025
28eea8d
feat: sanitize redirect URL
steveiliop56 May 14, 2025
10dc228
feat: sanitize redirect URL on check
steveiliop56 May 14, 2025
2246ca0
Merge branch 'main' into feat/new-ui
steveiliop56 May 14, 2025
b12d065
chore: fix dependabot config
steveiliop56 May 14, 2025
ada2177
refactor: bot suggestions
steveiliop56 May 14, 2025
6009399
fix: correctly redirect to app and check for untrusted redirects
steveiliop56 May 14, 2025
0020372
fix: run oauth auto redirect only when there is a redirect URI
steveiliop56 May 14, 2025
3612ac0
refactor: change select color
steveiliop56 May 15, 2025
03f1930
fix: fix dockerfiles
steveiliop56 May 15, 2025
76346fe
fix: fix hook rendering
steveiliop56 May 15, 2025
00fbbfc
chore: remove translations cdn
steveiliop56 May 15, 2025
d59f354
Merge branch 'main' into feat/new-ui
steveiliop56 May 20, 2025
02f83ba
chore: formatting
steveiliop56 May 20, 2025
e819045
feat: validate api response against zod schema
steveiliop56 May 20, 2025
97b0d3e
fix: use axios error instead of generic error in login page
steveiliop56 May 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,5 @@ LOGIN_MAX_RETRIES=5
LOG_LEVEL=0
APP_TITLE=Tinyauth SSO
FORGOT_PASSWORD_MESSAGE=Some message about resetting the password
OAUTH_AUTO_REDIRECT=none
OAUTH_AUTO_REDIRECT=none
BACKGROUND_IMAGE=some_image_url
98 changes: 0 additions & 98 deletions .github/workflows/translations.yml

This file was deleted.

3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ FROM oven/bun:1.2.12-alpine AS frontend-builder
WORKDIR /frontend

COPY ./frontend/package.json ./
COPY ./frontend/bun.lockb ./
COPY ./frontend/bun.lock ./

RUN bun install

Expand All @@ -21,7 +21,6 @@ COPY ./frontend/tsconfig.json ./
COPY ./frontend/tsconfig.app.json ./
COPY ./frontend/tsconfig.node.json ./
COPY ./frontend/vite.config.ts ./
COPY ./frontend/postcss.config.cjs ./

RUN bun run build

Expand Down
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div align="center">
<img alt="Tinyauth" title="Tinyauth" height="256" src="frontend/public/logo.png">
<img alt="Tinyauth" title="Tinyauth" width="96" src="assets/logo-rounded.png">
<h1>Tinyauth</h1>
<p>The easiest way to secure your apps with a login screen.</p>
</div>
Expand All @@ -14,27 +14,27 @@

<br />

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 all reverse proxies like caddy and nginx.
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.

![Login](assets/screenshot.png)
![Screenshot](assets/screenshot.png)

> [!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 and it is not made for production use cases. If you are looking for something production ready please use [authentik](https://goauthentik.io).
> 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](https://goauthentik.io) instead.

## Discord

I just made a Discord server for Tinyauth! It is not only for Tinyauth but general self-hosting because I just like chatting with people! The link is [here](https://discord.gg/eHzVaCzRRd), see you there!
I just made a Discord server for tinyauth! It is not only for tinyauth but general self-hosting and homelabbing. [See you there!](https://discord.gg/eHzVaCzRRd).

## Getting Started

You can easily get started with tinyauth by following the guide in the [documentation](https://tinyauth.app/docs/getting-started.html). There is also an available [docker compose file](./docker-compose.example.yml) 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 [here](https://tinyauth.app).
You can find documentation and guides on all of the available configuration of tinyauth in the [website](https://tinyauth.app).

## Contributing

Expand All @@ -60,6 +60,8 @@ 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

Expand Down
Binary file added assets/logo-rounded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/logo-solid.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file modified assets/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ var rootCmd = &cobra.Command{
CookieSecure: config.CookieSecure,
Domain: domain,
ForgotPasswordMessage: config.FogotPasswordMessage,
BackgroundImage: config.BackgroundImage,
OAuthAutoRedirect: config.OAuthAutoRedirect,
}

Expand Down Expand Up @@ -205,6 +206,7 @@ func init() {
rootCmd.Flags().Int("log-level", 1, "Log level.")
rootCmd.Flags().String("app-title", "Tinyauth", "Title of the app.")
rootCmd.Flags().String("forgot-password-message", "You can reset your password by changing the `USERS` environment variable.", "Message to show on the forgot password page.")
rootCmd.Flags().String("background-image", "/background.jpg", "Background image URL for the login page.")

// Bind flags to environment
viper.BindEnv("port", "PORT")
Expand Down Expand Up @@ -238,6 +240,7 @@ func init() {
viper.BindEnv("login-timeout", "LOGIN_TIMEOUT")
viper.BindEnv("login-max-retries", "LOGIN_MAX_RETRIES")
viper.BindEnv("forgot-password-message", "FORGOT_PASSWORD_MESSAGE")
viper.BindEnv("background-image", "BACKGROUND_IMAGE")

// Bind flags to viper
viper.BindPFlags(rootCmd.Flags())
Expand Down
5 changes: 4 additions & 1 deletion frontend/.prettierignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Ignore artifacts:
dist
node_modules
node_modules
bun.lock
package.json
src/lib/i18n/locales
3 changes: 1 addition & 2 deletions frontend/Dockerfile.dev
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM oven/bun:1.1.45-alpine
WORKDIR /frontend

COPY ./frontend/package.json ./
COPY ./frontend/bun.lockb ./
COPY ./frontend/bun.lock ./

RUN bun install

Expand All @@ -16,7 +16,6 @@ COPY ./frontend/tsconfig.json ./
COPY ./frontend/tsconfig.app.json ./
COPY ./frontend/tsconfig.node.json ./
COPY ./frontend/vite.config.ts ./
COPY ./frontend/postcss.config.cjs ./

EXPOSE 5173

Expand Down
Loading