#
Odoo Hosting Reference Guide
As part of your hosting environment with Hosted Power, your Odoo application is managed via a systemd
service under your Linux user account. This gives us robust process management, automatic restarts, and easy logging—without requiring containerization or root-level access.
This guide will walk you through the key components of the Odoo service setup, application file structure, and performance tuning.
#
Systemd Service Overview
We use a systemd user-level service to manage and monitor your Odoo application. The service configuration is stored at:
~/.config/systemd/user/application.service
#
Example systemd service file:
[Unit]
Description=Odoo application (main) for %u
Wants=network-online.target
After=network-online.target
Requires=dbus.socket
StartLimitIntervalSec=0
[Service]
LimitNOFILE=819200
LimitNPROC=819200
LimitMEMLOCK=infinity
TimeoutStartSec=900
Type=simple
WorkingDirectory=%h/application/odoo
EnvironmentFile=%h/conf/.env
ExecStart=%h/.pyenv/shims/python %h/application/odoo/odoo-bin -c %h/conf/odoo.conf
ExecStop=/bin/kill -s TERM $MAINPID
Restart=on-failure
RestartSec=10s
KillSignal=SIGQUIT
StandardOutput=append:%h/logs/odoo.log
[Install]
WantedBy=default.target
#
File structure
The service assumes the following directory layout under your home directory:
#
Custom modules
To add custom modules, place them in:
~/application/odoo/addons
You can also create symbolic links inside the addons directory to keep your structure modular.
Important
To safely test new modules or updates, use a separate staging server. Do not run staging environments locally on the same production host.
Why Separate Servers?
- Prevents production disruption.
- Isolates tests and experiments.
- Maintains better performance and security.
We offer affordable and optimized staging environments. Contact support to request a staging clone of your production Odoo.
#
Odoo.conf tuning
You can find your configuration at:
~/conf/odoo.conf
#
Configuration key reference:
Here are some general tuning recommendations for various server sizes:
#
8 GB RAM / 4 CPU Cores:
workers = 8
limit_memory_hard = 4294967296 ; 4 GB
limit_memory_soft = 2147483648 ; 2 GB
limit_request = 8192
limit_time_cpu = 3600
limit_time_real = 7200
limit_time_real_cron = 0
max_cron_threads = 2
proxy_mode = True
#
48 GB RAM / 12 CPU Cores
workers = 36
limit_memory_hard = 6442450944 ; 6 GB
limit_memory_soft = 4294967296 ; 4 GB
limit_request = 8192
limit_time_cpu = 3600
limit_time_real = 7200
limit_time_real_cron = 0
max_cron_threads = 4
proxy_mode = True
#
Logs
Odoo logs are continuously appended to:
~/logs
Monitor this file to troubleshoot startup or runtime issues.
#
Best practices
- Keep your application/odoo directory clean and structured.
- Use symbolic links for large or custom addon libraries.
- Don’t over-allocate memory or workers unless necessary—we monitor and optimize for you.
- Always keep your .env and odoo.conf safe and backed up.
#
Need help?
Contact our support if you're unsure about config tuning, migration, or if you experience performance bottlenecks. We’re here to assist with your Odoo stack.