> ## Documentation Index
> Fetch the complete documentation index at: https://libops-renovate-github-com-libops-sitectl-0-x.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# fcrepo component

> How to enable, disable, and sync the Fedora Commons repository in your Islandora stack.

fcrepo (Fedora Commons) is the linked data repository that Islandora uses to store digital objects and their metadata alongside Drupal. In an Islandora stack, fcrepo runs as a Docker service alongside the rest of the application.

The `fcrepo` component controls whether the Fedora service, its volumes, and related Islandora configuration are part of your stack. It defaults to `enabled`.

Supported dispositions:

| Disposition  | Meaning                                                                                  |
| ------------ | ---------------------------------------------------------------------------------------- |
| `enabled`    | Use the standard Fedora-backed Islandora repository stack.                               |
| `superceded` | Remove Fedora because binaries are stored through another filesystem or storage backend. |

## Check current state

```bash theme={null}
sitectl component describe
```

The output shows whether `fcrepo` is on, off, or drifted (meaning the project files no longer match the last applied state).

## Enable fcrepo

```bash theme={null}
sitectl set fcrepo enabled
```

This adds the fcrepo service and its volumes back to `docker-compose.yml` and restores the Islandora configuration required to connect Drupal to Fedora.

## Disable fcrepo

```bash theme={null}
sitectl set fcrepo superceded --isle-file-system-uri public
```

This removes the fcrepo service and volumes from `docker-compose.yml`, disables Fedora indexing in Alpaca, removes Fedora-specific Drupal config sync files, and rewrites managed media field storage to use the requested filesystem URI.

Use `public`, `private`, or a custom Drupal stream wrapper scheme for `--isle-file-system-uri`. If you omit the flag, sitectl prompts for it when confirmation is enabled.

<Warning>
  Disabling fcrepo is a hard migration boundary. Existing Fedora-backed binaries must be migrated out of Fedora before you remove it from a site with content. The component removes volumes from the Compose project definition; data may still exist on disk until volume lifecycle commands such as `docker compose down -v` remove it.
</Warning>

## Create flags

Choose the Fedora shape during `sitectl create isle`:

```bash theme={null}
sitectl create isle --fcrepo on
sitectl create isle --fcrepo off --isle-file-system-uri private
```

## Sync fcrepo between environments

Copy the fcrepo database from one context to another:

```bash theme={null}
sitectl isle sync fcrepo --source museum-prod --target museum-local
```

This backs up the fcrepo database on the source context, stages it, and imports it into the target. Like the Drupal database sync, it asks for confirmation before importing. Pass `--yolo` to skip in automation.

Use `--fresh` to always take a new backup rather than reusing one from today.

## When to disable fcrepo

fcrepo adds significant resource requirements to a stack. You might disable it for:

* **Minimal local development** — if you're working on Drupal theme or module code that doesn't interact with digital objects
* **Stacks that don't use Islandora's linked data features** — some projects use Islandora as a Drupal hosting pattern but don't use Fedora-backed objects

If you're running a full Islandora installation with digital objects, fcrepo should be on.
