https://github.com/bethibande/arcae
Self hosted Maven & Docker repository
https://github.com/bethibande/arcae
docker maven oci-registry quarkus repository repository-management
Last synced: about 1 month ago
JSON representation
Self hosted Maven & Docker repository
- Host: GitHub
- URL: https://github.com/bethibande/arcae
- Owner: Bethibande
- License: other
- Created: 2026-01-22T14:50:59.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2026-04-18T09:10:45.000Z (2 months ago)
- Last Synced: 2026-04-18T10:31:47.758Z (2 months ago)
- Topics: docker, maven, oci-registry, quarkus, repository, repository-management
- Language: TypeScript
- Homepage: https://repo.bethibande.com
- Size: 3.93 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
Arcae
A self-hosted software repository.

### Quick links
- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Screenshots](#screenshots)
## Features
- **Maven** repository support
- **Docker/OCI** repository support
- **Kubernetes gateway API** - Automatic HTTPRoute configuration support for OCI repositories
- **Open ID Connect** - Link external accounts for easy sign ins
- Cleanup policies
- Mirroring of remote repositories
- User permissions for repository access
- Access tokens for deploying and accessing artifacts
## Requirements
This section lists all requirements that need to be met in order to run the repository application itself.
Additional software (such as PostgreSQL, Elasticsearch and more) is required and will impose its own set of requirements that need to be met.
### Hardware
**Two CPU cores** and **150 MB of Memory** are recommended for small scale deployments.
For reference, the containers of the live deployment each consume around 58 MB to 101 MB of memory total.
> [!NOTE]
> The ``JAVA_OPTIONS`` environment variable is used to limit the heap size.
> A value of ``-Xmx100m`` will limit the heap to 100 MB. At least 30 to 60 MB of additional memory is recommended
> to avoid out-of-memory errors. This memory is needed to store the binary and additional data such as network buffers.
A minimal self-hosted deployment using PostgreSQL and Minio (S3) will use around 200-300 MB of memory.
When using Elasticsearch you will need at least 1.5 GB of memory in total.
### Software
- **Linux**
Tested on Debian 12 and 13
- **Docker or Kubernetes**
Kubernetes should be reasonably up to date in order for cloud-native features, such as service discovery and the Gateway API support, to work.
- **PostgreSQL**
Tested on version 16.3
- **Elasticsearch** (optional)
Version 8.13.4, this is a hard constraint due to the way that the Elasticsearch client and the native-image builds work.
As such you will most likely need to self-host this. A basic instance will require at least 1 GB of memory.
- **S3 compatible storage**
Must support multipart upload, multipart copy operations and ranged get operations.
## Installation
The following sections explain how to get started with installing the repository.
**Configuration** reference can be found [here](https://github.com/Bethibande/Arcae/wiki/Configuration).
### Docker
To get started using docker, download the example [docker-compose.yaml](docker-compose.yaml) and run
```shell
docker compose up -d
```
> [!NOTE]
> This docker compose file is only meant to serve as an example. It is not meant for production use.
> Credentials should be changed and stored securely, and readiness-probes are missing.
Wait for the repository to be ready (it may crash and restart a few times until elasticsearch and postgresql are online).
And then navigate to ``http://localhost:8080/setup`` to create your admin user.
### Kubernetes / Helm
To get started using Kubernetes, pull the chart. Please note that this chart does not contain any PostgreSQL, Elasticsearch or S3 deployments.
You can find the values.yaml file [here](/chart/arcae/values.yaml).
```shell
# Add the repository
helm repo add arcae https://helm.bethibande.com/repo/bethibande/arcae/
# Pull the chart
helm pull arcae/arcae --version 1.2.4
```
## Screenshots
| Dashboard | Artifact browser |
|-------------------------------------------------------|---------------------------------------------------------------------|
|  |  |
| Version listing | Repository settings |
|  |  |
| Access Tokens | Jobs |
|  |  |