Skip to main content

Daily Operations

Monitoring Container Health

Regularly check that all services are running:
Watch for:
  • Application startup messages
  • Error logs
  • Request timeouts
  • Database connection issues

Health Check Endpoints

Plausible provides health check endpoints:
Use /api/system/health/live and /api/system/health/ready for Kubernetes probes and load balancers.

Backup Strategy

PostgreSQL Backups

1

Manual Backup

Create a full database dump:
2

Compressed Backup

For large databases:
3

Automated Backups

Add a cron job:

ClickHouse Backups

ClickHouse data is the largest component:
ClickHouse backups can be very large. Ensure you have sufficient disk space and consider backup retention policies.

Restore Procedures

Database Maintenance

PostgreSQL Maintenance

Reclaim storage and update statistics:
Schedule monthly with cron:

ClickHouse Maintenance

Manually trigger merges for better performance:
OPTIMIZE FINAL can be resource-intensive. Run during low-traffic periods.
For data retention (e.g., keep only 2 years):
Dropping partitions permanently deletes data. Always backup first!

Log Management

View Logs

Log Rotation

Configure Docker logging driver in docker-compose.yml:

Export Logs

Performance Monitoring

Resource Usage

Query Performance

Cleanup and Optimization

Docker Cleanup

docker volume prune will delete all unused volumes, including database volumes if containers are stopped. Always verify volumes before pruning.

Clean Old Data

1

Session Cleanup

Plausible automatically cleans old user sessions every 2 hours via cron jobs.
2

Invitation Cleanup

Old invitations are cleaned daily at 1 AM.
3

Analytics Data

Manually archive or delete old analytics data:

Security Maintenance

Update Docker Images

Regularly update base images for security patches:

Review Access Logs

Rotate Secrets

Rotating SECRET_KEY_BASE will invalidate all user sessions. Plan accordingly.
1

Generate New Secret

2

Update Configuration

Edit plausible-conf.env with the new secret
3

Restart Services

4

Notify Users

All users will need to log in again

Troubleshooting

Symptoms: Containers consuming excessive RAMSolutions:
  1. Check ClickHouse memory settings
  2. Reduce CLICKHOUSE_INGEST_POOL_SIZE
  3. Optimize queries
  4. Add more RAM or enable swap
  5. Review max_memory_usage in ClickHouse config
Symptoms: “No space left on device” errorsSolutions:
  1. Check disk usage: df -h
  2. Clean Docker: docker system prune -a
  3. Clean old logs
  4. Archive old analytics data
  5. Optimize ClickHouse tables
  6. Add more storage
Symptoms: Cannot connect to PostgreSQL or ClickHouseSolutions:
  1. Check database container status
  2. Verify DATABASE_URL and CLICKHOUSE_DATABASE_URL
  3. Check network connectivity
  4. Review database logs
  5. Restart database containers
  6. Verify credentials
Symptoms: Dashboard takes long to loadSolutions:
  1. Optimize ClickHouse tables: OPTIMIZE TABLE ... FINAL
  2. Check for slow queries in ClickHouse logs
  3. Increase ClickHouse memory allocation
  4. Review and optimize custom goals
  5. Consider archiving very old data
  6. Check server resources (CPU, RAM, disk I/O)
Symptoms: Invites and reports not deliveredSolutions:
  1. Check MAILER_ADAPTER configuration
  2. Verify SMTP credentials
  3. Test email configuration:
  4. Review mailer logs
  5. Check firewall rules for SMTP ports
  6. Verify DNS records (SPF, DKIM)

Monitoring Setup

Prometheus Metrics (Optional)

PromEx is disabled by default in Community Edition. Enable it for Prometheus monitoring.
Metrics will be available at http://localhost:8000/metrics.

External Monitoring

Set up external monitoring for production:

Uptime Monitoring

Use services like UptimeRobot or Pingdom to monitor /api/system/health/live

Log Aggregation

Forward logs to services like Loki, ELK, or Datadog

Error Tracking

Configure Sentry for application error tracking with SENTRY_DSN

Metrics

Use Prometheus + Grafana for detailed metrics and dashboards

Maintenance Checklist

Getting Help

GitHub Discussions

Community support forum for self-hosting issues

Documentation

Official Community Edition documentation

Issue Tracker

Report bugs and feature requests

Changelog

Review changes and known issues

Next Steps

Configuration

Review and optimize your configuration

Upgrade Guide

Plan your next upgrade