$ 59.57
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 1637 |
| Technical Name |
cloudflare_r2_attachment_vgt |
| License | OPL-1 |
| Website | https://www.vrutikaglobaltech.com/ |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 1637 |
| Technical Name |
cloudflare_r2_attachment_vgt |
| License | OPL-1 |
| Website | https://www.vrutikaglobaltech.com/ |
Vrutika Global Tech
vrutikaglobaltech.com · OPL-1 · Odoo 18
Archive Odoo Attachments to Cloudflare R2
Cut database growth — keep downloads, chatter previews, and share links working.
Production-ready offload for ir.attachment with wizard, daily cron, and S3-compatible R2 integration.
Move historical binaries from PostgreSQL to Cloudflare R2 while Odoo keeps serving files through familiar UI flows. Configure once per company, migrate by model and month, then automate ongoing archival with a rolling age window.
Key Features & Benefits
Model & month wizard
Pick any concrete Odoo model and calendar month. Batch commits keep large production migrations durable across worker restarts.
Daily automation
Register models under R2 automation. A scheduled job archives binaries older than N days so recent files stay fast in Odoo.
Download parity
Discuss, binary widgets, and attachment lists keep working — presigned redirects and safe POST proxying through Odoo.
Smart thumbnails
When clearing full bytes, raster previews can remain locally so chatter cards still show image thumbnails.
Credentials & jurisdiction
REST token verify/list, S3 keys for PutObject and presigned GET, EU and FedRAMP endpoint support per company.
Anonymous share links
Issue access tokens on archived rows for HTTPS download URLs without requiring Odoo login.
Screenshots
General Settings — Cloudflare R2
Migration wizard & attachment archive
How It Works
- Configure Cloudflare Account ID, REST token, bucket, and S3-compatible keys in Settings.
- Run the monthly wizard on a staging model/month and verify downloads.
- Register models for daily automation with your retention window.
- Monitor R2-archived attachments and database growth relief.
Technical Specifications
Requirements
- Odoo 18.0 Community or Enterprise
- Python package
boto3 - Outbound HTTPS to Cloudflare REST & R2 S3 endpoints
- HTTPS
web.base.urlfor share links
Included
- Month/model migration wizard
- Daily cron automation per model
- Presigned & proxied download routing
- Multi-company bucket configuration
- Unit tests for wizard and cron
Privacy & data
This module does not send telemetry to Vrutika Global Tech. File bytes travel only between your Odoo server and the Cloudflare endpoints you configure.
Ready to tame attachment storage growth?
Install on staging, validate downloads, then roll out automation with Vrutika Global Tech as your Odoo partner.
www.vrutikaglobaltech.com · info@vrutikaglobaltech.com
Licensed under OPL-1 (Odoo Proprietary License) · See LICENSE and doc/index.rst
Cloudflare R2 Attachment Archive
Overview
Publisher: Vrutika Global Tech
Archive binary ir.attachment files to Cloudflare R2 buckets using the S3-compatible API. Metadata stays on ir.attachment (archive flag, object key, optional bucket snapshot). Downloads continue through standard Odoo routes — presigned redirects or proxied bytes for POST flows.
Installation
Install boto3 in the Odoo Python environment:
pip install boto3
Add cloudflare_r2_attachment_vgt to your addons path and update the Apps list
Install Cloudflare R2 Attachment Archive
Open Settings → General Settings → Cloudflare R2 archive
Configuration
Company credentials
- Cloudflare Account ID — from the Cloudflare dashboard
- API Token (REST) — use Verify API token and List R2 buckets
- R2 Bucket Name and jurisdiction (EU / FedRAMP when applicable)
- S3-compatible Access Key ID and Secret — required for uploads and presigned downloads
- Public object base URL — leave empty for private buckets; use *.r2.dev or a custom domain only when anonymous read is enabled
Migration wizard
- Go to Cloudflare R2 → Archive attachments (month)
- Select company, target model, month, and year
- Optionally enable Clear file bytes in Odoo (keeps raster thumbnails for previews)
- Set Commit every N successes for large runs (default 10; 0 disables intermediate commits)
Scheduled automation
- Go to Cloudflare R2 → R2 automation models
- Register each Odoo model to archive
- Configure Exclude last N days (default 60), batch size, and commit granularity
- The daily cron Cloudflare R2 — daily automated archiving processes eligible attachments
System parameters
- cloudflare_r2.proxy_download_max_mb — max proxied download size (default 100)
- cloudflare_r2.thumbnail_max_side_px — local preview max side (default 256)
- cloudflare_r2.thumbnail_jpeg_quality — JPEG quality for thumbnails (default 60)
Security
- REST and S3 credentials are stored on res.company (secrets limited to system group)
- No telemetry is sent to Vrutika Global Tech — traffic stays between your Odoo server and Cloudflare
- Use scoped Cloudflare API tokens and HTTPS for production web.base.url
Troubleshooting
Module will not install
- Confirm Odoo 18.0 and install boto3 on the server
Token verification fails
- Use an API Token (Bearer), not the Global API Key
- Confirm Account ID matches the token scope
Bucket list returns HTTP 403
- Grant Workers R2 Storage: Read (or Edit) on the Cloudflare account
Upload works but download fails
- Re-enter S3-compatible keys (often cleared after database neutralisation)
- Do not use *.r2.cloudflarestorage.com as a public base URL
Wizard or cron errors mid-run
- Lower batch size and enable Commit every N successes
- Check Odoo logs for boto3 / network errors
Support
Vrutika Global Tech
- Website: https://www.vrutikaglobaltech.com/
- Email: info@vrutikaglobaltech.com
License
This module is published under the Odoo Proprietary License v1.0 (OPL-1). Use is permitted only with a valid license purchased via Odoo Apps or a written agreement with Vrutika Global Tech. It is forbidden to publish, distribute, sublicense, or sell copies of this module or modified copies.
Full license text: LICENSE at module root. Reference: Odoo 18 licenses.
For Odoo Apps vendor obligations, see Vendor Guidelines.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. 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.
Please log in to comment on this module