Skip to Content

Toasty Deployer Odoo Companion

Bringing The Toasty Deployer Into Odoo
8 September 2026 by
All Things Toasty Software Ltd, Austin Welsh-Graham

I've been working on Toasty Deployer for a little while now, and one of the things I wanted to do was make the deployment information it collects more useful from inside Odoo.

That led to the Toasty Deployer Odoo Companion. An Odoo module that brings deployment history directly into Odoo, alongside the rest of the data I'm already working with.

What is Toasty Deployer?

Toasty Deployer is my deployment system for automatically deploying changes from my repositories onto my servers. Rather than having to manually SSH into a server and run deployment commands, Toasty Deployer provides an API that can be called by my repositories and handles running the appropriate deployment scripts.

The Odoo companion sits on top of that API and makes the resulting deployment history accessible through Odoo.

Deployment history inside Odoo

The module periodically polls the Toasty Deployer API and discovers the owners, repositories and deployment runs that it knows about.

Those are then represented as Odoo records, giving me a much nicer way of browsing what has been deployed and when.

Each repository can show its latest deployment status directly, with the current state represented as a badge for things like successful, failed or currently running deployments.

There is also a custom OWL-based log viewer on the repository page. Instead of having to open every deployment individually, I can see the runs for that repository and expand their terminal output when I need to investigate something.

This is particularly useful when something goes wrong during a deployment and I want to quickly see what happened.

A little bit of GitHub integration

The module also currently pulls some additional information from the public GitHub API.

When an owner or repository is discovered, the companion can populate information such as:

  • Profile pictures
  • User bios
  • GitHub profile URLs
  • Repository descriptions
  • Repository URLs

This makes the Odoo views a little more useful than simply having a repository name and a deployment status.

There are also manual GitHub Sync and Toasty Deployer Sync actions, so I don't have to wait for the scheduled five-minute sync when I want to update things immediately.

Moving towards GitLab

There is an important change coming to this project, though.

As part of my move towards using my own self-hosted GitLab instance as my primary development platform, I'm working on moving Toasty Deployer itself towards GitLab support.

That doesn't mean the Odoo companion is going away or needs a complete redesign.

The deployment side of the module is deliberately fairly separated from the repository hosting service. The main thing that will change in the Odoo companion is the small amount of GitHub-specific API integration used to retrieve owner and repository profile information.

The deployment data itself still comes from Toasty Deployer, so the core functionality of the module should remain largely unchanged.

Hopefully, fewer API limits

One of the nice side effects of this move is that, by using my own GitLab instance, I should be able to avoid some of the API rate-limit headaches that come with relying on a public service.

At the moment, the GitHub API calls used to enrich the Odoo records are another external dependency with rate limits to consider. With GitLab running on infrastructure I control, there is considerably more flexibility around how those requests are handled.

The goal isn't to make the Odoo module tightly coupled to GitLab either. Ideally, the deployment system can continue to abstract away the underlying repository platform, while the Odoo companion simply consumes the information Toasty Deployer provides.

Another piece of the Toasty ecosystem

This module is a good example of why I've been building Toasty Deployer as a separate service rather than putting all of the deployment logic directly into Odoo.

Odoo provides a great interface for browsing and managing business data, while Toasty Deployer can concentrate on actually handling deployments. The companion module then connects the two.

It's a fairly small project, but it gives me a much nicer view of what's happening across my servers without having to jump between different systems.

And as I continue moving my development infrastructure over to GitLab, it'll be interesting to see how this architecture evolves with it.

The Toasty Deployer Odoo Companion is available on GitHub and is licensed under LGPLv3.

Sudoku for Odoo
A fresh batch of puzzles.