Description:
Currently Radicale requires manual configuration of authentication via a users file or config file. In Docker-based deployments, especially for quick self-hosted setups, it would be very useful to allow defining a default user through environment variables.
This would simplify initial setup and make Radicale more suitable for automated deployment environments (e.g. Docker Compose, Kubernetes, homelabs).
Proposed feature:
Support environment variables such as:
RADICALE_USER
RADICALE_PASSWORD (or RADICALE_PASS)
These variables could automatically generate or populate an htpasswd-compatible authentication backend on container startup.
Example usage in docker-compose:
environment:
- RADICALE_USER=admin
- RADICALE_PASSWORD=securepassword
Expected behavior:
-
On first startup, if authentication is enabled and no users file exists:
- Automatically create htpasswd file with provided credentials
-
If users file already exists, environment variables are ignored (or optionally used only to append users)
Why this is useful:
- Enables “one-command” setup for Radicale
- Reduces need for manual config file + htpasswd setup
- Improves usability in Docker-based self-hosting environments
- Aligns with existing unofficial Docker images that already implement similar behavior
Alternative considered:
Additional context:
Some community Docker images already implement similar environment variables (e.g. RADICALE_USER, RADICALE_PASS), which shows demand for this feature.
Description:
Currently Radicale requires manual configuration of authentication via a users file or config file. In Docker-based deployments, especially for quick self-hosted setups, it would be very useful to allow defining a default user through environment variables.
This would simplify initial setup and make Radicale more suitable for automated deployment environments (e.g. Docker Compose, Kubernetes, homelabs).
Proposed feature:
Support environment variables such as:
RADICALE_USERRADICALE_PASSWORD(orRADICALE_PASS)These variables could automatically generate or populate an htpasswd-compatible authentication backend on container startup.
Example usage in docker-compose:
Expected behavior:
On first startup, if authentication is enabled and no users file exists:
If users file already exists, environment variables are ignored (or optionally used only to append users)
Why this is useful:
Alternative considered:
Using only config file + htpasswd (current approach)
Additional context:
Some community Docker images already implement similar environment variables (e.g.
RADICALE_USER,RADICALE_PASS), which shows demand for this feature.