Shoovels is where your team manages its Odoo projects. An account is a Google or Microsoft sign-in, or an email address and a password.
1
Create your account
Sign up with Google or Microsoft, or with your name, your email and a password of at least 12 characters, then Create account. Check your inbox: the link in the email verifies your address, and Send a new link is there if it never arrives.
2
Sign in
Welcome back: sign in with the same Google or Microsoft account, or with your email and password. Forgot password? sends a reset link. If two-factor authentication is on for your account, Shoovels then asks for the 6-digit code from your authenticator app, or a recovery code instead.
Projects and instances, explained
For All users
Everything in Shoovels hangs off a project. Knowing its shape makes the rest of these guides easier to follow.
1
One project, one production, any number of staging copies
A project holds exactly one production instance, the live site your customers reach, plus the staging instances you add for testing. The sidebar groups them under Production and Staging with a count beside each, and every instance carries its current state.
What the project shares
2
Access and the audit trail cover the whole project
Access is granted per project rather than per instance: everyone on the list can open production and every staging copy under it. The project audit log covers all of them in one trail: open it from any instance's Audit log tab.
Find and open a project
For All users
Every Odoo environment you have access to lives in a project. The fastest way to reach one is the project search, available anywhere with ⌘K.
1
Search your projects
Press ⌘K (Ctrl+K on Windows), or click the project name at the top of the sidebar, and start typing. Arrow keys navigate, Enter opens the highlighted project. If your role lets you create projects, the same palette can start one, so it is worth learning as the one shortcut that gets you anywhere. The sidebar below it lists your projects, holds New project when your role allows it, and Documentation opens these guides.
Select a project
2
You land on the instance overview
The sidebar lists Production and every staging instance, each with its current state. The main panel shows the selected instance with its tabs: Overview, Deployments, Audit log, Login as, Backups, Monitoring, Logs and Configuration.
Your instance at a glance
For All users
The Overview tab is home base for an instance: its live state, its latest deployment, your Odoo users and your backups, with a one-click jump into Odoo itself.
1
Everything on one screen
"Go to Odoo" opens Odoo in a new tab, signed in as its administrator. Latest deployment shows what is running and when it went out, the Login as card lists the five Odoo users who signed in most recently, each with a Login as button, and the Backups card shows your five most recent backups with their status and size. The coloured frame and the tag in the corner tell you at a glance whether you are on Production or a staging instance.
Look at the header
2
State and controls live in the header
Beside the instance name, the status icon shows the container state and the deployment state when you hover or click it. To the right sit this instance's controls, if your project role lets you use them: Start Instance, Stop Instance and the Maintenance toggle on production; Start Instance, Stop Instance and Rebuild on staging. A Viewer sees the state and none of the buttons. The pill next to the instance in the sidebar reads the same state: Provisioning while it is being created, Running, Stopped, Down when it is unexpectedly unavailable, Maintenance, or Unknown while Shoovels is still checking.
3
Your first steps on a new instance
Until you dismiss it, Get your project running sits at the top of a new instance's Overview: Instance provisioned, then Rebuild from production or Import your backup to copy your production data into this staging environment (you can take a safety backup first), then Open Odoo.
Organizations, projects and instances
For All users
Shoovels has three layers, and knowing which one you are on explains who can do what. An organization is your company account. A project is one Odoo, with its own address and its own data. An instance is one environment inside a project: production, or a staging copy.
1
The organization is the top of the tree
Your organization holds every project your company has, along with its members and its billing. The switcher in the top right names the organization you are currently in, and everything below it belongs to that organization.
Look one level down
2
A project holds one production and any staging copies
Inside a project sit its instances: exactly one production, the live site your customers reach, plus the staging instances you add for testing. Access is granted per project, so everyone on a project can open every instance under it.
Who can do what
3
Roles live at both levels
In the organization you are an Admin or a User. In a project you are a Viewer, a User or an Admin. An Organization Admin is automatically an Admin on every project in that organization, so you rarely need both. Creating a project is an Organization Admin action. Adding a staging instance is a project action for Users and Admins, and if the staging server has no room for one more, Shoovels asks you to book a server resize first.
Roles, and what each one can do
For All users
A role sits in one of two places: your organization, which holds the company account and everything that costs money, and each project inside it. Your role in one says nothing about your role in the other.
1
In the organization
Your organization role decides whether you can spend money and manage people. Creating a project, changing workers, storage or staging environments, and cancelling are all Organization Admin actions, which is why no project role can spend anything. An Organization Admin is also automatically Admin on every project in the organization, so they rarely need both. Lowering resources and cancelling a project go through a support request for now.
Capability
Organization Admin
Organization User
Billing and payment method
✓
·
Create a project
✓
·
Change workers, storage or staging environments
✓
·
Cancel a project
✓
·
Invite and remove organization members
✓
·
See every member, their role on each project, and where it came from
✓
·
Configure project groups
✓
·
Admin on every project in the organization
automatic
·
Sees only the projects granted to them
·
✓
2
In a project
Inside a project you are a Viewer, a User or an Admin, and you can hold a different role in every project you are on. The role is a dropdown on the Access card: a Project Admin changes it there, or picks it when inviting someone.
Capability
Viewer
User
Admin
See instances, metrics and logs
✓
✓
✓
Restore, download and anonymise backups
·
✓
✓
Log in as one of your Odoo users
·
✓
✓
Rebuild a staging instance
·
✓
✓
Everything else on an instance
·
✓
✓
Invite people to the project, at any of the three roles
·
·
✓
Manage members and their roles
·
·
✓
Add a staging instance
·
✓
✓
3
When a group and a direct grant disagree
A group is a named set of projects, and it confers a role on each project in it. Your role on a project is the highest of three things: your own direct grant, the role a group gives you, and the Admin an Organization Admin holds across the organization. So a group only ever promotes. Someone already holding Admin keeps Admin when they are added to a group that confers User, and someone holding User through a group can still be promoted to Admin by a Project Admin without leaving the group. Removal stops at the group in the same way: taking away a direct grant drops that person to the role their group confers, not to nothing, so removing them from the project entirely means taking them out of the group, or out of the organization, from User management (open the person, then their Groups tab) or from Groups.
Set up or join your company
For All users
The first time you sign in, Shoovels asks how you will use it. Every project and invoice belongs to a company, so you either set one up or join the one your team already has.
1
Pick one to finish setting up your account
How will you use Shoovels? offers two paths. Set up a new company makes you its admin: you will manage projects and billing for your team. I am joining my team is for everyone else.
2
Name your company, then wait for approval
Name your company is the account your projects and invoices belong to, and you can rename it later in settings. Create company sends it in: a Shoovels admin reviews every new company, and you can use it as soon as it is approved.
3
Joining a team instead
An admin at your company can invite this address from any project; nothing else is needed on your side. Shoovels adds you to your team the moment an invite arrives and checks again every time you sign in; Check again does it now. Not joining anyone after all? Set up a new company instead is right there.
Switch between organizations
For All users
You can belong to more than one organization, holding a different role in each. The switcher in the top right moves you between them.
1
Open the switcher
Click your organization name in the header, to the left of the theme toggle and your avatar. The list shows every organization you belong to, with the current one marked. Start typing to filter, use the arrow keys to move, Enter to pick and Escape to close.
Pick an organization
2
Everything follows the organization you pick
Switching takes you to the last project you opened in that organization, and changes which projects you see and which members and settings the organization pages show. Your role can differ between organizations, so a control you have in one may be absent in another.
Create an organization
For All users
An organization is a company account. Signing up asks whether to set up a company, which creates one, or wait for an invite. You can create another from the switcher whenever you need a separate account with its own members and billing.
1
Create it from the switcher
Open the organization switcher and choose Create organization. Name it and choose Create organization: you become its Admin, and Shoovels switches you into it, ready to invite members and create projects.
What comes with it
2
It starts empty
A new organization has you in it and nothing else. Invite the people who need it, then create the project. Organization names are not unique, so two companies can carry the same name without clashing; project names are the opposite and must be unique across Shoovels.
Organization members
For Organization Admins
User management lists everyone with access to the organization: its members, and anyone holding only a project grant or a group seat.
1
Find it in the account menu
Everything organization-level lives under your own avatar, top right: User management, Groups, Audits and Billing payments. Audits and Billing payments are not available yet. They apply to the organization currently selected in the switcher, to the left of the theme toggle.
Open User management
2
See who is in the organization
Each row shows the person, their email, their organization role, and how many projects and groups they are in. Someone who holds only a project grant appears here as "Not a member". Search and the role filter narrow the list, and clicking a row opens that person's page. Admin covers billing, creating projects, resource changes and member management; User sees only the projects they have been granted.
Click "Invite members"
3
Invite by email, and watch what is pending
Add one or more email addresses, choose User or Admin and, if you like, the groups they join, then click Send invite. Someone with a Shoovels account gets access straight away; a new invitee signs in with Google or Microsoft to accept. Anyone who has not accepted yet sits under Pending invites. Open the row to reach that invitation's own page, where Resend invitation and Revoke invitation live.
4
A member's own page
Clicking a row opens that person's page: their Organization role (Admins manage billing, members and groups, and are admin on every project), the projects they can reach, with Grant direct access and Revoke project access, their groups, with Add to group and Remove from group, and Remove from organization, which revokes every project grant and group seat they hold here.
Project groups
For Organization Admins
A group is a named set of projects inside one organization. It is the way to give several people the same access to several projects without granting each one by hand.
1
Find it in the account menu
Groups sits in the same account menu as User management, under the Organization heading, and applies to the organization currently selected in the switcher.
Open Groups
2
A group carries the role, and grants it to everyone in it
The role sits on the link between the group and each project, not on the person. Adding someone to a group changes nothing on its own: the group decides what role it confers on each project in it, starting at Viewer. Put a project into a group and every member gets that role on it at once. A direct grant on a project still wins if it is higher, so an Admin stays an Admin inside a Viewer group. Create group names a new one; on a group's row, Members adds people and Projects sets the role it confers on each project.
Invite teammates and manage project access
For Project Admins
Access is granted per project, not per instance: everyone in the list below can open every instance under it, from production down to the newest staging copy. The Access card at the bottom of the Configuration tab is where you invite people and control what they can do.
1
See who has access
Each row shows a person's name, email, role and status. Role is a dropdown right there in the table, Viewer, User or Admin, and a change applies immediately. Someone whose access comes from a group or from the organization is labelled "via {group name}" or "via {organization name}" beside their name; their dropdown offers the roles above what they already hold, and picking one gives them a direct grant on top. The bin icon appears where there is a direct grant to take away, and it removes that grant rather than the person: someone in a group falls back to the role the group confers. Search and the status filter narrow the list on a busy project, and a pending invitee appears as a row reading "Invited", where you can resend or revoke the invitation.
Click "Manage access"
2
Invite by email
Click Manage access to open the invite panel. Type an email address, choose the access level you want them to have, Viewer, User or Admin, and click Invite. Someone with an existing Shoovels account gets that access immediately; a new invitee signs in with Google or Microsoft to accept. Anyone who has not signed in yet sits under Pending invites in the same panel, where you can resend or revoke the invitation before it is accepted.
Deploy your code
For All users
Your Odoo runs the code from the Git repository connected to the instance. Each time that code is deployed, Shoovels records it so you can see exactly what is running.
1
Latest deployment, on the Overview
The card shows the state of the most recent deployment, the release it runs, when it went out and the commit it came from. It is the fastest answer to "what is live right now?". On a successful deploy, Connect opens Odoo.
Click "View all"
2
The full history
The Deployments tab lists every deployment newest first, grouped by day, each with its status, version, commit and time. Use it to see when a change landed, and to line a deployment up against the moment a problem started. A deploy Shoovels ran for you, a base image rollout, a stack refresh or a host migration, sits in the same list, credited to Shoovels.
3
Follow one as it runs
A deploy in progress shows its pipeline step by step, with the commits it carries. A finished deploy keeps the same timeline on its card, and a failed one marks the step it stopped at.
Approve a production deploy
For Project Users and Admins
With Auto-approve deploys turned off, production holds a deploy until a person says go. The build runs, then waits at the gate instead of replacing what is serving.
1
A waiting deploy asks for approval
A deploy parked at the gate shows an Approve button, on the Deployments tab and on the Overview card. Press it, then Deploy to confirm. Nothing reaches production until then, so a push at the wrong moment costs you nothing.
Want a person to say go?
2
Or let production deploy itself, the default
Auto-approve deploys, on the Configuration tab, removes the manual step: once a push's build and checks pass, it goes live on its own. It is on by default. Turn it off and every future push waits at the gate for Approve.
Gate a deployment on your tests
For Project Users and Admins
Shoovels can hold a deployment until your CI reports a pass for the pushed commit, so a red build never reaches a running instance.
1
Turn on "Require CI to pass"
With the gate on, a push to this instance's branch waits for that commit's CI to report green on GitHub before anything is built or deployed. A red or silent CI stops the push at the gate. Only turn it on if the repository has CI that reports to GitHub, or every push will stall there. It is set per instance, so production can be gated while a staging branch deploys freely.
Roll back to an earlier release
For Project Users and Admins
Rollback puts an earlier release back on the instance. It is not only for a deploy that failed: the current release can be perfectly healthy and you can still go back, for a change that built fine but behaves badly.
1
Pick a release to go back to
Successful releases carry a Roll back action. The release currently live does not, which is how you tell it apart. Rolling back is a swap to that release's existing image, so it usually takes seconds, and if it does not come back healthy the instance says so and needs attention. The three most recent successful releases are kept, plus whatever is live, so there is always somewhere to go back to.
Retry a failed deploy
For Project Users and Admins
Not every failure is your code. A retry runs the same deploy again with exactly the same inputs.
1
Run it again, unchanged
A failed deploy offers Retry, which reuses the same commit and the same pinned base revision. The card marks the step that failed and View log shows the error, so you can tell a flaky build from something that will fail the same way twice.
Manage your Odoo users
For Project Users and Admins
These are the users inside your Odoo database, not the people with Shoovels accounts. The Login as tab lists them with their role and whether they are active.
1
Start from the Login as card
The Overview card shows how many Odoo users exist and lists the five who signed in most recently with their role and status. "Manage users" opens the full list on the Login as tab.
Click "Manage users"
2
Roles, status, and finding someone
Each user shows the role they hold inside Odoo and whether their account is active. Search by name or login, and filter by status or role, when the instance has more users than fits on a screen.
Log in as one of your Odoo users
For Project Users and Admins
Need to see Odoo exactly as one of your users does? Login as opens their session with the same menus and the same access, and no password sharing.
1
Pick a user and log in
The Login as tab lists the Odoo users on this instance with their status and role. "Login as" opens Odoo as that user, in seconds, in a new browser tab, so allow pop-ups if your browser blocks it.
Start and stop an instance
For Project Users and Admins
An instance is started and stopped from the buttons in its header. A staging instance on stand by is the exception: it has no Start button, because opening it is what wakes it.
1
Stop it, and it says so
Stop Instance asks you to confirm with Stop container, then shuts Odoo down, and the button becomes Start Instance. Both directions run as jobs, so you can watch progress on the Audit log tab.
Take Odoo offline gracefully
For Project Users and Admins
For planned work such as a big update, a migration or a restore, maintenance mode shows your visitors a clear "we'll be back" page instead of a broken site.
1
Turn it on, then say when you will be back
Maintenance mode is a production control, so the toggle sits in the header of a production instance only; the same slot on staging holds Rebuild. Flip the Maintenance toggle and confirm with Enable maintenance. Visitors immediately get the maintenance page instead of the site. A band then appears across every tab with the message they will read: write something specific, such as a time, and press Save message. Odoo itself keeps running. If a Bypass link appears in the band, use it to work on Odoo while visitors see the holding page: open it, or send it to whoever is doing the work. It works for 60 minutes, and New bypass link gives you a fresh one. Copy it from the box to share it.
2
Turn it off
Flip the same toggle back and confirm with Disable maintenance. The holding page comes down and visitors reach the site again. The message you wrote is kept, so the next time you need it you are not starting from a blank field.
Spin up a staging instance
For Project Users and Admins
Try changes on an isolated copy before they ever touch your live site. A staging instance provisions itself in minutes.
1
Name it, point it at a branch, add it
New instance, at the bottom of the sidebar, opens Add staging instance: a name, which becomes the instance's address and cannot be changed later, and the branch it tracks, picked from the branches on the connected repository (a branch another instance already tracks says so). The Odoo version follows the project unless you change it, and below it the base image revision inherits production's pin unless you pick another. Choosing a different version re-defaults that pin to the newest build for it. Adding it joins the project's existing staging server, so no new server is created.
2
Your staging copy is ready
The new instance appears in the sidebar under Staging with its own Overview, Deployments, Backups and Configuration, and See progress shows each setup step while it provisions. It starts empty; use Rebuild to fill it with a copy of production.
3
If the server has no room, book a resize first
Adding a staging instance joins the project's existing staging server. When that server has no room for one more, Book this server resize opens instead: it shows the server size it moves to, warns that every instance on this host will go down for the resize, and asks for a preferred time, in your local time. Book the resize, and the instance is added once it has run. You can cancel a booked resize until its window opens.
Run a staging instance on a different Odoo version
For Project Users and Admins
A staging instance does not have to run the same Odoo version as the rest of the project. Pick a different one when you add it, and use that instance to try the next version before production goes anywhere near it.
1
Choose the version as you add the instance
The Add staging instance form has an Odoo version field under the branch. It defaults to the project version, and any other supported version is one click away. Pick 18.0 on a project running 19.0 and that instance stays on 18.0, whatever the project does later. The version is fixed when the instance is created, so an instance for testing an upgrade is a new instance rather than a change to an existing one.
2
Test the upgrade before production moves
Rebuild the instance from production to get real data on the other version (Rebuild asks you to confirm, since the copied database needs upgrading before it is usable there), then work through whatever matters to you: your custom modules, your reports, the flows your team uses daily. Production is untouched the whole time.
Let an idle staging instance stand by
For Project Users and Admins
A staging instance nobody is using does not need to hold resources all day. Stand by pauses the Odoo container after 75 minutes without visitors, and resumes it on the next visit.
1
Stand by when idle, on the Configuration tab
Every staging instance starts with Stand by when idle switched on, and production never stands by, so the card is not there at all. While an instance is asleep its CPU, and under memory pressure its memory, go to your other staging environments. Flip the switch and confirm to turn it off for one instance: it is set per instance, and that instance restarts once. It only takes effect when the server runs two or more staging instances, since sleeping a lone one would free resources nothing else can use.
2
A sleeping instance still says Running
An instance on stand by keeps its green Running pill in the sidebar: idle is the setting working, not a fault. Its header has no Start button, because opening it is what wakes it; Stop Instance stays, for when you want it down for good. It comes back exactly as you left it, on the same database, branch and address.
Rename or delete a staging instance
For Project Admins
A staging instance's name is yours to change, and once it has served its purpose it can go. Both happen on the instance itself, and neither touches production.
1
Rename it from its header
The pencil beside the name opens Rename instance. Only the name shown in Shoovels changes: the address and deploy ID stay the same. Save, and the sidebar follows.
2
Delete it from the foot of the Configuration tab
Delete instance removes it from your project and frees its staging slot; its backups stay available to restore. The confirm lists what goes and asks you to type delete, because this cannot be undone from Shoovels. Production carries no Delete here.
Rebuild a staging instance
For Project Users and Admins
Rebuild throws a staging environment away and builds it again from production. It is the quickest way back to a clean slate after a test goes sideways.
1
Rebuild takes a fresh copy of production
Rebuild sits in the header of any staging instance. It replaces that instance's database and filestore with a copy of production, either Fresh copy (now) or A past moment. Tick the box to back the instance up first if you want to keep what is on it. The copy is always neutralised, so it cannot send mail or take payments. Confirm Rebuild stays disabled until you tick to say you understand the instance's data will be replaced, and a second tick appears when the two instances run different Odoo versions. It takes 30 to 120 minutes depending on size, and you can follow it on the Audit log tab. Afterwards, A past moment is not available for that instance until its next backup.
Understand your backups
For All users
Backups run for you every day, and Shoovels also keeps a continuous history between them. The Backups tab is where all of it comes together: what exists, how far back you are protected, and every recovery action.
1
The banner, the table, and the three actions
The banner across the top summarises the backups on screen: how far back they reach, how many there are and how much they take up. The table below lists them newest first with date, instance, type, status, size and the note you gave them. Filter by status, by instance, and by day once a single instance is selected. Most rows offer Get a copy, Restore and Delete backup; a row that has moved to cold archive says so and offers none of them. Above the table sit Restore…, Get a copy… and Create backup, plus Import backup for project Admins.
Create a backup on demand
For Project Users and Admins
Daily backups happen on their own. Take a manual one whenever you're about to do something you might want to undo, such as a module install, a data import or a version upgrade.
1
Create one, and label it
Create backup takes one now, on top of the automatic schedule. On production you choose whether to include the filestore, and can tick Keep permanently to exempt it from automatic retention cleanup; a staging backup is the database only. Give it a note that says why you took it, such as "before the warranty module", and it stays readable in the table months later when you are looking for the right row to restore.
Get a downloadable copy
For Project Users and Admins
A copy is a packaged, downloadable version of a backup, for handing to an accountant, a developer, or your own archive. It never touches the running instance.
1
Choose the state, then what goes in it
Get a copy packages the Latest state, A specific backup, or A past moment. Include filestore adds every attachment, images and PDFs, which makes the copy larger and slower to prepare. Neutralize the copy switches off outgoing email, payments and scheduled jobs, which is what you want unless you specifically need an exact replica of production.
Prepare the copy
2
Track it in the table, then download
Started from the toolbar, the copy appears as its own row in the backups table and shows its progress there, so you can keep working. Started from a row, it attaches to that backup instead and the row's own action moves from Get a copy to Preparing. Either way, when it is ready you get a Download action, which opens Download your copy, with the archive password and the download link: you will need that password to extract the ZIP. The link works for 7 days and the copy itself is kept for 30.
Restore, and recovery to any point in time
For Project Users and Admins
A restore replaces this instance's data with an earlier state of the same instance. You can go back to a backup exactly as it was taken, or to any second in the saved history between the first backup and the most recent one.
1
Restore a backup exactly as it was taken
Restore… opens the restore dialog on A backup from the list, or use Restore on a row to start from that backup. Tick Take a safety backup first so this restore can itself be undone. On staging you then tick to confirm; on production you type the instance name instead. Confirm Restore starts it as a job, which you can follow on the Audit log tab.
2
Or recover to any point in time
Choose "A past moment" and the picker opens on the window you can actually reach, from the start of saved history to the most recent backup. Pick a date on the calendar, then the time down to the second. It is the same instance rolled back through its own history, so no data comes from anywhere else, and it is the option to use when you know roughly when something went wrong but not which backup predates it. After any restore, A past moment is unavailable until the instance's next backup.
Bring an existing Odoo database in
For Project Admins
Moving from another host, or from a server of your own? An instance can be seeded from an Odoo backup you already have rather than starting empty.
1
Upload the archive, then restore it
Import backup, on the Backups tab, takes an Odoo backup archive (a .zip with the database and filestore) and brings it in. Large files are expected: the upload picks up where it left off if the connection drops, and you can pause and resume it, as long as the tab stays open. Unless the instance is brand new, a safety backup of what is already there is taken first, so an import can be undone. When it reads Ready to restore, choose Proceed with restore, tick to confirm (on production, type the instance name), and decide whether to neutralize the imported copy: on by default for staging, off for production.
Health & resources
For All users
The Monitoring tab answers "is it up, and is it struggling?" without a separate login.
1
Uptime, CPU and memory on one screen
The row across the top carries the current probe state, the uptime percentage and the response time, with the uptime history for the window you pick charted underneath. Below it, CPU and memory show what the server is using now and how that has moved over the same window. Server resources are shared by the instances on the same server, so a spike on one shows up here. Go to Grafana opens the full picture.
Read the logs
For All users
The Logs tab streams what your instance is actually saying, which helps when something fails and you want the reason rather than the symptom.
1
Filter, search, or follow live
Logs are newest first, tagged by container and level. Live is on when you arrive, so new lines appear as they are written; pause it when you want to read. Narrow to a time window of up to 24 hours, pick a container to show one source, or search for a phrase. Widen the window or use Load older to go further back, and clear the filters if a search comes up empty. For stack traces and error grouping, Go to Sentry sits below the logs.
Track jobs
For All users
Backups, restores, copies, rebuilds, deploys and maintenance toggles run as jobs. Each one lives on the row that started it, so the Audit log tab is where you follow one.
1
Open the row that started it
On the Audit log tab, a row that started a job shows that job in its detail: its status, how far or how long it ran, its steps, and who started it. View in Backups or View in Deployments jumps to the job's own tab, and a backup row on the Backups tab opens on its job the same way. The most recent deployment is mirrored in the Latest deployment card on the Overview tab.
Project audit log
For All users
Every action on your project is recorded: who did it, on which instance, and whether it worked. The Audit log tab on any instance opens the full trail.
1
Who did what, and when
The trail opens on the instance you are looking at; Instance set to All instances shows the whole project. Filter by Action, Status or User (the Shoovels team, and the backups, deploys and other automatic runs, are listed with the people), set the Time range to the last 24 hours, 7 days, 30 days or a custom range, then expand a row for the detail: the IP address, the browser, and the job it started. It is the answer to "who stopped production last Tuesday".
Instance details & custom domains
For Project Users and Admins
Serve your Odoo from your own address, and check the technical facts of an instance whenever you need them.
1
The facts about this instance
Instance details shows the custom domain, the Odoo version, the base revision, the server IP, the image tag, commit and status of the latest deploy, and a GitHub link to the connected repository. On a staging instance it also names the git branch that instance tracks. That is everything you'd otherwise have to ask for when opening a support ticket.
Scroll to Custom domains
2
Add a domain you own
Add a domain and Shoovels shows the DNS records to create, then verifies them and issues the certificate for you. Each domain carries its status, so you can see whether DNS has propagated yet, and Shoovels keeps checking for up to 7 days. A domain that shows Failed offers Try again once you have fixed the record.
Pin and promote the Odoo revision
For Project Admins
Your instance runs a base image built from a specific Odoo revision. Pinning it means an instance keeps exactly the build it has until you decide otherwise.
1
See and change the pin
Instance details names the base revision in use. Change… lets you pick a revision, or Always use latest, and rebuilds and redeploys the instance on it, which is how you move to a newer Odoo patch level deliberately rather than by surprise.
When a newer one exists
2
Promote the newer build
When a newer revision is available, a warning icon appears beside the pin. Hover or focus it and a Promote base button offers to move the instance, after a confirmation. An instance with no pin has nothing to promote, so the icon is absent. Try it on staging first: a base revision is Odoo itself moving, not your code.
Add settings to odoo.conf
For Project Admins
Odoo configuration, on the Configuration tab, holds extra odoo.conf settings for this instance: enable server-wide modules, add a [queue_job] section or point the filestore at object storage.
1
Write your settings
The editor takes an [options] section, then one key = value per line. Below it, Applied on the instance shows the file as it last loaded, with the time it did. Secret values show as <redacted>: leave the placeholder to keep the stored value.
2
Apply and recreate
Apply loads them on the instance right away, after one confirm. Apply and recreate recreates the Odoo and sidecar containers, so expect a few seconds of downtime. The applied time updates once it is done.
Two-factor authentication
For All users
Add a second step to your sign-in with an authenticator app. Settings is where you turn it on, and where you regenerate your recovery codes.
1
Scan the code, confirm once
Enable two-factor authentication shows a QR code to scan with any authenticator app (or a key to type in), then asks for one generated code: Confirm code completes the pairing. From then on, signing in asks for a code as well as your password.
Keep the codes
2
Recovery codes, and regenerating them
Recovery codes each work once, in place of a code from the app. Copy all or Download them while they are on screen. You can regenerate the set at any time, which invalidates the old ones. Regenerating asks for a current code from your authenticator app first. Accounts that sign in through Google or Microsoft do not see this card at all: the identity provider handles the second step.