docker-radicale/README.md
2021-05-05 12:27:48 +02:00

79 lines
1.9 KiB
Markdown

# Docker Radicale
This is a small docker image for [Radicale](https://github.com/Kozea/Radicale) and easy deployment. Bcrypt authentication inclusive.
![docker pulls](https://badgen.net/docker/pulls/cupcakearmy/radicale)
![docker size](https://badgen.net/docker/size/cupcakearmy/radicale)
## Installation
```
# .env
USER=foo
PASSWORD=secret
```
```yml
# docker-compose.yml
version: '3.7'
services:
app:
image: cupcakearmy/radicale:1
restart: unless-stopped
env_file: .env
volumes:
- ./data:/data
ports:
- 80:5232
```
The env file is not strictly required, but will generate a user with its bcrypt password if missing.
## macOS Setup
Without SSL/TLS the native client seems to have problems, once SSL is enabled it works like a charm.
![macOS Setup](.github/macOS.png)
The same setup works for Calendar and on iOS.
## Traefik
An example for traefik (v1) can found below.
```yml
version: '3.7'
networks:
traefik:
external: true
services:
app:
image: cupcakearmy/radicale
env_file: .env
volumes:
- ./data:/data
networks:
- traefik
labels:
- traefik.enable=true
- traefik.backend=radicale
- traefik.frontend.rule=Host:radicale.example.org
- traefik.docker.network=traefik
- traefik.port=5232
```
## Customize
### Config
You can overwrite the config by simply mounting it into `/etc/radicale/config`.
### User Auth
The default script only creates a default user with the given `USER` and `PASSWORD` credentials. For multiple users you need to create the files manually. In the default config this is set to `/data/users`.
You can add users with `htpasswd -bB -c /data/users user pass`. And then mount that file to `/data/users` or whatever you have set in the Radicale config file `filesystem_folder`, [more here](https://radicale.org/3.0.html#documentation/configuration/auth/htpasswd_filename).