Integrating Radicale with FileBrowser Quantum - #41
Conversation
Added supported file types for Radicale integration documentation.
Updated the configuration steps for enabling Radicale features to clarify the order and details.
This document provides troubleshooting steps for common issues encountered when using Nginx Proxy Manager with Radicale integration, including causes and solutions for proxy failures.
|
I have reopened this pull request because it is related to the following pull request. |
Updated the Radicale integration guide for Podman with detailed setup instructions and configuration examples.
|
Great work! Its neatly organized. Have questions on a few things. |
| .vcf | ||
| ``` | ||
|
|
||
| ## Configuration |
There was a problem hiding this comment.
Here you say, you need radicale, quantum and clients. But the example configuration uses NPM.
Can you provide how to make it for just these 2 containers alone?
There was a problem hiding this comment.
In my example, I'm using the Nginx proxy manager. However, it could be Caddy or another proxy. The important thing is that the proxy has access to the specific network so that HTTPS connections are possible, no host ports need to be exposed by FileBrowser and Radicale, and so that FileBrowser can communicate with Radicale for user and token verification via the /location settings. Currently, only users are being verified.
There was a problem hiding this comment.
The important thing is that the proxy has access to the specific network so that HTTPS connections are possible,
Is this setup only possible with proxy and/or HTTPS?
- Radicale server is running (Docker or Podman).
- FileBrowser Quantum is configured to communicate with Radicale.
For minimal configuration, I thought you could just use radicale, quantum alone with http given what you mentioned in the about.md?
There was a problem hiding this comment.
I tested it myself using a proxy, since I could configure the locations there. An HTTPS connection would be possible via the example URL, and within the internal network of FileBrowser and Radicale, these two containers communicate via HTTP. So, Radicale and FileBrowser each run as separate containers, but within the same pod on my system and are on the same network as the proxy.
|
|
||
| - Click Create API Token (or Generate Token, depending on your version). | ||
|
|
||
| - Copy the token — this is the only time it will be fully visible. |
There was a problem hiding this comment.
Can you put the permissions you set for the API Key here? Or if it was the minimal toggled on ?
I think API Key is the term currently used.
There was a problem hiding this comment.
It's perfectly sufficient to select the minimal option, as only the user and token will be verified later. Calendars, reminders, and contacts will be stored in Radicale and are linked.
However, the token isn't currently being verified because we might need to implement or modify something in FileBrowser so that the username and token are checked for Radicale before access to Radicale is granted.
So, for example, if I enter https://cloud.example.org/caldav as the link and the username is steve (which exists in FileBrowser), Radicale can currently authenticate the user via FileBrowser and proxy settings without a password. It doesn't matter if I enter just a letter or something else as the password in the client... because the password isn't currently being checked. But I can then use the calendar, etc. This is obviously not yet suitable for production use.
There was a problem hiding this comment.
"Create a token without customization."
I removed the "minimal token" language because its not exactly accurate.
| - Avoid trying to create service dependencies between NPM and FileBrowser — this can cause startup conflicts. | ||
| - Once the container is running, NPM can immediately use the internal hostnames for proxying, and the CalDAV/CardDAV locations will work correctly. | ||
|
|
||
| ## Getting Help |
There was a problem hiding this comment.
I think Getting Help is not needed because it doesn't belong to Troubleshooting. It is intuitive to raise an GitHub issue if something is not working.
| - {{< doclink path="user-guides/office-integration/office-integration/" text="Guides" />}} - How-to guides | ||
| - {{< doclink path="integrations/office/troubleshooting/" text="Troubleshooting" />}} - Common issues | ||
|
|
||
| ### {{< doclink path="integrations/radicale/" text="Radicale Integration" />}} |
There was a problem hiding this comment.
Dont put links in header. This gives weird naming in the TOC in the right side.
|
|
||
| If you encounter issues: | ||
|
|
||
| 1. **Enable debug mode** in FileBrowser profile settings. |
There was a problem hiding this comment.
I'm not into Radicale, but may I ask about which debug mode you're talking about?
There was a problem hiding this comment.
For example, you can check certain things with the web browser in development mode, but this is also possible with Docker and Podman. For me under Podman in rootles mode with the quadles I can do 'podman logs containername' or 'systemctl --user status containername.service' etc.
|
@cryinkfly First of, great work! But if I understand correctly, Radicale is a WebDAV client, just that here, we're creating a custom location via proxies into the same Filebrowser sub-domain, right? I'm not sure if we should have the guides directly in Also I think that some things can be simplified if we move all into |
@Kurami32 Its also a WebDAV like server, but for CalDAV (calendar) and CardDAV (contacts). Radicale does not fall under clients but as an integration like OnlyOffice.
@cryinkfly I also feel this should be under
But the idea is good for simple use case for oneself or small family. @gtsteffaniak Do you think Radicale can be integrated with FileBrowser? If Radicale could be integrated, FileBrowser will be Main reason I stopped using Radicale was the WebUI is not maintained. So it would be cool if FileBrowser is at some point. The best solution I could think of to integrate successfully is use FileBrowser as reverse proxy itself for |
As long as nothing is added to the core of FileBrowser Quantum for proxy-free integration, then that would definitely be the right place. It can always be added later in the other location.
That's exactly how the OpenCloud project does it. That's why you would have to build something into the Wuantum file browser core that can be activated by the user if necessary. With OpenCloud, for example, I don't necessarily need a proxy! Feel free to take a look |
|
This looks very well put together -- this type of thing is what I want the However, I am not sure this belongs in the Just to confirm, this is all supported by the main branch of the official filebrowser quantum repo correct? If so, I think the integrations guide could be removed and this would sit in the user guides section only, since no actual integration configuration on filebrowser quantum is needed. |
|
I'm now experimenting a bit with:
... and the check works... now I just need to somehow connect this to the proxy and Radicale. |
|
This code at least checks the token and username. And if the username and token don't match, then no folder will be created at Radical. Here is a config in mine Nginx Proxy Manager: And with this command I was able to test it: However, there are still problems with the clients that I need to resolve. |
|
I don't want to slow any of these docs down, but I would encourage you to take your time on both of these open user guides. Since webdav won't be official until v1.3.0, you'll have to wait for screenshots and other things until then anyways -- I plan to release it probably next weekend or sometime soon after. Theres a lot to test and technically this is still in a development branch for now. The implementation for webdav in 1.3.0 has been slightly altered to support the filebrowser quantum access rules and user permissions, there may be other small differences too. If you haven't already, do some of your testing on the dev/v1.3.0 branch just to make sure nothing is too different. |
There was a problem hiding this comment.
I would like to remove these from the "integrations" section and instead be a guide on "user guides"
There was a problem hiding this comment.
this is the only hangup here
There was a problem hiding this comment.
actually thinking about it, in general webDAV can be considered an integration since theres api code in filebrowser specifically for this -- just like onlyoffice.
So I am fine with a generic webDAV section for the integrations -- but any specific implementation examples like calDAV and radicale should be a user guide.
gtsteffaniak
left a comment
There was a problem hiding this comment.
just waiting for v1.3.0 release and a few tweaks here.
|
@cryinkfly I see theres a few comments left here, you want us to pick this up to finish it? |
|
@gtsteffaniak Yes, unfortunately I've been too busy these last few weeks. Among other things, there were lectures and so on... I did mention your project in my presentation on Rootless Podman at the Chemnitz Linux Days last weekend, and many people didn't even know about it until then. |
|
ok no worries just let me know when you think its updated to match v1.3.x version |
Description
All changes are considered, but for now please only add english documentation.
Additional Details
- For Radicale, parts of the integration guide have already been added, but it is not yet complete!