5-Minute Quickstart¶
1. Initialize Odoofly global config¶
of setup init \
--author "My Agency" \
--image odoo \
--version 18.0 \
--email admin@agency.com \
--path ~/ofprojects \
--yes
This creates ~/.config/odoofly/config.yaml:
author: My Agency
odoo_image: odoo
odoo_version: 18.0
projects_path: ~/ofprojects
email: admin@agency.com
2. Set up the Dashboard (optional)¶
# Generates a random password automatically
of setup dashboard --yes
# Or set a specific password
of setup dashboard --password mySecurePass
3. Create a project (development)¶
This scaffolds the directory structure:
myclient/
├── project.yml # IaC Manifest (single source of truth)
└── main/ # Primary environment
├── addons/ # Managed Git repositories
├── etc/ # odoo.conf (auto-tuned)
├── logs/ # Bind-mounted log directory
├── data/ # Docker volumes (filestore, DB)
├── backups/ # ZIP backups (DB dump + filestore)
└── Dockerfile # Auto-synthesized build image
4. Start the environment¶
cd myclient
of env init main # Build infra, pull images, clone repos
of env up main # Launch Odoo + PostgreSQL containers
of env url main # Show access URL (http://localhost:{port})
5. Deploy to production (with TLS)¶
of project new --name client1 --production --domain client1.com --websecure --yes
cd client1
of env init main --up # Build + start
of proxy traefik --email admin@agency.com # Deploy Traefik + Let's Encrypt
of proxy up # Start the reverse proxy
Your client gets https://client1.com with automated HTTPS.