This repository holds ADCM's source code and build tooling.
Installation and usage docs can be found in documentation.
- Clone the repository:
git clone https://github.com/arenadata/adcm cd adcm - Build the image for your architecture:
You'll get an image tagged
make build
hub.adsw.io/adcm/adcm:<BRANCH_NAME>. - Run ADCM as a docker container (you will need running
PostgreSQL14+ instance):docker run -d -p 8000:8000 -v /opt/adcm:/adcm/data --name adcm \ -e DB_HOST="<DATABASE_HOSTNAME_OR_IP_ADDRESS>" \ -e DB_USER="<DATABASE_USERNAME>" -e DB_NAME="<DATABASE_NAME>" \ -e DB_PASS="<DATABASE_USER_PASSWORD>" \ hub.arenadata.io/adcm/adcm:<TAG>
A few things to know before you run it:
- Replace
<TAG>and the<DATABASE_*>placeholders with values matching your own setup. - You can use the newly built image (from step 2) instead of
hub.arenadata.io/adcm/adcm:<TAG>. - Your
PostgreSQLinstance needs to be version 14 or newer —ADCMrelies on theJSONBfield type. DB_NAMEshould already exist, and the user you connect with needs permission to modify its structure.- You can set
-e DB_PORT=...to changePostgreSQLport to connect to — by default it's5432. - You can configure log level by setting
-e LOG_LEVEL=...to one ofDEBUG,INFO,WARNING,ERROR,CRITICAL(defaults toERROR). - On
SELinux, mount the volume with-v /opt/adcm:/adcm/data:Zinstead.
- Components
- Container image
Dockerfile- container image definitionconf-ADCMbundleos- filesystem overlay baked into the container image
- Build & tooling
Makefile- management commands, runmake helpfor available targetsdev- developer tooling (linters, profiling configs)