Skip to main content
iVentureTeam
Odoo Hosting

Odoo.sh Storage Full: Find What Uses Space, Clean Up, or Upgrade

Odoo.sh storage full? What counts, what it costs per GB, how to find what uses space, how to clean attachments safely, and when to upgrade to Dedicated.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
November 5, 202614 min read0 views
Odoo.sh Storage Full: Find What Uses Space, Clean Up, or Upgrade cover

Most advice on an Odoo.sh project that is out of space says delete attachments and move on. That is backwards: a deleted file you need back during an audit costs far more than US$0.20. Our Odoo ERP support services start with a measured storage audit.

This guide is for admins and IT managers running Odoo 17 to 20 on Odoo.sh who have seen the storage figure climb or the bill change. Still choosing a platform? Read our Odoo Online vs Odoo.sh vs on-premise comparison first.

What does "Odoo.sh storage full" actually mean?

On Odoo.sh, storage full means your project has grown past the storage in your subscription, and the platform adjusts the plan rather than blocking writes. The Odoo.sh project settings documentation says the plan is automatically adjusted when production exceeds the included storage.

So the symptom is usually a higher invoice, not a crashed database. There are hard limits, though. Odoo's cloud storage documentation lists them: 512 GB on shared Odoo.sh hosting, 4 TB on Dedicated, and 100 GB on Odoo Online.

The other limit is time. A 300 GB project backs up, restores, copies to staging and upgrades far slower than a 30 GB one. That makes storage a support topic, not only a billing one.

How much does Odoo.sh storage cost and when does the plan change?

Odoo.sh storage costs US$0.20 per GB a month on the list price, so storage alone rarely justifies a costly cleanup; watch workers and the jump to Dedicated instead. Figures are from the Odoo.sh pricing page, annual billing, seen on 5 November 2026, excluding the Enterprise license.

Odoo.sh itemList price (annual billing)Range on shared hostingWhat pushes it up
WorkerUS$57.60 per worker a month1 to 16 workersConcurrent users, portal traffic, heavy crons
StorageUS$0.20 per GB a month1 to 512 GBAttachments, Documents, chatter, logs
Staging environmentUS$14.40 per environment a month0 to 20Parallel feature testing
Dedicated hostingUS$480 a month on topRequired above 16 workers or 512 GBLarge groups, read-only PostgreSQL access

Illustrative math from the list price: 50 GB is US$10 a month, 200 GB is US$40, and the full 512 GB is US$102.40. Compare that with a day of consultant time. Clean up for speed, safety and the 512 GB ceiling, not to save a few dollars.

Workers are the costly line, and the docs warn that more workers do not fix slow code. Our guide on whether Odoo can scale to 500 or 1,000 users covers worker sizing.

What counts toward Odoo.sh storage?

Odoo.sh storage: What fills the disk and what to do

Odoo.sh storage counts the PostgreSQL database size plus the disk files in your production container: the filestore, session storage and similar files. That is the definition in the settings documentation, and it explains most of the "my attachments say 2 GB but the project says 3 GB" confusion.

ComponentWhere it livesGrows withCounted in the storage figure
PostgreSQL databaseDatabase serverRecords, chatter, tracking, indexesYes
FilestoreContainer data directoryAttachments, images, PDFs, DocumentsYes
Session filesContainer data directoryLogged-in users and portal visitorsYes
Server logsContainer logs directoryRequests, cron runs, errorsYes, usually small
Automatic backupsSeparate backup serversDatabase plus filestore, 14 copiesSeparate from the live figure
Staging databasesStaging buildsCopies of production, deleted after a monthPlatform disk, rebuild time

Every byte you keep is copied 14 times. The Odoo.sh branches documentation states that seven daily, four weekly and three monthly backups are kept, each with the dump, the filestore, logs and sessions. You cannot shorten that retention to save space.

Staging databases are copies of production that Odoo.sh deletes after one month, and development databases last about three days. The Odoo.sh FAQ adds that old builds are garbage collected to make room for new ones, and that databases expired for more than three months are locked.

One Odoo.sh user with a 40 GB filestore reported that backups and staging branches pushed total storage past 200 GB. A lean filestore makes every copy and staging rebuild faster, which is the real payoff of cleanup.

How do you find what uses space on Odoo.sh?

To find what uses space on Odoo.sh, read the project Settings figure, then split it into database and files with the web shell, then split attachments by model inside Odoo. Work from the outside in, and write the numbers down before you delete anything.

  1. Settings, Production database size: open your Odoo.sh project settings and note the total. This is the number the plan is billed on.
  2. Web shell, odoosh-storage: the branch Shell tab lists this command to check the container filesystem. It separates container files from the database.
  3. Web shell, ncdu: Odoo's docs recommend ncdu to walk the data directory interactively. Look for the filestore and session folders and for anything you copied in by hand, such as old dumps.
  4. psql, database size: in the shell, open psql and run a size query on the current database and on the largest tables with pg_total_relation_size. Chatter and tracking tables usually lead.
  5. Odoo, Attachments list: in debug mode, open Settings, Technical, Attachments, group by Resource Model and read the File Size totals. This tells you which app owns the bulk.
  6. Compare the two filestore numbers: the Attachments total and the folder size on disk differ, and the gap tells you how much is orphaned or belongs to sessions.

That gap is a common question. One Odoo 15 user saw a 2 GB Attachments total against a 2.9 GB filestore. Session files and orphans from earlier restores are the usual explanation.

Where does the space usually go in an Odoo database?

In most Odoo databases the filestore is far larger than PostgreSQL, and a handful of attachment types account for most of it. Odoo stores files on disk under a checksum, so an identical file sent to 100 customers is stored once; volume comes from distinct files, not repeats.

Space driverTypical sourceSafe to remove?
Documents app filesScanned bills, contracts, HR filesRarely; follow the retention policy
Invoice, order and report PDFsOdoo stores generated PDFs as attachmentsPosted invoices no; draft and cancelled copies yes
Product image variantsSeveral sizes per product and variantOnly by shrinking source images
Incoming email attachmentsChatter on leads, tickets, billsCase by case; often the biggest block
Marketing and website uploadsBanners, brochures, videosDuplicates and unused media yes
Import and export filesSpreadsheets left on wizardsYes
Chatter and tracking rowsmail_message, mail_tracking_valueOld notifications and tracking yes, business messages no

One forum user found a 1.1 GB PostgreSQL database with a 15 GB backup, because the backup includes a filestore that had reached 20 GB. If your Odoo.sh figure jumped, look at files first and tables second.

How do you clean Odoo attachments safely?

Clean Odoo attachments by removing the records, letting Odoo's own garbage collector remove the files, and testing every rule on a staging branch first. Deleting files on disk directly breaks the link between the record and the file, so work through the attachment records instead.

  • Start on staging: Odoo.sh staging branches are neutralized copies of production. Run the cleanup there, measure the saving with ncdu, then repeat on production only if it is worth it.
  • Remove transient leftovers: attachments whose resource model is a wizard, or that have no resource model and no owner, are usually import files and compose-mail drafts.
  • Deduplicate marketing media: website and email marketing uploads are often the same brochure under ten names. Keep one and relink.
  • Shrink images at the source: replacing a 6 MB product photo with a 400 KB one shrinks every derived size Odoo stores for it.
  • Prune old notifications and tracking: old mail_notification rows and field tracking values on closed records are safe to trim; keep business messages and anything on invoices.
  • Never touch legal documents: posted invoice PDFs, signed documents, payroll files and anything under a legal retention period stay, however large.

Know how the garbage collector works. The daily cron Base: Auto-vacuum internal data removes files that Odoo marked for deletion in a checklist folder. Files orphaned another way, such as by a restore over an existing filestore, are not on that list and stay on disk.

That is why one user with a filestore beyond 100 GB reported the autovacuum did not solve the problem. Orphans need a one-off comparison of disk files against attachment records, with a backup taken first.

Our Odoo support and maintenance guide explains how such housekeeping tasks fit a monthly support plan.

How do you reduce Odoo database size in PostgreSQL?

To reduce Odoo database size on the PostgreSQL side, target the chatter, tracking, logging and bus tables, then let autovacuum reclaim the space. Business tables such as account_move_line are rarely the issue and should not be touched.

Run the table-size query from the shell and look at the top ten. In a busy database mail_message, mail_tracking_value, mail_notification and ir_logging are usually near the top. Odoo already cleans some tables, such as bus messages and old user login logs, through the autovacuum cron.

Chatter needs judgment. A salesperson's note on a lead has business value; a tracking row saying a field changed from 3 to 4 on a closed 2019 order does not. Agree a retention rule with finance, then delete in batches of a few thousand rows so users are not blocked.

After large deletes, PostgreSQL reuses the space but does not shrink the table on disk until a full vacuum. On Odoo.sh you have psql but not server administration, so ask Odoo Support before running anything that locks a large production table.

Should you move Odoo attachments to Google Cloud or Azure instead?

Moving Odoo attachments to Google Cloud or Azure makes sense when chatter and email files dominate and the project is heading for the 512 GB shared cap. Odoo's cloud storage integration stores chatter and email attachments on those platforms instead of the database server.

An Odoo staff answer about the Odoo.sh storage limit confirms 512 GB shared and 4 TB Dedicated, and says the filestore offload has been deployed for Odoo 18.0 and 19.0, arranged via your account manager.

Read the fine print first. The cloud storage documentation says files generated by Odoo, such as sales orders, and Documents and Sign app files always stay on the database server. If Documents is your biggest block, offload will not help; a plan upgrade or a retention policy will.

When should you upgrade the Odoo.sh plan instead of cleaning up?

Upgrade the Odoo.sh plan when storage growth comes from records you must keep, when performance rather than disk is the complaint, or when you are near 16 workers or 512 GB. Clean up when the growth is waste, which an audit will show within a day.

SituationClean upUpgrade or change plan
Storage up 20 percent after a marketing importYes, remove duplicate mediaNo
Documents app holds 200 GB of scanned bills under a 10-year ruleOnly duplicatesYes, pay for storage
Users report slow screens and timeoutsNot the fixYes, review workers and code
Project at 400 GB and growing 15 GB a monthYes, plus retention rulesPlan the move to Dedicated now
Need read-only PostgreSQL access for BINoYes, Dedicated only
Many parallel feature branchesNoAdd staging environments

A free check helps you decide. Our Odoo health check tool scores your setup across hosting, data and customization in minutes and shows where storage sits among your other risks.

If the answer is to leave Odoo.sh for your own servers, size the move properly. Our Odoo database migration guide covers the dump and filestore transfer, and our DevOps services run the target.

Odoo.sh storage by industry: who fills the disk and why

Different industries fill Odoo.sh storage in different ways, and the right fix depends on whether the growth is legal records, media or noise. These are the patterns we see most.

IndustryPain or cost driverOdoo approachHow iVentureTeam helps
Accounting and tax firmsScanned bills in Documents, 7 to 10 year retentionKeep files, pay for storage, prune duplicatesRetention rules and duplicate detection
eCommerce and retailLarge product images in many variantsCompress at source, limit variantsImage pipeline and catalog cleanup
ManufacturingDrawings and quality photos on work ordersDocuments workspaces with rulesAttachment policy per record type
Professional servicesEmail threads with attachments on projectsChatter retention, cloud offloadOffload setup and chatter pruning
Healthcare and labsReports and consent files, strict retentionNever delete, plan Dedicated earlyCapacity planning and access controls
Marketing agenciesCampaign media and mass mailing attachmentsDeduplicate media, archive old campaignsMedia audit and cleanup scripts

How iVentureTeam helps with Odoo.sh storage full problems

Not sure where storage ranks? Run the health check

iVentureTeam treats a full Odoo.sh disk as a measurement problem first and a deletion problem last. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.

  • Storage audit: database and filestore broken down by model, record type and age, with a written estimate of what is waste and what is record.
  • Safe cleanup: rules agreed with finance, scripted and tested on a staging branch, then run on production with a fresh backup, as part of our Odoo ERP support services.
  • Plan sizing: workers, storage and staging counts matched to your load, and a dated plan for the move to Dedicated if you will reach 512 GB.
  • Offload and retention: cloud storage setup for chatter files, Documents retention rules, and image compression for eCommerce catalogs.
  • Platform moves: if Odoo.sh no longer fits, our Odoo migration services move the database and filestore to Dedicated or your own servers.

Odoo database analysis case study: Indep Consulting

A storage audit is a database exercise, and Indep Consulting shows how we read an Odoo database directly to answer management questions. Indep Consulting SPRL is a Belgian company selling cleaning chemicals, cleaning equipment and maintenance contracts.

Sales, stock and accounting data sat in disconnected tools, so questions such as product margin or vendor spend were slow to answer. iVentureTeam implemented Odoo Sales, CRM, Inventory, Accounting and eCommerce as one system, with EDI for trading partners and claim management tied to orders.

We then wrote eight management reports directly in SQL, covering invoices, orders, sales activity, product margin, vendor summary, stock, stock rotation and contracts. Delivery took 12 weeks, and the management reporting cycle became two times faster.

The same discipline, querying Odoo's tables rather than guessing, is what a storage audit needs. Read the Indep Consulting Odoo ERP and SQL reporting case study.

The bottom line on Odoo.sh storage full

Odoo.sh storage full is a bill and a speed problem before it is an outage: the platform adjusts your plan at US$0.20 per GB a month, and the hard stop is 512 GB on shared hosting. Measure the database and filestore, clean the waste on staging first, keep every legal record, and pay for the rest.

Plan the move to Dedicated or to cloud offload while you are still below 400 GB. A storage audit takes about a day and usually ends with a short cleanup list and a clear plan size.

Ready to get your Odoo.sh storage under control?

Request a storage audit

Get a measured audit of your Odoo.sh database and filestore, with a cleanup list and a plan recommendation. Request an Odoo.sh storage audit, call +91-90235-15208, or email business@iventureteam.com.

Frequently Asked Questions

What happens when Odoo.sh storage is full?

+

Odoo.sh does not block your database. Its documentation says that if the production database exceeds the storage in your subscription, the plan is automatically adjusted, so you pay for the extra gigabytes. The hard limit is 512 GB on shared hosting and 4 TB on Dedicated.

How much does extra storage cost on Odoo.sh?

+

The Odoo.sh pricing page lists storage at US$0.20 per GB a month with annual billing, excluding the Enterprise license. That makes 100 GB about US$20 a month. Workers at US$57.60 each and the US$480 Dedicated tier are the larger costs.

How do I check my Odoo.sh disk space?

+

Open the project Settings for the production database size, then use the odoosh-storage and ncdu commands in the branch web shell to see container files. Inside Odoo, group the Attachments list by resource model to see which app holds the most files.

Can I delete attachments in Odoo to free space?

+

Yes, but delete the attachment records, not the files on disk, and test on a staging branch first. Safe targets are transient wizard files, duplicate media and old notifications. Keep posted invoice PDFs, signed documents and anything under a retention rule.

Does Odoo automatically clean the filestore?

+

Partly. The daily Base: Auto-vacuum internal data cron removes files that Odoo marked for deletion. Files orphaned another way, for example by restoring a dump over an existing filestore, are not on that list and need a manual comparison.

Do Odoo.sh backups count toward my storage?

+

Backups live on separate backup servers and follow a fixed schedule: seven daily, four weekly and three monthly copies, each with the dump and the filestore. A smaller filestore makes every backup and restore faster, but you cannot shorten retention to save space.

Do staging branches use extra Odoo.sh storage?

+

Each staging branch holds a copy of the production database and filestore, and costs US$14.40 per environment a month on the list price. Staging databases are deleted after one month of inactivity, and development databases last about three days.

When should I move from Odoo.sh shared to Dedicated hosting?

+

Move when you are approaching 16 workers or 512 GB of storage, or when you need read-only PostgreSQL access for BI tools. Dedicated adds US$480 a month on the list price and raises the storage limit to 4 TB, so plan the move well before the cap.

Free Odoo upgrade plan

Planning an Odoo upgrade?

Tell us your version, edition and custom modules. We check what breaks, what it costs to fix and the safest path, before any work begins.

Free, with no obligation. A senior consultant replies within 12 business hours.