Commit graph

35 commits

Author SHA1 Message Date
Piotr Łoboda
264d4da6e5 feat: update README.md to include myself 2026-02-25 01:01:14 +01:00
Bruno Bernardino
ec334fb8fa
Update managed cloud buy URL
Some checks are pending
Build Docker Image / build-and-push (push) Waiting to run
Deploy / deploy (push) Waiting to run
Run Tests / test (push) Waiting to run
2026-02-24 14:45:31 +00:00
Bruno Bernardino
c26cae625e
Remove fresh
This implements a huge change, where Fresh is removed as a framework and serving files, allowing more control over importing, bundling, and serving files and components.

The biggest challenge was to continue making sure that there weren't too many places to look into for import versions, and `PasswordlessPasskeyLogin.tsx` became a prototype in migrating a component to fully SSR, no need for frontend parsing (via Babel) or bundling (via a custom-script, downloading frontend dependencies from esm.sh). Still, there are too many components to migrate like that, and it's all working, so I likely won't even attempt it unless there's some bug, new feature, or security vulnerability to address that warrants a rewrite of those.

This also updates all dependencies (except `@libs/xml` because that still causes some breaking in DAV endpoints), including Deno!

All other advantages can be seen in the related issues, and the breaking change this (v4.0.0) introduces is related simply to `config.email.tlsMode` (which had a deprecation warning throughout v3), and because, while I tested many things exhaustively, it's not impossible something broke that I didn't see.

Closes #141
Closes #132
2026-02-20 10:54:31 +00:00
Erin of Yukis
54852181ab docs: Update bewcloud-nixos link and description
It’s now actually Docker-level easy to use (no more manual installation) and also hosted on Codeberg.
2025-12-29 17:45:37 +01:00
Erin of Yukis
f64751956a
Declare deno task run-with-perms task specifying all the permissions actually needed and alias all other tasks through that (#136)
* Declare `deno task execute-with-permissions` task specifying all the permissions actually needed and alias all other tasks through that

Also add `migrate-db` task to the Deno configuration and use that in the
`Makefile`, so that the Makefile is fully optional, and swap the meanings of
the `start` and `preview` tasks, so that `start` is for production while
`preview` is for development.

* Keep task names consistent (no breaking changes)

* Reorder tasks

* Remove empty lines

* Use correct task in Dockerfile

* Bring back start (no breaking changes)

* Update readme with preview command

* Update necessary permissions for running locally and in docker

---------

Co-authored-by: Bruno Bernardino <me@brunobernardino.com>
2025-12-29 11:07:42 +00:00
Bruno Bernardino
a68bdba4b5
Misc fixes for file shares
Remove file share when deleting a file/directory (#121)

Keep a consistent logged-out-view of file shares (#123)

Simplify README, add FAQ with more info, including `.env`-based config (#90)

Closes #121
Closes #123
Closes #90
2025-12-08 09:17:42 +00:00
Erin of Yukis
cfa21e6089
Add reference to bewcloud-nixos to README.md (#126)
* Add reference to `bewcloud-nixos` to README.md

As requested in https://github.com/bewcloud/bewcloud/pull/125#issuecomment-3612270900.

* Add suggestion

* Add suggestion

---------

Co-authored-by: Bruno Bernardino <me@brunobernardino.com>
2025-12-05 17:12:41 +00:00
Bruno Bernardino
15dcc8803d
Basic CalDav UI (Calendar)
This implements a basic CalDav UI, titled "Calendar". It allows creating new calendars and events with a start and end date, URL, location, and description.

You can also import and export ICS (VCALENDAR + VEVENT) files.

It allows editing the ICS directly, for power users.

Additionally, you can hide/display events from certain calendars, change their names and their colors. If there's no calendar created yet in your CalDav server (first-time setup), it'll automatically create one, titled "Calendar".

You can also change the display timezone for the calendar from the settings.

Finally, there's some minor documentation fixes and some other minor tweaks.

Closes #56
Closes #89
2025-09-06 12:46:13 +01:00
Bruno Bernardino
47f443c300
Fix for Evolution CardDav/CalDav
They seem to make `GET` requests with `body`, which isn't allowed by the spec and causes Deno to fail. This prevents/ignores that.

It also makes the default `docker-compose.yml` "safer" by not exposing the database and container.

Finally, it removes a couple of unmaintained "one-click-deploy" buttons and simplifies documentation.
2025-08-28 14:57:51 +01:00
Bruno Bernardino
02d1d3e6fa
Properly fix initial contacts setup
Partially reverts 263cdf544a because it wasn't necessary.
2025-08-27 16:44:01 +01:00
Bruno Bernardino
263cdf544a
Fix for initial/clean Radicale setup
This fixes a problem with the contacts app displaying an error on a clean install, due to the fact that `tsdav`'s address book listing didn't ask for a main address first, so Radicale wouldn't create the user directory.

It also upgrades `deno`'s version.
2025-08-27 14:57:19 +01:00
Bruno Bernardino
289f34fe8e
Basic CardDav UI (Contacts)
This implements a basic CardDav UI, titled "Contacts". It allows creating new contacts with a first name + last name, and editing their first and last names, main email, main phone, and notes.

You can also import and export VCF (VCARD) files.

It also allows editing the VCARD directly, for power users.

Additionally, you can choose, create, or delete address books, and if there's no address book created yet in your CardDav server (first-time setup), it'll automatically create one, titled "Contacts".

Finally, there are some dependency updates and a fix for the config not allowing disabling the `cardDav` or the `calDav` server.

Related to #56
2025-08-10 07:48:16 +01:00
Bruno Bernardino
820d1622f6
Update OIDC and CalDav/CardDav instructions.
Upgrade Deno, formatting tweaked the SVG files, now.
2025-07-26 09:13:59 +01:00
Bruno Bernardino
781df673dc
Add CardDav and CalDav servers (#80)
* Add CardDav and CalDav servers

This implements the servers, but not the clients (yet). The implementation is essentially a proxy to Radicale (as a container in `docker-compose.yml`), with certain security assurances.

If you're upgrading, basically you'll need to create a new `data-radicale` directory, and everything else should just work.

This will also release v2.3.0 with those enabled by default. Tested with Thunderbird and Apple Calendar + Contacts.

To disable these, simply add the new config details and comment out or don't add the new `radicale` service from `docker-compose.yml`.

Related to #56
2025-07-20 10:35:32 +01:00
Bruno Bernardino
7fac7febcf
Public File Sharing (#72)
* Public File Sharing

This implements public file sharing (read-only) with and without passwords (#57).

It also fixes a problem with filenames including special characters like `#` not working properly (#71).

You can share a directory or a single file, by using the new share icon on the right of the directories/files, and click on it to manage an existing file share (setting a new password, or deleting the file share).

There is some other minor cleanup and other copy updates in the README.

Closes #57
Fixes #71

* Hide UI elements when sharing isn't allowed
2025-06-20 12:04:16 +01:00
Bruno Bernardino
717f55f0af
Align sponsors to the center 2025-06-06 06:20:30 +01:00
Bruno Bernardino
ef75eb520c
Try to make sponsors image smaller 2025-06-06 06:15:22 +01:00
Bruno Bernardino
a675f76178
Add Sponsors 2025-06-06 06:13:16 +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
869e712432
Fix small typo in documentation
Some checks failed
Build Docker Image / build-and-push (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Run Tests / test (push) Has been cancelled
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
Joel Godfrey
581ff2ccc9
Update README.md on docker selfhost commands (#42)
Some checks failed
Build Docker Image / build-and-push (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Run Tests / test (push) Has been cancelled
* 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
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
Bruno Bernardino
3f5422f8eb
Add basic Notes UI 2024-04-26 14:31:25 +01:00
Bruno Bernardino
bcf54f148e
Update TODOs in README 2024-04-14 18:55:51 +01:00
Bruno Bernardino
670845ed13
Add new API endpoint to get a list of files for a given directory. 2024-04-12 06:59:51 +01:00
Bruno Bernardino
735b14544a
Build + offer docker image and docker-compose.yml file for easier self-hosting
Tweak login and auth for IP-based setups and setups without email enabled.
2024-04-09 13:22:05 +01:00
Bruno Bernardino
5a85dd224e
Allow signing up forever without Brevo.
Also allow logins from local IPs (related to #5).
2024-04-08 20:53:28 +01:00
Bruno Bernardino
4f97609ebb
Link desktop sync client 2024-04-08 19:31:12 +01:00
Bruno Bernardino
265c52a7e5
Add WebDav server, fully functional!
Some more code cleanup.
2024-04-06 19:43:34 +01:00
Bruno Bernardino
aee720fbc4
Files UI complete with search, sharing via symlink. 2024-04-04 17:55:47 +01:00
Bruno Bernardino
4e5fdd569a
Files CRUD.
Remove Contacts and Calendar + CardDav and CalDav.
2024-04-03 14:02:04 +01:00
theophine savio theodore
b7bf69b974
Update README.md: fixed lil typo 2024-03-17 10:44:46 +05:30
Bruno Bernardino
a5cafdddca
Make it public! 2024-03-16 08:40:24 +00:00