Quick and easy way to test the compiled KeeperCheky Docker image.
# Copy and edit the .env file
cp .env .env.local # Optional: keep original as reference
nano .env # or your preferred editor
Important settings to update:
MEDIA_PATH: Path to your actual media libraryRADARR_API_KEY, SONARR_API_KEY, etc.: Your actual API keysAPP_DRY_RUN: Keep as true until youβre confident!docker-compose up -d
Open your browser and navigate to:
http://localhost:8780
# Follow logs
docker-compose logs -f
# View specific number of lines
docker-compose logs --tail=100
docker-compose down
http://localhost:8780http://localhost:8000This allows you to run both simultaneously for comparison!
Edit .env and set to true:
RADARR_ENABLED=true
RADARR_URL=http://your-radarr-host:7878
RADARR_API_KEY=your_actual_api_key
Repeat for other services (Sonarr, Jellyfin, Jellyseerr, qBittorrent).
SQLite (Default - Recommended for testing):
DB_TYPE=sqlite
DB_PATH=/data/keepercheky.db
PostgreSQL (For production):
DB_TYPE=postgres
DB_HOST=postgres
DB_PORT=5432
DB_USER=keepercheky
DB_PASSWORD=your_secure_password
DB_NAME=keepercheky
After starting, youβll have:
quickstart/
βββ docker-compose.yml
βββ .env
βββ config/ # Configuration files
βββ data/ # SQLite database (if using SQLite)
βββ logs/ # Application logs
Always test with dry run first!
APP_DRY_RUN=true # No actual deletions
When youβre confident:
APP_DRY_RUN=false # Enable actual deletions
Protect specific media with tags:
APP_EXCLUSION_TAGS=keep,favorite,archive
Tag your media in Radarr/Sonarr, and KeeperCheky will skip them.
# Terminal 1: Run dev environment
cd /home/user/projects/keepercheky
make dev # Runs on port 8000
# Terminal 2: Run quickstart
cd /home/user/projects/keepercheky/quickstart
docker-compose up # Runs on port 8780
Now you can compare:
# Edit .env
nano .env
# Restart to apply changes
docker-compose restart
# Check logs
docker-compose logs -f
# Check health endpoint
curl http://localhost:8780/health
# Check container health
docker-compose ps
# Check logs
docker-compose logs
# Check if port is already in use
sudo lsof -i :8780
# Change port in .env if needed
KEEPERCHEKY_PORT=8081
# Test network connectivity from container
docker-compose exec keepercheky wget -O- http://radarr:7878/api/v3/system/status
# Check if services are accessible from host
curl http://your-radarr-host:7878/api/v3/system/status
# Check volume permissions
ls -la ./data ./config ./logs
# Fix permissions if needed
sudo chown -R $USER:$USER ./data ./config ./logs
# Reset database (WARNING: Deletes all data!)
docker-compose down
rm -rf ./data/keepercheky.db
docker-compose up -d
# Pull latest image
docker-compose pull
# Recreate container
docker-compose up -d --force-recreate
docker stats keepercheky-quickstart
du -sh ./data ./logs ./config
# Stop and remove containers
docker-compose down
# Remove volumes (WARNING: Deletes all data!)
docker-compose down -v
# Remove all files
cd ..
rm -rf quickstart/
# Stop containers but keep volumes
docker-compose down
# Data persists in ./data, ./config, ./logs
APP_DRY_RUN=trueAPP_DRY_RUN=false:ro) for safety./data/keepercheky.db before enabling deletions./logs/keepercheky.log regularlyHappy cleaning! π§Ή