Production-ready base image for Keeper PAM Gateway containing all dependencies.
Repository: keepersecurityinc/pam-gateway-base
This is a base image only. You must provide:
keeper-gateway.tar.gz)Tags follow a strict naming convention for complete version tracking:
Example: el9-x86_64-py312-kdb0.38.0-kcm2.22.prod.20251202.20260113.1
Format: {os}-{arch}-{python}-{keeperdb}-{kcm_version}.{kcm_env}.{kcm_build_date}.{our_build_date}.{build_num}
Breakdown:
el9 ← OS (Rocky Linux 9)x86_64 ← Architecture (x86_64 or aarch64)py312 ← Python version (3.12)kdb0.38.0 ← KeeperDB versionkcm2.22 ← KCM versionprod ← KCM environment (prod/dev/qa)20251202 ← KCM RPM build date20260113 ← Our build date1 ← Build number| Component | Example | Meaning |
|---|---|---|
| OS | el9 | Rocky Linux 9 (Enterprise Linux 9) |
| Architecture | x86_64 | CPU architecture (x86_64 or aarch64) |
| Python | py312 | Python 3.12 |
| KeeperDB | kdb0.38.0 | KeeperDB version 0.38.0 |
| KCM Version | kcm2.22 | KCM version 2.22 |
| KCM Env | prod | KCM downloaded from prod repo |
| KCM Build Date | 20251202 | When KCM RPM was built |
| Our Build Date | 20260113 | When this image was built |
| Build Number | 1 | Incremental for same-day rebuilds |
Each build creates three tags:
el9-x86_64-py312-kdb0.38.0-kcm2.22.prod.20251202.20260113.1 (complete version info)x86_64-20260113.1 (arch + build date + build number)latest (points to most recent build)Note: Short tags include architecture (x86_64 or aarch64) to support multi-arch deployments.
# Full tag (most specific, recommended for production)
FROM keepersecurityinc/pam-gateway-base:el9-x86_64-py312-kdb0.38.0-kcm2.22.prod.20251202.20260113.1
# Short tag (convenient, still pinned to specific build)
FROM keepersecurityinc/pam-gateway-base:x86_64-20260113.1
# Latest (always moving, use for testing only)
FROM keepersecurityinc/pam-gateway-base:latest
# Add your gateway code
COPY keeper-gateway.tar.gz /tmp/
RUN tar -xzf /tmp/keeper-gateway.tar.gz -C /opt/keeper/gateway
# Add your entrypoint
COPY entrypoint.sh /usr/local/bin/
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
Note: For production use, pin to specific version tags (full or short) for reproducibility.
linux/amd64The image includes a pre-configured non-privileged user:
keeper-gwkeeper-gw, guacd/home/keeper-gwImportant: No default USER is set in the Dockerfile. This is intentional because:
keeper-gw for running the gatewayYour entrypoint should switch to keeper-gw:
#!/bin/bash
# Do root setup if needed
# ...
# Switch to keeper-gw user
exec su keeper-gw -s /bin/bash -c "exec your-gateway-command"
/opt/keeper/sbin/guacd - KCM guacd binary/opt/keeper/keeperdb/ - KeeperDB installation/recording_pipes/ - Recording pipes directory (700 permissions)/etc/guacamole/ - Guacamole configurationAll images include OCI standard labels plus custom Keeper labels for version tracking:
org.opencontainers.image.vendor=Keeper Security
org.opencontainers.image.version=<tag>
com.keepersecurity.python.version=3.12
com.keepersecurity.kcm.version=2.22
com.keepersecurity.kcm.env=prod
com.keepersecurity.kcm.build-date=20251202
com.keepersecurity.keeperdb.version=0.38.0
com.keepersecurity.build-date=20260113
com.keepersecurity.build-number=1
com.keepersecurity.os=rocky9
Query labels:
docker inspect keepersecurityinc/pam-gateway-base:latest --format '{{json .Config.Labels}}' | jq
Content type
Image
Digest
sha256:67fc09bba…
Size
1 GB
Last updated
2 months ago
docker pull keepersecurityinc/pam-gateway-base