Search by

vezolabs / pimcore-cloud-storage-bundle

vezolabs

Production-Ready Cloud Storage Manager for Pimcore 12 Studio supporting Amazon S3, Azure Blob, and Google Cloud Storage

Package info

github.com/vezolabs/pimcore-cloud-storage-bundle

Type:pimcore-bundle

pkg:composer/vezolabs/pimcore-cloud-storage-bundle

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.3 2026-10-18 18:58 UTC

This package is auto-updated.

Last update: 2026-10-18 19:00:44 UTC


README

CI Software License PHP Pimcore Packagist Version

Pimcore Cloud Storage Manager is an enterprise-grade extension built for Pimcore 12 Studio. It enables business administrators to configure, test, migrate, and activate external cloud asset storage providers (Amazon S3, Microsoft Azure Blob Storage, Google Cloud Storage, and compatible S3 services) directly from the browser without editing PHP, YAML, environment variables, or server configurations.

Technical administrators install the package once via Composer. From that point forward, all routine operations, provider setup, live connection testing, and asset migrations are handled directly through the Pimcore Studio UI (accessible via Settings → Cloud Storage).

Screenshots & Interface

Cloud Storage Dashboard 5-Step Guided Provider Wizard
Dashboard Screen Wizard Screen
Storage Behavior & Active Backend Connection Diagnostics & Probes
:---: :---:
Behavior Screen Diagnostics Screen

Video Walkthrough

A video walkthrough covering installation, configuration, and practical usage will be linked here.

Video Walkthrough

Key Features

  • Multi-Cloud Provider Support: Seamless integrations for Amazon S3 (and S3-compatible: MinIO, Ceph, Cloudflare R2, Wasabi, Backblaze B2), Microsoft Azure Blob Storage, Google Cloud Storage (GCS), and local application filesystem fallback.
  • 5-Step Guided Setup Wizard: Visual cards, provider-specific conditional forms, real 4-phase probe testing, storage behavior rules, and review & explicit activation.
  • Zero-Downtime Hot-Swapping: Runtime dynamic Flysystem adapter (DynamicCloudStorageAdapter) decorates Pimcore's QueueAwareStorageAdapter so provider switching takes effect immediately across all requests without server restarts.
  • Enterprise Credential Security: Credentials encrypted at rest using AES-256-GCM with HKDF key derivation from PIMCORE_ENCRYPTION_SECRET. Zero secrets leaked in API payloads or browser displays; automated sanitization of keys and connection strings from application logs and exception traces.
  • Resumable Asset Migration Assistant: Preflight scan calculating total files and bytes, followed by memory-efficient $O(1)$ stream-based transfers with resume capability and audit tracking.
  • Native Studio Integration: Directly embedded into Pimcore 12 Studio via Module Federation without legacy ExtJS or jQuery dependencies.

System Requirements & Compatibility

Requirement Supported Version
Pimcore Pimcore 12 (^2025.0 or ^2026.0) with Studio UI
PHP ^8.2, ^8.3, ^8.4, ^8.5
Database MariaDB 10.6+ or MySQL 8.0+
Symfony ^6.4, ^7.0, ^8.0

Legacy Pimcore Support & Customization

Need this functionality for an earlier Pimcore version, or require custom integrations?

  • Pimcore 6, Pimcore 10, or Pimcore 11: Dedicated builds and backports tailored for classic Pimcore architectures.
  • Custom Enterprise Integrations: Bespoke feature development, custom storage adapters, and private cloud integrations.

👉 Contact VezoLabs for Customization & Legacy Support

Installation

Quick One-Line Install

Run the following command in your Pimcore project root:

composer require vezolabs/pimcore-cloud-storage-bundle && \
bin/console pimcore:bundle:install VezolabsCloudStorageBundle && \
bin/console assets:install public && \
bin/console cache:clear

Step-by-Step Installation

1. Require Package via Composer

composer require vezolabs/pimcore-cloud-storage-bundle

2. Enable Bundle

If not auto-registered by Symfony Flex, add the bundle to config/bundles.php:

return [
    // ...
    Vezolabs\CloudStorageBundle\VezolabsCloudStorageBundle::class => ['all' => true],
];

3. Run Bundle Installer & Migrations

bin/console pimcore:bundle:install VezolabsCloudStorageBundle

4. Publish Frontend Assets & Clear Cache

bin/console assets:install public
bin/console cache:clear

Architecture Overview

flowchart TD
    subgraph Studio UI
        UI["React 18 + Ant Design 5<br/>(Module Federation: remoteEntry.js)"]
        API["StudioCloudStorageApiController<br/>(/pimcore-studio/api/cloud-storage)"]
        UI -->|REST API| API
    end

    subgraph Security & Storage Core
        SEC["CredentialEncryptor<br/>(AES-256-GCM + HKDF)"]
        REPO["StorageConfigurationRepository<br/>(pimcore_cloud_storage_configs)"]
        API --> SEC
        API --> REPO
    end

    subgraph Asset Operations
        CORE["Pimcore Asset Operations<br/>(Upload, Read, Move, Delete, Thumbnails)"]
        QUEUE["QueueAwareStorageAdapter<br/>(Pimcore Core Queue Wrapper)"]
        DYNAMIC["DynamicCloudStorageAdapter<br/>(League Flysystem Adapter)"]
        
        CORE --> QUEUE
        QUEUE --> DYNAMIC
    end

    subgraph Providers
        DYNAMIC --> S3["S3StorageProvider (AWS / MinIO / R2)"]
        DYNAMIC --> AZURE["AzureBlobStorageProvider (Azure Blob)"]
        DYNAMIC --> GCS["GoogleCloudStorageProvider (GCS)"]
        DYNAMIC --> LOCAL["LocalStorageProvider (Local Filesystem)"]
    end
Loading

CLI Management Commands

For automated environments, CI/CD pipelines, and DevOps workflows:

# View active storage backend and health diagnostics
bin/console pimcore:cloud-storage:status

# Run 4-phase connection probe on a configuration
bin/console pimcore:cloud-storage:test aws-s3-prod

# Switch active storage provider with zero application restart
bin/console pimcore:cloud-storage:activate aws-s3-prod

# Migrate assets between storage backends
bin/console pimcore:cloud-storage:migrate --source=local-default --target=aws-s3-prod --dry-run

Documentation

Detailed documentation is available in the docs/ directory:

Contributing

Contributions are welcome. Please read CONTRIBUTING.md for coding standards and test execution.

License

This project is licensed under the MIT License.

Commercial Support & Consulting

VezoLabs provides professional consulting, enterprise deployment, and custom Pimcore development.