selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Fedora Repository logo

Self-host Fedora Repository

fcrepo-6.5.2

Digital repository system for libraries and archives

ReleaseOpen SourceApache-2.0
Updated10 hours ago
LanguageJava
Setup difficultyAdvanced
Stars
253
Port
8080 (HTTP (Tomcat/Jetty servlet container))
Docker
fcrepo/fcrepo
Install with Docker
Fedora Repository screenshot 1

What is Fedora Repository?

Fedora Repository is a modular open-source platform for managing and preserving digital collections. It serves academic libraries, cultural heritage organizations, universities, and government agencies worldwide. The software provides a RESTful HTTP API, OCFL-based storage for preservation, WebAC authorization, versioning with memento support, fixity checking, and RDF/linked data capabilities. It runs as a Java web application (WAR) on servlet containers like Tomcat 10+ or Jetty 12, and is also distributed as a Docker image. The system requires Java 21 and a relational database (PostgreSQL, MySQL, or MariaDB). The project is stewarded by the Lyrasis organization.

Should you self-host Fedora Repository?

Fedora Repository scores 53/100 on selfhost.directory (how scoring works) and ranks #7 of 12 in Archiving & Preservation. It has 253 GitHub stars.

It shipped 2 stable releases in the past year. The latest, fcrepo-6.5.2, came out on 16 July 2026. New versions land roughly every 3 months.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Java.

Its closest alternative on selfhost.directory is ArchiveBox (79/100, 28 895 stars). It scores higher overall, so compare the two before you pick. See Fedora Repository vs ArchiveBox side by side.

Features

  • Metrics and monitoring
  • RDF/Linked Data Support
  • RESTful HTTP API
  • Search and Indexing
  • Transaction Support
  • Versioning
  • WebAC Authorization

Fedora Repository README

How to install Fedora Repository

Install Fedora Repository with Docker

Docker Engine
Environment variables
CATALINA_OPTS, TOMCAT_USERS_FILE, FEDORA_ADMIN_USERNAME, FEDORA_ADMIN_PASSWORD, LOGBACK_CONFIGURATIONFILE, ENCODED_SOLIDUS_HANDLING

docker run -p8080:8080 --name=fcrepo fcrepo/fcrepo

Official Docker image on Docker Hub with Tomcat. Persistent storage via volume at /usr/local/tomcat/fcrepo-home.

How to configure Fedora Repository

  • CATALINA_OPTSJava options passed to Tomcat (e.g., -Dfcrepo.config.file=/path/to/config)

    Java options passed to Tomcat (e.g., -Dfcrepo.config.file=/path/to/config)

  • ENCODED_SOLIDUS_HANDLINGrejectHow Tomcat handles encoded forward slashes (%2F) in URLs

    How Tomcat handles encoded forward slashes (%2F) in URLs

    values: reject, decode, passthrough

  • fcrepo.config.filePath to Fedora configuration properties file

    Path to Fedora configuration properties file

  • fcrepo.home/usr/local/tomcat/fcrepo-homeDirectory where Fedora stores its data

    Directory where Fedora stores its data

  • FEDORA_ADMIN_PASSWORDfedoraAdminCustom password for the FEDORA_ADMIN_USERNAME

    Custom password for the FEDORA_ADMIN_USERNAME

  • FEDORA_ADMIN_USERNAMEfedoraAdminCustom username for the default fedoraAdmin user

    Custom username for the default fedoraAdmin user

  • LOGBACK_CONFIGURATIONFILEPath to custom logback configuration file

    Path to custom logback configuration file

  • TOMCAT_USERS_FILE$CATALINA_HOME/conf/tomcat-users.xmlPath to custom tomcat-users.xml file for user management

    Path to custom tomcat-users.xml file for user management

Fedora Repository releases & version history

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…