3.0 KiB
3.0 KiB
Cleanmedia Setup Guide
This guide will help you set up Cleanmedia for your Dendrite Matrix server. Cleanmedia is a data retention policy tool that helps manage media storage by implementing configurable retention policies for both remote and local media files.
Prerequisites
Before starting, ensure that:
- Dendrite is properly configured and running.
- You have the correct file paths for your media storage.
- You understand which media files you want to retain/remove.
Configuration Options
You can customize Cleanmedia's behavior through environment variables in your docker-compose file:
CRON
The CRON
variable determines when Cleanmedia will run its cleanup routine. Examples:
environment:
- CRON=0 0 * * * # Daily at midnight (default)
- CRON=0 */6 * * * # Every 6 hours
- CRON=0 0 */2 * * # Every 2 days at midnight
- CRON=0 0 * * 0 # Weekly on Sunday at midnight
- CRON=0 12 * * 1-5 # Weekdays at noon
CLEANMEDIA_OPTS
The CLEANMEDIA_OPTS
variable controls how Cleanmedia performs its cleanup:
-c /etc/dendrite/dendrite.yaml
: Path to your Dendrite configuration file. Leave it as is.-t 30
: Keep media for 30 days (adjust number as needed).-l
: Include local user media in cleanup (optional).-n
: Dry run mode - simulates cleanup without deleting files.-d
: Debug mode for more verbose output.
Example Configurations
- Conservative cleanup (90-day retention, remote media only):
environment:
- CRON=0 0 * * * # Daily at midnight
- CLEANMEDIA_OPTS=-c /etc/dendrite/dendrite.yaml -t 90
- Aggressive cleanup (7-day retention, including local media):
environment:
- CRON=0 */12 * * * # Twice daily
- CLEANMEDIA_OPTS=-c /etc/dendrite/dendrite.yaml -t 7 -l
- Test run (dry run with debug output):
environment:
- CRON=0 0 * * * # Daily at midnight
- CLEANMEDIA_OPTS=-c /etc/dendrite/dendrite.yaml -t 30 -l -n -d
Important Notes
- Always test new configurations with the
-n
(dry run) flag first. - Local media cleanup (
-l
flag) should be used with caution as files might not be retrievable after deletion. - User avatars are automatically preserved.
- The service depends on the monolith service being available.
- Volume mounts must match your Dendrite configuration.
Troubleshooting
-
Missing Files
- Verify volume mount paths match your Dendrite configuration.
- Check file permissions in mounted directories.
- Ensure Dendrite service is running properly.
-
Service Won't Start
- Check logs:
docker compose logs cleanmedia
. - Verify Dendrite configuration file path.
- Ensure monolith service is running.
- Check logs:
-
Unexpected Deletions
- Always test with
-n
flag first. - Review debug logs with
-d
flag. - Check retention period settings.
- Always test with
Next Steps
For more detailed information about Cleanmedia features and configuration options, visit the Cleanmedia documentation.
Proceed to set up the Whatsapp Bridge.