Radicale - cant edit config file

the standard setup using the radicale app has no authentication, allowing anyone to crate a user.

I changed this setting by going into the shell and editing the config file, but it turns out this file is reset upon restarting the container.

I then tried to volume mount the config folder to allow me to create a config file without going the container shell. but binding this folder to dedicated dataset makes the container unable to start. im trying to follow the recommendations form here, but cant when the config files always resets itself.

can anyone help me?

Is most probably a permission issue. Do you have create the dataset with the apps preset? This cover most cases

I tried two diferent setups, on where I only create a data storage and one with data and config storage. I created the datasets within the app setup. but I had to to manually set the permissions to apps:apps (568:568) to make it start.

host path for appdata:

/mnt/apps/my_app_data/radicale/data

this results on the problem where changes to the config file disappears on reboot.

when I create two datasets, one for main app storage and one for the config folder:

host path: /mnt/apps/my_app_data/radicale/config
mount path /config

with this setup the container just constantly restarts and crashes.

I created two folders from within the app setup, like this:

maybe the cofig folder requires different permissins than apps:apps

I’m not so confident with ix apps on catalogue, but the step you follow to me seems correct (the same i found here ).
Enabling ACL makes any difference?
What the log of the container says?

I had the same issue. Radicale stops when you launch it and it encounters a critical issue, then TrueNAS tries to bring it back up. I couldn’t be bothered to look for the logs and see what was wrong, so I created a standard docker compose inside Dockge, instead of using the TrueNAS app.

This is my compose:

services:
  radicale:
    image: ghcr.io/kozea/radicale:stable
    ports:
      - 5232:5232
    user: 568:568 # TrueNAS apps user
    volumes:
      - <'data' dataset>:/var/lib/radicale # where actual data is stored 
      - <config dataset>:/etc/radicale # where the config file and the users file are stored
    deploy:
      resources:
        limits:
          memory: 512m
          cpus: 0.5
networks: {}

The data dataset could be something like /mnt/tank/apps/radicale/data and the config one could be /mnt/tank/apps/radicale/config.

Before you bring the container up, create the two datasets and go into the config one via TrueNAS’ shell. Do nano config and paste the following config file contents:

[server]
# Bind all addresses
hosts = 0.0.0.0:5232, [::]:5232

[auth]
type = htpasswd
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = bcrypt

[storage]
filesystem_folder = /var/lib/radicale/collections

Ctrl + S and then Ctrl + X to save and exit. Now chown apps:apps config to make sure that the file has the correct ownership.

Then, on another machine (since you can’t install anything via TrueNAS’ shell, install htpasswd and run htpasswd -B -c users USER_NAME to create a “users” file and one user. Copy the file contents, go into the config dataset again and nano users and paste the contents of your htpasswd users file in it.

Now you can bring up the docker compose in Dockge, you should be able to log into radicale with the user you created with htpasswd.

Maybe this is a bit convoluted but worked for me.

This is almost exactly what I ended up doing.

I just ended up filling it into the ui configurator, and now it has worked perfectly since. Install haven’t figured out why the preconfigured app doesn’t work.

In your screenshot, I see that you set /config as mount path for the config dataset. Have you tried setting it to /etc/radicale instead?

/etc/radicale should be the default path checked by Radicale when loading the config file

I based my configuration on this docker container GitHub - tomsquest/docker-radicale: Docker image for Radicale calendar and contact server + security + addons 🚀 · GitHub

and from what I understand they specify this in the “authencation configuration” part:

docker run -d --name radicale tomsquest/docker-radicale
-p 5232:5232
-v ./data:/data
-v ./config:/config:ro

maybe this i different form between the official and tomsquest container