Commit Graph

100 Commits

Author SHA1 Message Date
Bruno Bernardino
aa18dcdb4e Implement (optional) SSO via OIDC (OpenID Connect) (#64)
This implements optional SSO via OIDC for logging in and signing up (for the first admin sign up or if sign up is allowed). The most requested feature!

Tested with Authentik and Google!

It includes a new `SimpleCache` interface (in-memory, using [`caches`](https://developer.mozilla.org/en-US/docs/Web/API/Window/caches)) for storing the state and code challenges.

Closes #13
2025-06-05 18:10:40 +01:00
Bruno Bernardino
cabc18f15d Include example of using the new config file in docker-compose.yml 2025-06-04 14:28:39 +01:00
0xGingi
455a7201e9 Add Optional 2FA Support (#61)
* Add TOTP MFA Support

* Add Passkey MFA Support

It's not impossible I missed some minor cleanup, but most things make sense and there isn't a lot of obvious duplication anymore.

---------

Co-authored-by: Bruno Bernardino <me@brunobernardino.com>
2025-05-29 17:30:28 +01:00
Bruno Bernardino
2a77915630 Fix file upload via Web in Chrome and Firefox
Mentioned in #13 but unrelated to it.
2025-05-26 13:31:35 +01:00
Bruno Bernardino
e337859a22 Implement a more robust Config (#60)
* Implement a more robust Config

This moves the configuration variables from the `.env` file to a new `bewcloud.config.ts` file. Note that DB connection and secrets are still in the `.env` file.

This will allow for more reliable and easier personalized configurations, and was a requirement to start working on adding SSO (#13).

For now, `.env`-based config will still be allowed and respected (overriden by `bewcloud.config.ts`), but in the future I'll probably remove it (some major upgrade).

* Update deploy script to also copy the new config file
2025-05-25 15:48:53 +01:00
Bruno Bernardino
69142973d8 Merge pull request #59 from bewcloud/feature/refactor-misc-fixes
Refactor data handlers + misc fixes
2025-05-24 08:26:45 +01:00
Bruno Bernardino
6cfb62d1a2 Refactor data handlers + misc fixes
This refactors the data handlers into a more standard/understood model-like architecture, to prepare for a new, more robust config system.

It also fixes a problem with creating new Notes and uploading new Photos via the web interface (related to #58).

Finally, it speeds up docker builds by sending in less files, which aren't necessary or will be built anyway.

This is all in preparation to allow building #13 more robustly.
2025-05-24 08:24:10 +01:00
Bruno Bernardino
e1193a2770 Merge pull request #58 from bewcloud/feature/upload-directories-web
Upload Directories via Web
2025-05-13 16:09:43 +01:00
Bruno Bernardino
b8866cdb39 Upload Directories via Web
This implements the option to choose directories when uploading files via the Web UI (The most important part of #52).

When you choose a directory, its file and sub-directory structure will be maintained.

Tested with the latest Safari, Firefox, and Chrome.

Additionally, the Deno version was updated, which required some accessibility improvements as well.
2025-05-13 16:07:27 +01:00
Bruno Bernardino
1e1d3657a2 Improve UX of expenses
Enter on expense description will submit, and auto-complete suggestions will start from closer to longer matches.
2025-03-26 15:55:04 +00:00
Prefex
5467fb3533 Custom Title, Description and Help Email (#54)
* Add configuration of Help email, Title, Description

* Format configuration changes

* Use fragments for help sections

* Revert cleanup in misc.ts
2025-03-20 15:18:09 +00:00
Bruno Bernardino
9e05f591b8 Brings Makefile back into the container
Necessary for the current README instructions, and it's easier.

Fixes #51
2025-03-13 15:20:38 +00:00
Bruno Bernardino
0b5dd1ada7 Fix budget selection for expenses
Also open the new expense modal by default on load for mobile viewport sizes.
2025-03-10 15:13:16 +00:00
Bruno Bernardino
df332802c0 UX improvements for mobile expense input 2025-03-03 09:39:46 +00:00
Bruno Bernardino
05c20ec0a2 Optionally skip domain in cookie (#43)
If you're using a reverse proxy like Cloudflare Tunnels, you can now set `CONFIG_SKIP_COOKIE_DOMAIN_SECURITY="true"` to avoid login issues.

Also makes some UX tweaks to Expenses, and fixes a style issue for Chrome in Windows (#44).

Fixes #43
Fixes #44
2025-03-02 07:24:28 +00:00
Bruno Bernardino
07bbfbb0a5 Change favicon to dark. 2025-02-27 15:09:21 +00:00
Bruno Bernardino
4faa7bd05d Security fix for path-traversal attack (#48)
Additionally:

- Make expense and budget modal "reset" once closed, saved, or deleted.
- Make manifest icons dark
- Budgets in small screens should be full-screen
- Minor code cleanup

Fixes #48
2025-02-27 15:02:10 +00:00
Bruno Bernardino
b3bd8cb3cc Add manifest to allow "installing" app in mobile devices 2025-02-26 18:40:12 +00:00
Bruno Bernardino
874ab006f9 Add Expenses app
A UI based on [Budget Zen](https://github.com/BrunoBernardino/budgetzen-web) but slightly updated and adjusted for bewCloud. It also features a chart with available money and spent by budgets.

This is useful for envelope-based budgeting.
2025-02-26 17:43:53 +00:00
Bruno Bernardino
869e712432 Fix small typo in documentation
Also make sure the migrations run in order. Sets are unordered and thus can't guarantee the expected sorted order required in migrations.
2025-02-21 17:47:46 +00:00
Bruno Bernardino
5c3af00c24 Reduce container size 2025-02-16 08:30:57 +00:00
Joel Godfrey
581ff2ccc9 Update README.md on docker selfhost commands (#42)
* update README docker commands

* update README.md and docker-compose.yml reg user permissions.

* Note on deno user id

* add comment to `mkdir` and EOF diff fix
2025-02-12 14:52:31 +00:00
Bruno Bernardino
2e995cc9f7 Update Deno 2025-02-02 07:30:45 +00:00
Bruno Bernardino
2a95ce06b0 Add example .env var, fix linting 2025-01-11 07:14:02 +00:00
Sergio
8929b6e7d2 Add option to allow extra domains in the auth cookie other than the one in base url (#39)
* Add CONFIG_ALLOWED_COOKIE_DOMAINS option

* Apply suggestions from @BrunoBernardino

---------

Co-authored-by: Bruno Bernardino <me@brunobernardino.com>
2025-01-11 07:09:11 +00:00
Bruno Bernardino
aaeaac0285 Update Deno, update Render deploy file
Fixes #33
Fixes #30 (hopefully, can't replicate)
2024-12-26 11:54:42 +00:00
Bruno Bernardino
24c0c41902 Merge pull request #29 from ryuuzake/feat/issue-24-arm-build
add arm64 build to workflows
2024-12-08 17:13:10 +00:00
Riza Nafis
6736bb898d add arm64 build to workflows 2024-12-08 08:58:13 +00:00
Bruno Bernardino
e08188b58b Minor UX and code improvements 2024-12-06 06:08:15 +00:00
Bruno Bernardino
63a39970fa Merge pull request #27 from Raphencoder/patch-1
Update to authorize local ipv4 addresses
2024-12-06 06:05:23 +00:00
Raphencoder
5e5448a9e9 add tests to check the local ipv4 addresses 2024-12-05 22:06:53 +01:00
Raphencoder
33ecce353e Update to authorize local ipv4 ip addresses
edit way to work in local

try false in secure

add log

fix, update funct isRunningLoccaly

fix fmt

refacto
2024-12-05 22:06:43 +01:00
Bruno Bernardino
bbf8683004 Update Deno to 2.1 LTS! 2024-11-30 08:13:22 +00:00
Bruno Bernardino
7ef8220bb1 Fail with exit code if migration fails
Fixes #18
2024-11-21 14:16:55 +00:00
Bruno Bernardino
e0b8ea6e30 Simplify migration SQL.
Update fresh.

Fixes #17
2024-11-21 14:03:08 +00:00
Bruno Bernardino
560ea569a0 Remove unnecessary file 2024-10-16 15:32:25 +01:00
Bruno Bernardino
0851dfbb44 Finally fix the deletion of old articles and add funding manifest URL 2024-10-16 15:10:03 +01:00
Bruno Bernardino
13b76ba2e0 Fix news cleanup cron (was deleting even in feeds without recent articles) 2024-10-15 17:31:10 +01:00
Bruno Bernardino
fbcaab53d0 Add Cron to delete old, read articles. Update Deno. 2024-10-14 15:13:55 +01:00
Bruno Bernardino
8062df1bb5 Implement bulk delete in files
Closes #10

Also updates Deno and fixes a typo in variables
2024-09-02 16:09:30 +01:00
Bruno Bernardino
c9444883e1 Update docker-compose.yml for working with latest Docker 2024-08-25 07:34:05 +01:00
Bruno Bernardino
769ae5b9f1 Update dependencies, change thumbnail generation method 2024-08-13 16:46:12 +01:00
Bruno Bernardino
4ef575671a Update deno 2024-07-23 20:23:09 +01:00
Bruno Bernardino
b9c5d495f1 Too soon for this version in dockerhub 2024-07-12 09:24:13 +01:00
Bruno Bernardino
7f7901da35 Upgrade deno and use of .dvmrc file 2024-07-12 08:55:55 +01:00
Bruno Bernardino
d0c23a9746 Implement photo thumbnails
This implements generating image thumbnails on the fly via ImageMagick WASM, and tells the browser to cache them for a week, making the loading of photo directories much faster when it has many large images.

Closes #12
2024-07-05 07:05:11 +01:00
Bruno Bernardino
4506febf03 Update Fresh, Deno, and Dependencies 2024-06-10 17:52:22 +01:00
Bruno Bernardino
e21207a76a Add proper locking/unlocking to WebDAV.
Tweak README, add one-click deploy for Digital Ocean and Render.
2024-05-05 08:09:34 +01:00
Bruno Bernardino
6ee0a56f0c Respect CONFIG_ENABLED_APPS in .env 2024-05-01 09:21:30 +01:00
Bruno Bernardino
635ca90de0 Add Photos UI 2024-04-27 08:12:44 +01:00