Welcome to Cetmix Tower
What is Cetmix Tower?
Cetmix Tower is an Odoo-based DevOps toolkit for managing servers and applications via SSH and API calls.
It allows teams to deploy, automate and operate infrastructure from Odoo, using reusable commands, templates, and multi-step flight plans.
Cetmix Tower follows a control tower approach to infrastructure management:
- Jets are your aircraft
- Servers are your airports
- Commands are your actions
- Flight Plans define repeatable operational procedures
Who is Cetmix Tower for?
- Odoo partners and system integrators
- DevOps and infrastructure engineers
- Teams managing multiple servers or environments
- Companies looking for self-hosted, open-source DevOps tooling
Why Cetmix Tower?
- Accessible for non-technical users: Deploy servers or run complex scenarios with a single click.
- Powerful for technical users: Build advanced automation using commands, variables, and flight plans.
- Technology-agnostic: Manage Docker, Kubernetes, or plain OS-level software via shell or API.
- Deep Odoo integration: Leverage Sales, Accounting, Subscriptions, Helpdesk and other Odoo modules. See the Model Reference and cetmix.tower for automation APIs.
- Beyond Odoo workloads: Manage virtually any infrastructure or application, not just Odoo.
- Extensible by design: Build custom Odoo modules on top of Cetmix Tower.
- Self-hosted & open source: Full control, AGPL-3 licensed.
Core Features
Server Management
- Variable-based flexible configuration
- Create Servers using pre-defined Server Templates
Application Management
- Manage individual applications using Jets created from Jet Templates
- Seamlessly clone and transfer Jets across different Servers
Connectivity
- Password and key based authentication for outgoing SSH connections
- Built-in support of the Python requests library for outgoing API calls
Commands
- Execute SSH Commands on remote servers
- Run Python Commands on the Tower Odoo server
- Run Flight Plan from commands
- Shortcuts for quick access to commands and flight plans from the server form
- Render commands using Variables
- Secrets/Keys for private data storage
Flight Plans
- Execute multiple Commands in a row
- Condition-based flow:
- Python conditions
- Previous command exit code
Automation
- Scheduled Tasks: run Commands or Flight Plans on Servers and Jets on a schedule
- Webhooks: trigger custom logic via HTTP requests (POST/GET) with authentication and Python code
Files
- Download Files from remote server using SFTP
- Upload Files to remote server using SFTP
- Support for
textandbinaryfile format - Manage Files using pre-defined File Templates
Server Logs
Export/Import data
- Share, store and edit records easily using YAML format
Git Projects
- Manage complex git repository configurations directly from the UI using Git projects
Get started
- Install Cetmix Tower
- Configuration — Odoo server settings and Tower General Settings
- User Settings — Access levels and roles
- Glossary — Definitions of key terms (Jet, Server, Flight Plan, etc.)
- Create a Server and install a Jet Template on it
- Launch a Jet and run Commands or Flight Plans
- Troubleshooting — Commands not running, timeouts, and common issues
Support
Free community support available through:
- GitHub issues
- In the official subreddit
- In the official Telegram chat
- In the official Facebook group
Paid support is available on request. Please contact us for details.
Contact Us
If you want to drop us a message, use the contact form on our website.
Our social media accounts:
- Cetmix page on LinkedIn
- Cetmix page on Twitter(X)
- Cetmix Tower Telegram channel
- Cetmix page on Mastodon
- Cetmix page on Facebook
- Cetmix page on Instagram
License
Cetmix Tower is distributed under the AGPL-3 license.
If you want to use this software in projects that are incompatible with the AGPL-3 license, please contact us for details.
Copyright
Cetmix Tower is a trademark of Cetmix. All rights reserved.
Warning
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
