diff --git a/README.md b/README.md index bc3545f..4de183d 100644 --- a/README.md +++ b/README.md @@ -298,7 +298,7 @@ You can test it by running `freshclam` or `freshclam.exe` locally, where you've DatabaseMirror http://localhost:8000 ``` -### Use docker +## Use docker Build docker image @@ -338,6 +338,40 @@ docker run -d \ -e CRON='0 0 * * *' \ cvdupdate:latest ``` +## Use Docker Compose + +A Docker `compose.yaml` is provided to: +1. Regularly update a Docker volume with the latest ClamAV databases. +2. Serve a database mirror on port 8000 using the Apache webserver. + +Edit the `compose.yaml` file if you need to change the default values: + +* Port 8000 +* USER_ID=0 +* CRON=30 */4 * * * + +### Build +```bash +docker compose build +``` + +### Start +```bash +docker compose up -d +``` + +### Stop +```bash +docker compose down +``` + +### Volumes +Volumes are defined in `compose.yaml` and will be auto-created when you run `docker compose up` +``` +DRIVER VOLUME NAME +local cvdupdate_database +local cvdupdate_log +``` ## Contribute diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..07c4c43 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,23 @@ +services: + cvdupdate: + build: ./ + hostname: cvdupdate + container_name: cvdupdate + image: cvdupdate:latest + environment: + - CRON=30 */4 * * * + - USER_ID=0 + volumes: + - database:/cvdupdate/database + - log:/cvdupdate/logs + ## Apache instance to serve the mirror + apache: + image: httpd:2.4 + volumes: + - database:/usr/local/apache2/htdocs + ports: + - 8000:80 + +volumes: + database: + log: