An Apache Archiva image for simple standalone deployments.
||Tracks the latest version of Archiva|
||Tracks v2 snapshot builds for Archiva|
||Legacy versions of this image|
See the Change Log for recent changes!
Pull requests/code copying are welcome! See the Contributing documentation for general guidelines.
This image, and Apache Archiva, are covered under the Apache 2.0 License
Apache Archiva is maven-compatible artifact repository that is reasonably configurable and quite stable.
This goal of this image is to be the easiest way to deploy a simple and reliable version of Apache Archiva. The key features of this image are:
jetty.xmlconfiguration (which can be overwritten)
There are several ways to deploy an Apache Archiva environment with this image. The simplest is to just start it up via the command line.
docker run --name archiva -p 8080:8080 xetusoss/archiva
The example below shows how to deploy archiva with a separate data volume using docker-compose.
version: '3.4' services: archiva: image: xetusoss/archiva:latest volumes: - type: volume source: archiva-data-vol target: /archiva-data environment: SMTP_HOST: your-smtp-server volumes: archiva-data-vol:
For a more complete example of using docker-compose using ngnix as an https proxy, see docker-compose.nginx-https.yaml
The easiest way to deploy this image in Kubernetes is to use the associated helm chart, xetusoss-archiva. See the chart documentation for usage.
Archiva requires access to an SMTP server for things like password reset emails. These variables are used by the managed
SMTP_PORT has a default value of 25.
Note, there is no authentication support for SMTP in the auto-generated
It is recommended to deploy Archiva behind an HTTPS proxy. When using an HTTPS proxy, Archiva needs to be aware of the proxy's frontend url to operate properly.
PROXY_BASE_URL will cause the container's entrypoint script to set all the needed java properties for Archiva to be aware of the proxy.
The archiva user database can be stored in
mysql instead of
derby (the default). These environment variables can be used to configure the auto-generated
jetty.xml to use a MySQL datasource. They are not necessary when using the default
See the docker-compose.mysql.yaml for a complete example of using MySQL.
Allow fine-tuned control over the JVM environment that archiva runs in, or set the MALLOC_ARENA_MAX. Unless you have specific needs, neither of these need to be set.
If the container-managed
jetty.xml file is not flexible enough for your deployment scenario, the
JETTY_CONFIG_PATH environment variable can be used to manually specify a configuration file.
If custom CA certificates are required, they can be automatically loaded into the java environment by mounting them in the
/certs directory. All certificates must have a
The Archiva project is not dead, but it's development is (very) slow. A reasonable question to ask is "Why bother when there are other tools, like Artifactory?". We don't have a clear-cut answer for that, but here are some of the reasons you might consider Archiva.