Skip to content

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)

of project new --name myclient --yes

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.