Welcome to your InvenioRDM development instance. This repository contains a complete development setup for the latest InvenioRDM build.
- Prerequisites
- Quick Start
- Setup Options
- Configuration
- Local Package Development
- Documentation
- Troubleshooting
Before starting, ensure you have the following installed:
- Python 3.12+
- uv 0.8.x+
- Node.js 22+
- pnpm 10.15.x+
- Docker & Docker Compose (for containerized setup)
- Git
The fastest way to get started is using the dockerized setup:
# Start all services
docker compose -f docker-compose.full.yml down && \
docker compose -f docker-compose.full.yml up -d --build
# > **Note:** If you encounter an error about existing pod names, simply rerun the commands.
docker compose -f docker-compose.full.yml up -d
# Initialize the application
./scripts/ignite_app.shFor local development with more control over the environment:
-
Create and activate virtual environment:
uv venv source .venv/bin/activate
-
Install dependencies:
uv pip install invenio-cli uv run invenio-cli install
-
Setup services:
uv run invenio-cli services setup -f -N -
Configure S3 storage (macOS):
printf '\n127.0.0.1\ts3\n' | sudo tee -a /etc/hosts sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder
For a complete containerized environment:
# Start all services (database, search, cache, etc.)
docker compose -f docker-compose.full.yml up -d
# Initialize the application
./scripts/ignite_app.shAfter starting the services, you may need to configure the default S3 bucket:
- Navigate to http://s3:9001/login
- Use the default credentials:
CHANGE_ME(both username and password) - Create necessary buckets as required
Key configuration files:
invenio.cfg- Main application configurationdocker-compose.yml- Service orchestrationpyproject.toml- Python dependencies
If you're developing local InvenioRDM packages, you can install them using:
# Adjust paths in the script as needed
./install_local_packages.shImportant: Make sure to adjust the package paths in the script before running.
For comprehensive guides on configuration, customization, and deployment:
- Port conflicts: Ensure ports 80, 443, 5432, 9200, 6379, and 9001 are available
- Permission issues: Make sure Docker has appropriate permissions
- Memory issues: Ensure Docker has at least 4GB RAM allocated
# View logs
docker compose -f docker-compose.full.yml logs
# Stop all services
docker compose -f docker-compose.full.yml down
# Restart services
docker compose -f docker-compose.full.yml restart
# Clean up (removes volumes)
docker compose -f docker-compose.full.yml down -vFor more help, please refer to the InvenioRDM Community Forum or check the troubleshooting guide.