Skip to content

Getting Started

This section provides everything you need to deploy and configure the Odoo 15 ERP system.


Prerequisites

Before deployment, ensure you have:

Requirement Test Environment Production Environment
Docker 20.10+ 20.10+
Docker Compose 2.0+ 2.0+
Git 2.30+ 2.30+
RAM 4GB minimum 8GB+ recommended
Disk 20GB minimum 50GB+ recommended
AWS Account Optional Required (RDS, S3)
Domain Names Not required Required (DNS configured)
SSL Certificates Not required Auto-provisioned via Let's Encrypt

Quick Start

# 1. Clone repository
git clone git@github.com:example/odoo15-production.git
cd odoo15-production

# 2. Configure environment
cp .env.example .env
# Default .env is pre-configured for test environment

# 3. Verify configuration
./production_deploy.sh config

# 4. Start services
./production_deploy.sh start

# 5. Access Odoo
open http://localhost:8016
# 1. Clone repository
git clone git@github.com:example/odoo15-production.git
cd odoo15-production

# 2. Configure environment
cp .env.example .env
nano .env
# Set: ENVIRONMENT=production
# Set: COMPOSE_FILE=docker-compose.yml:docker-compose.prod.yml
# Set: Database connection (RDS)
# Set: Domain names
# Set: Strong passwords

# 3. Verify configuration
./production_deploy.sh config

# 4. Setup SSL certificates
./production_deploy.sh init-ssl

# 5. Start services
./production_deploy.sh start

# 6. Verify deployment
./production_deploy.sh health

COMPOSE_FILE in .env

The .env file includes COMPOSE_FILE which tells Docker Compose which configuration files to load. No -f flags needed in commands.


Services Overview

Service Test URL Production URL Description
Odoo ERP http://localhost:8016 https://erp.example.com Core business platform
Landing Page http://localhost https://example.com Public website
Field PWA http://localhost:8000 https://field.example.com Mobile app
Documentation http://localhost:8002 https://docs.example.com This portal

Environment Configuration

The .env file is the single source of truth for all configuration:

┌─────────────────────────────────────────────────────────────┐
│                   .env (Source of Truth)                    │
├─────────────────────────────────────────────────────────────┤
│  ENVIRONMENT        → test / production                     │
│  COMPOSE_FILE       → Docker compose files to use           │
│  DB_*               → Database connection                   │
│  DOMAIN_*           → Domain names for nginx                │
│  LETSENCRYPT_EMAIL  → SSL certificate notifications        │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│  production_deploy.sh  │  ssl-init.sh  │  docker-compose    │
└─────────────────────────────────────────────────────────────┘
Environment COMPOSE_FILE Database Exposed Ports
Test docker-compose.yml:docker-compose.test.yml Local PostgreSQL All (8016, 8000, 8001, 8002, 80)
Production docker-compose.yml:docker-compose.prod.yml AWS RDS Only 80, 443 (nginx)

Deployment Commands

All deployment operations use the centralized production_deploy.sh script:

Command Description
./production_deploy.sh config Show current configuration
./production_deploy.sh start Start all services
./production_deploy.sh stop Stop all services
./production_deploy.sh restart Restart all services
./production_deploy.sh status Check service status
./production_deploy.sh health Run health checks
./production_deploy.sh logs View logs
./production_deploy.sh deploy Full deployment (backup, pull, build, update)
./production_deploy.sh update Quick update (backup, pull, restart)

Section Guides

Guide Description
Installation Complete installation with Docker setup and prerequisites
Configuration Environment variables, database, domains, and module settings
Quick Start Get productive in 5 minutes with step-by-step guide

Next Steps

After installation:

  1. Configure Company - Set up company details in Odoo Settings
  2. Install Modules - Install required custom modules (JustCall, Xero, etc.)
  3. Set Up Integrations - Configure API keys and OAuth credentials
  4. Deploy PWA - Configure Field PWA for technicians
  5. Configure Backups - Set up automated backup schedule
  6. Configure SSL - Set up Let's Encrypt certificates (production)

Common Commands Quick Reference

# Service Management
./production_deploy.sh start              # Start all
./production_deploy.sh stop               # Stop all
./production_deploy.sh restart            # Restart all
./production_deploy.sh restart-service odoo  # Restart specific service
./production_deploy.sh status             # Check status
./production_deploy.sh logs odoo          # View Odoo logs

# Deployment
./production_deploy.sh deploy             # Full deployment
./production_deploy.sh update             # Quick update
./production_deploy.sh update-module justcall_sms  # Update single module

# Maintenance
./production_deploy.sh backup             # Create backup
./production_deploy.sh db-shell           # PostgreSQL shell
./production_deploy.sh odoo-shell         # Odoo shell

# SSL (Production)
./production_deploy.sh init-ssl           # Full SSL setup
./production_deploy.sh renew-ssl          # Renew certificates