Latest development build of CredoID service docker image
version: "3.9"
services:
credoid:
container_name: "credoid"
image: "midpointdev/credoid:latest"
ports:
# exposed ports
- "8090:8090" # api
- "4070:4070" # hid
- "3002:3002" # aero
- "3001:3001" # mrc
- "58032:58032" # mobile
- "5500:5500" # grpc
# uncomment for macos
#network_mode: "host"
environment:
DatabaseProvider: "postgre"
ConnectionString: "Server=db;Database=CredoID;User Id=postgres;Password=CredoIDPassword1"
ScpSettings__DisableAeroDriver: false
ScpSettings__DisableMercuryDriver: true
TanlockSettings__DisableSsl: true
Serilog__MinimumLevel: Information
SupremaSettings__DisableGSdkService: true
LicensingSettings__LicenseKey: "YOUR_LICENSE_KEY"
# uncomment for macos
#DOTNET_EnableWriteXorExecute: 0
depends_on:
- db
volumes:
- /usr/shared/Midpoint-Security:/usr/shared/Midpoint-Security
db:
container_name: "database"
image: "postgres:latest"
environment:
POSTGRES_PASSWORD: "CredoIDPassword1"
PGDATA: "/var/lib/postgresql/data/pgdata"
volumes:
- type: volume
source: data
target: /var/lib/postgresql/data
volumes:
data:
NOTE: The examples above use the
latesttag for simplicity. Be aware of the implications of leaving it aslatestinstead of pinning a specific version:
- Non-reproducible deployments —
latestpoints to whatever was most recently published, so two installations (or a reinstall later) may run different versions without any config change.- Unexpected upgrades — a
docker pull/docker compose pullsilently upgrades the service, potentially introducing breaking changes, database schema migrations, or new bugs.- Harder rollbacks and support — without a pinned tag it is difficult to know which version is actually running or to roll back to a known-good state.
For production environments, it is highly advised to use Docker images with a "-stable" suffix tag and an explicitly set version (e.g.,
midpointdev/credoid:4.24.76-stable), and the same applies to the database image (e.g.,postgres:18.1).
docker run --name credoid -p 8090:8090 -p 4070:4070 -p 3001:3001 -p 3002:3002 -e ConnectionString="Server=host.docker.internal;Database=credoid;User ID=postgres;Password=strong#Password" -e DatabaseProvider="postgre" -e LicensingSettings__LicenseKey="YOUR_LICENSE_KEY" -e Serilog__MinimumLevel="Information" -e ScpSettings__DisableAeroDriver="false" -e ScpSettings__DisableMercuryDriver="true" midpointdev/credoid:latest"
docker run --name credoid --net=host -p 8090:8090 -p 4070:4070 -p 3001:3001 -p 3002:3002 -e ConnectionString="Server=host.docker.internal;Database=credoid;User ID=postgres;Password=strong#Password" -e DatabaseProvider="postgre" -e LicensingSettings__LicenseKey="YOUR_LICENSE_KEY" -e Serilog__MinimumLevel="Information" -e DOTNET_EnableWriteXorExecute=0 midpointdev/credoid:latest
Below is a list of ports that need to be open for specified access control devices to connect:
ConnectionString (mandatory)This environment variable sets connection string for postgre database i.e. Server=host.docker.internal;Database=credoid;User ID=postgres;Password=password
LicensingSettings__LicenseKey (mandatory)Contact sales at [email protected] to get your key. Key consists of 24 alphanumeric characters only i.e. 643DC7E8B766B52827D3B310
ScpSettings__DisableAeroDriver (optional)Disables aero device driver
NOTE: only one driver can be enabled at a time (aero or mercury)
ScpSettings__DisableMercuryDriver (optional)Disables mercury device driver
NOTE: only one driver can be enabled at a time
Content type
Image
Digest
sha256:cc7245e3d…
Size
802.9 MB
Last updated
3 days ago
docker pull midpointdev/credoid:4.25.31-stable