oCoreoCore Docs

oCore vs Manual Self-Hosting

Compare oCore's automated management platform with running Odoo manually on your own servers.

Many teams start by self-hosting Odoo directly on a Linux server with Docker or bare metal installation. oCore provides a management layer on top of the same infrastructure, automating the operational tasks that consume most of the effort. This comparison helps you evaluate whether the automation is worth the additional component.

Feature comparison

FeatureoCoreManual Self-Hosting
Setup & Configuration
Initial setup time~30 minutesHours to days
Server configurationAutomated via agentManual (SSH, config files)
Docker orchestrationManaged automaticallyManual docker-compose
SSL/TLS certificatesAuto-configuredManual (Certbot/Caddy)
Reverse proxyManagedManual (Nginx/Caddy)
CI/CD & Deployments
Git-based deploymentsManual scripts or CI
Auto-deploy on pushRequires custom webhook
Blue-green deploymentsComplex to implement
Deployment rollbackOne-clickManual (Docker tags/git)
Deployment historyManual logging
Backups & Recovery
Automated backup schedulesCron + custom scripts
Remote backup destinationsBuilt-in (S3/GCS)Custom scripts (rclone)
Backup verificationManual
One-click restoreManual (pg_restore)
Retention policiesConfigurable in UICustom scripts
Monitoring & Alerting
CPU/RAM/disk monitoringManual (htop, Prometheus)
Odoo-specific metricsCustom Prometheus exporters
Alert rules & notificationsBuilt-inGrafana/Alertmanager
Log viewerBuilt-inManual (journalctl, Loki)
Health checksAutomaticCustom scripts
Multi-Instance & Teams
Multi-instance managementWeb UI for all instancesSSH to each server
Team management (RBAC)OS-level users or VPN
Centralized dashboardBuild your own
Database management UICLI (psql, pg_dump)
REST API for automationBuild your own
Control
Full system controlVia agent + SSHDirect (full root)
Custom OS-level changesPossible via SSHUnrestricted
No additional software layer

When to choose oCore

oCore is the better choice when you need:

  • Operational efficiency -- The hours spent writing backup scripts, deployment pipelines, monitoring configurations, and maintenance runbooks add up fast. oCore provides all of these out of the box, letting you focus on building Odoo solutions instead of managing infrastructure.

  • Multiple instances -- Managing 3 or more Odoo instances manually becomes increasingly painful. Each instance needs its own backup schedule, monitoring, deployment pipeline, and configuration. oCore centralizes all of this in a single dashboard.

  • Team collaboration -- When multiple people need to deploy, monitor, or manage instances, you need access control, audit logging, and a shared interface. oCore provides role-based access control and a web dashboard that the whole team can use.

  • Consistent operations -- oCore ensures every instance follows the same backup, monitoring, and deployment patterns. With manual self-hosting, each instance tends to drift in configuration over time.

  • Faster incident response -- When something breaks at 3 AM, you want one-click rollback, centralized logs, and clear deployment history. Manual self-hosting means SSH-ing into servers and piecing together what happened.

When to choose manual self-hosting

Manual self-hosting may be the better choice when you need:

  • Maximum control -- If you have very specific infrastructure requirements that do not fit oCore's managed approach, direct server management gives you unrestricted access to every aspect of the system.

  • Single instance simplicity -- If you run a single Odoo instance with minimal deployment frequency, the overhead of setting up oCore may not be justified. A simple Docker Compose file with a cron backup script may be sufficient.

  • Custom infrastructure -- If your Odoo deployment requires non-standard configurations (custom-compiled Python, specific kernel modules, unusual network topologies), direct management provides more flexibility.

  • No additional components -- oCore adds a backend service and database to your infrastructure. If minimizing running components is a priority, manual management avoids this overhead.

  • Learning opportunity -- If your goal is to deeply understand Odoo's infrastructure requirements, manual setup is an excellent learning experience.

The real cost of manual self-hosting

Teams often underestimate the operational cost of managing Odoo infrastructure manually. Here is a realistic time breakdown for maintaining a production Odoo setup:

TaskFrequencyTime per occurrenceAnnual hours
Initial setup (Docker, nginx, SSL, backups)Once8-16 hours8-16
Deployment pipeline setupOnce4-8 hours4-8
Monitoring setup (Prometheus, Grafana)Once4-8 hours4-8
Routine updates (OS, Docker, packages)Monthly1-2 hours12-24
Backup verificationMonthly0.5-1 hour6-12
Incident responseAs needed1-4 hours each12-48
SSL certificate renewalQuarterly0.5 hour2
Total48-118 hours/year

With oCore, most of these tasks are automated. The annual maintenance overhead drops to periodic oCore updates and infrastructure capacity planning.

Migration path

If you are self-hosting Odoo manually and want to migrate to oCore:

  1. Install oCore on your existing server or a new one (see Getting Started)
  2. Add your server to oCore (the agent coexists with your existing setup)
  3. Create a project and link your Git repository
  4. Import your existing database into an oCore-managed instance
  5. Verify everything works, then decommission the manual setup
  6. Configure automated backups and monitoring through the oCore dashboard

The migration can be done gradually -- run oCore alongside your manual setup while you verify, then cut over.

Was this page helpful?