Intro
This guide covers the ongoing maintenance tasks required to keep your self-hosted Djangify eCommerce Builder secure, reliable, and recoverable.
You do not need to perform these tasks daily, but you should understand them before going live.
Database Backup Strategy
Your database contains:
-
products
-
orders
-
customers
-
pages
-
configuration
If the database is lost without a backup, your store cannot be recovered.
Manual Database Backup
From your project directory:
This creates a full JSON backup of the database with a date-stamped filename.
Store backups somewhere safe — ideally off the server (cloud storage or another machine).
Backing Up Media Files
Media files include:
-
product images
-
downloadable products
-
uploaded assets
Create a compressed backup:
Media backups are just as important as database backups.
Automated Daily Backups (Recommended)
Create a backup script:
Add the following content:
Make the script executable:
Schedule it to run nightly at 3am:
Add:
This keeps 7 days of rolling backups.
Restoring from Backup
If you need to restore your store:
-
Stop the application service:
-
Restore the database:
-
Restore media files:
-
Restart the application:
Backup Best Practices
-
Keep daily backups for at least 7 days
-
Store weekly or monthly backups off-site
-
Test a restore occasionally
-
Never assume a backup works until you’ve restored it successfully
Updating the Application
When a new version of eCommerce Builder is released, you can update safely without losing data.
Before Updating (Always)
Create a backup:
Update Process
-
Download the new version from your Djangify dashboard
-
Upload the new application files to the server
-
Do not overwrite:
-
.env -
db.sqlite3 -
media/
-
-
-
Apply migrations:
-
Collect static files:
-
Restart the application:
Visit your site and test:
-
admin login
-
page loading
-
checkout (Stripe test mode)
If Something Goes Wrong
-
Stop the application:
-
Restore previous code and backups
-
Reload the database and media
-
Restart the service
If problems persist, contact support with:
-
what version you updated from
-
what version you updated to
-
the exact error message
Monitoring and Health Checks
Proactive monitoring helps you catch issues before customers do.
External Uptime Monitoring (Essential)
Use an external service such as:
-
UptimeRobot
-
HetrixTools
-
StatusCake
Monitor:
-
https://yourdomain.com -
https://yourdomain.com/admin
Set alerts if the site is down for more than 10 minutes.
Application Health
Check service status:
View recent logs:
This replaces all container-based logging.
Disk Space Monitoring
Check disk usage regularly:
If disk usage exceeds 85%, clean up backups or upgrade your server.
SQLite databases can become corrupted if the disk fills completely.
Database Integrity Check (Occasional)
Run:
Then:
The result should be:
Type .quit to exit.
SSL Certificate Checks
Caddy renews certificates automatically.
You can manually verify:
Routine Maintenance Tasks
Weekly
-
Check disk space
-
Confirm backups are being created
-
Review recent logs for recurring errors
Monthly
-
Review server resource usage
-
Check for eCommerce Builder updates
-
Review Stripe dashboard for anomalies
-
Test restoring a backup
Quarterly
-
Review info pages (Privacy, Terms)
-
Verify product downloads still work
-
Review admin users and permissions
-
Rotate credentials where appropriate
Security Maintenance
-
Keep your server OS updated:
-
Ensure
.envpermissions are restrictive:It should be readable only by the owner.
-
Remove unused admin accounts
-
Never share
.envfiles in support requests
Performance Considerations
-
Run
collectstaticafter frontend changes -
Resize and compress images before uploading
-
SQLite performs well for most stores
-
If you experience sustained performance issues at scale, consider PostgreSQL
Final Notes
You do not need:
-
Docker
-
complex monitoring stacks
-
aggressive tuning
A simple, well-maintained server with regular backups and monitoring is sufficient for most stores.
If backups are working and the site is monitored, you are already doing the most important things.