Knowledgebase

Published WWKNOW guidance for hosting, servers, infrastructure operations, and dependable digital services.

← Back to Knowledgebase

Install Odoo Community and prepare it for production

This guide covers a new Linux installation of Odoo Community. Match the major version to your order and existing modules; Odoo 19 documentation is used below. Do not upgrade an existing database by simply installing a newer major version. Odoo Enterprise requires the relevant subscription and authorised software access.

1. Select a supported installation method

Use Odoo's official packaged installer for your supported operating system, or its official Docker image. Follow one method consistently. Do not mix a distribution package, an unrelated installation script and a second container installation on the same ports.

  1. Back up any existing data. Confirm that the server is dedicated to this installation and that its operating-system version is supported by your selected Odoo release.
  2. For the package method, follow the official packaged-installer page below to add Odoo's signed repository and install the selected version and PostgreSQL. For containers, use the official image with a separate PostgreSQL service and persistent database and filestore volumes. Pin the intended major version instead of using latest.
  3. Keep PostgreSQL private. Use unique database and master passwords. Store configuration with restricted permissions; never paste secrets into a support ticket.
  4. Before public access, create the intended database without demonstration data and choose the application administrator login. The database-manager master password and normal Odoo login are different credentials.

2. Configure the public endpoint

Point the chosen domain to your server. Put Odoo behind an HTTPS reverse proxy; configure the proxy and WebSocket routing for your Odoo version. Enable proxy_mode only behind the trusted proxy. Avoid leaving port 8069 or the database publicly reachable as an alternative login path.

Set a database filter that selects only the intended database for the hostname. After confirming it works, set list_db = False to disable public database listing and management. Keep the master password private. Use the official production configuration guidance for workers, timeouts and resource sizing.

3. Check service health and first login

For a package installation, these read-only checks help identify startup errors:

Run each command separately:

sudo systemctl status odoo --no-pager

sudo journalctl -u odoo -n 50 --no-pager

For a container installation, inspect the correct project's service status and recent application logs. Redact passwords, session values and customer information before sharing output.

  • Open the HTTPS domain and sign in with the application administrator.
  • Confirm that an anonymous visitor cannot list databases.
  • Create a non-sensitive test record and verify that it persists after signing out and back in.
  • Check attachments and test outgoing mail only to an address you own.

4. Operate and recover

Back up PostgreSQL, the matching filestore, custom add-ons and configuration together. Restore to a separate test environment before relying on a backup. A missing module after restore usually means the code or add-on version does not match the database. Do not repeatedly reinstall Odoo to resolve it.

Next: Backups and restore checks.

Official references

Technical guidance reviewed: 28 October 2026. Match instructions to your actual service and application version.

Was this article useful?

Enterprise Grade Components