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:
- Configure Company - Set up company details in Odoo Settings
- Install Modules - Install required custom modules (JustCall, Xero, etc.)
- Set Up Integrations - Configure API keys and OAuth credentials
- Deploy PWA - Configure Field PWA for technicians
- Configure Backups - Set up automated backup schedule
- 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