Skip to content

Getting Started

This page takes you from nothing to your own Odoo module running in production. The video shows the whole path in about five minutes; the steps below are the same path, one at a time, with the commands to copy.

The whole path, start to finish. The video has sound.

You need a GitHub account, and Git and Docker on your machine. The example project is called ged; use your own project’s name wherever it appears.

In the portal, open Projects and click Create a project. Give it a name and an address. The address is permanent: it becomes https://<address>.ordomatics.com.

The platform then builds the project: a code repository, file storage, a database and the servers. It takes a few minutes, and the page follows along on its own. When it says Ready, your Odoo is online.

Your code lives in your own GitHub repository, created from our template.

On ordomatics/odoo-template, click Use this template → Create a new repository. Make it Private, and leave Include all branches off.

Clone it, then create the dev branch. You work on dev; main is what production runs.

Terminal window
git clone https://github.com/<you>/ged.git
cd ged
git switch -c dev
git push -u origin dev

On your project’s page in the portal, click Connect GitHub. GitHub asks which repositories the Ordomatics app may access: choose Only select repositories and pick yours, then Install.

Back in the portal, pick the repository and click Use. The platform writes everything the build pipeline needs into the repository’s settings. You set none of it by hand.

Copy the example environment file and set three values in it:

Terminal window
cp .env.example .env
Variable Value
COMPOSE_PROJECT_NAME Your project’s name
PLATFORM_TAG Your project’s Odoo version, e.g. 18.0
DB_NAME Your project’s name

Then start the stack:

Terminal window
docker compose up --build -d

The first start installs every module and takes a few minutes. Odoo is then on localhost:8069, with the login admin and the password admin. It is the same image production runs.

Modules go in addons/. The example adds a filing reference to every document, on top of the document management module that ships with the platform.

List your module at the end of modules.cfg, with anything it depends on before it:

dms
ged

That list is what gets a module installed, here and in production. Then restart Odoo:

Terminal window
docker compose restart odoo

A restart is enough because the platform’s image installs and upgrades everything in modules.cfg each time it starts: new modules are installed, the others upgraded. You do not run -i or -u yourself.

Terminal window
git add -A
git commit -m "GED: a filing reference on documents"
git push

Every push to dev builds your image and tests that Odoo starts with it. Follow the run under Actions in your repository.

When the dev run has passed, fast-forward main to dev and push:

Terminal window
git switch main
git merge --ff-only dev
git push
git switch dev

Production gets exactly the image that dev built and tested. Nothing is rebuilt. Your project’s database is upgraded first, then the servers restart on the new image; expect the site to be unavailable for a minute. The portal shows the release arrive, and then Up to date.

On the environment’s page in the portal, View logs shows the web server, the background jobs and the live-updates server.

Then open your site and sign in. A new project starts with the login admin and the password admin.

Once a project is running, see Manage your project for environments, databases and your own domain.