Docker is the easiest way to run Odoo on your Mac. No dependency headaches, no version conflicts. This guide gets you from zero to a running Odoo instance in under 10 minutes.
Pre-requisites
macOS 12+
Docker Desktop for Mac
Terminal access
STEP 1 Install Docker Desktop
Docker Desktop is the easiest way to run containers on Mac. Download it from the official site or install via Homebrew.
brew install --cask docker
Open Docker Desktop from your Applications folder and wait for it to start. You’ll see the Docker icon in your menu bar when it’s ready.
STEP 2 Create a Project Directory
mkdir ~/odoo-docker
cd ~/odoo-docker
STEP 3 Create docker-compose.yml
Docker Compose lets you define and run multi-container applications. We need two containers — one for Odoo and one for PostgreSQL.
nano docker-compose.yml
Paste this configuration:
version: '3.1'
services:
db:
image: postgres:15
environment:
- POSTGRES_DB=postgres
- POSTGRES_PASSWORD=odoo
- POSTGRES_USER=odoo
volumes:
- odoo-db-data:/var/lib/postgresql/data
restart: always
odoo:
image: odoo:17.0
depends_on:
- db
ports:
- "8069:8069"
volumes:
- odoo-web-data:/var/lib/odoo
- ./config:/etc/odoo
- ./addons:/mnt/extra-addons
restart: always
volumes:
odoo-db-data:
odoo-web-data:
STEP 4 Create Config Directory
mkdir config addons
STEP 5 Create Odoo Config File
nano config/odoo.conf
[options]
addons_path = /mnt/extra-addons
data_dir = /var/lib/odoo
STEP 6 Start Odoo
docker-compose up -d
Docker will pull the images and start both containers. Wait about 30 seconds and then open your browser.
http://localhost:8069
Useful Docker Commands
# Check running containers
docker-compose ps
# View Odoo logs
docker-compose logs -f odoo
# Stop Odoo
docker-compose down
# Stop and remove all data (fresh start)
docker-compose down -v
# Restart Odoo
docker-compose restart odoo
That’s it. You now have Odoo 17 running on your Mac with Docker. Any custom modules you build go in the addons folder and they’ll be available in Odoo automatically.
Comments
Join the discussion. Got a question, found an issue, or want to share your experience?