Skip to content

Module: JUICE

Use JuiceFS distributed filesystem with PostgreSQL metadata to provide shared POSIX storage.

JuiceFS is a high-performance, POSIX-compatible distributed filesystem. It can mount object storage or databases as a local filesystem.

The JUICE module depends on NODE for infrastructure and the package repository. It typically uses PGSQL as the metadata engine.

File data can reside in a PostgreSQL jfs_blob table. It can also reside in Silo or S3-compatible object storage from the MINIO module. Monitoring uses VictoriaMetrics from INFRA.


Features

  • PostgreSQL metadata: Metadata stored in PostgreSQL for easy management and backup
  • Multi-instance: One node can mount multiple independent filesystem instances
  • Multiple data backends: PostgreSQL, Silo/MinIO, S3, and more. Metadata and file data remain separate roles.
  • Monitoring integration: Each instance exposes Prometheus / Victoria-format metrics port
  • Simple config: Describe instances with the juice_instances dict

Quick Start

Minimal config example (single instance):

juice_instances:
  jfs:
    path: /fs
    meta: postgres://dbuser_meta:[email protected]:5432/meta
    data: --storage postgres --bucket 10.10.10.10:5432/meta --access-key dbuser_meta --secret-key DBUser.Meta
    port: 9567

Deploy:

./juice.yml -l <host>

JUICE module configuration, instance definition, storage backends, and mount options.

JUICE module frequently asked questions.

Was this page helpful?