Gateway with Docker
Instructions for installing Keeper Gateway on Docker

Overview
This document contains information on how to install, configure, and update your Keeper Gateway on Docker. The Keeper Gateway container is built upon the base image of Rocky Linux 8 and it is hosted in DockerHub.
Prerequisites
A Linux host with a x86 AMD processor for all PAM capabilities
dockeranddocker composeinstalled (see Docker Install for help)
Create a Gateway
A new Gateway deployment can be created by clicking on Create New > Gateway from the Web Vault or Desktop App.
You can also create a Gateway and configuration file from the Commander CLI:
The Application names and UIDs can be found with secrets-manager app list
Installation Options
Keeper provides 2 ways of setting up the Gateway:
Option 1: Auto Docker Installation
Keeper's automatic installer will set up the environment for you.
Create a Docker Gateway and Copy the Installation Command
Create a new Gateway with either the Gateway Wizard or using Keeper Secrets Manager for the Docker Operating System.
You will be provided with an installation command to paste into your Linux host.

Option 2: Manual Docker Installation
If you prefer to set up the Docker environment yourself, follow the instructions below.
Docker Compose
A Docker Compose file is provided through the Vault UI. Typically this file would be saved in your local environment as docker-compose.yml in your preferred folder. An example is below:
The shm_size is a critical parameter. We recommend maximizing this value to at least half of the available server memory. Production gateways should have as much memory and CPU allocated as possible. When using remote browser isolation sessions, Chromium uses a lot of memory for each process.
The only required environment variable setting is GATEWAY_CONFIG which is the resulting base64-encoded configuration provided by Keeper when creating a Gateway.
Seccomp File
The file called docker-seccomp.json needs to be downloaded and placed in the same folder as your Docker Compose file.
Download File or:
AppArmor Profile (Required for Ubuntu/Debian distributions)
The file called gateway-apparmor-profile needs to be placed in the same folder as your Docker Compose file.
Download File or:
Activate the apparmor config
Logging
When running the latest version of the Keeper Gateway, you'll see the output in the logs like below:

On the Vault UI in the Secrets Manager > Applications > Gateways screen, the Gateway will show Online.

Gateway Service Management
Starting the service
Stopping the service
Restarting the service
Connecting to the Gateway container
Starting the Gateway Automatically on Reboot
In the docker-compose.yml file, ensure that a restart policy is enabled. For example:
Adding the "restart: unless-stopped" or "restart: always" parameter in the docker-compose.yml file will assign a restart policy to the environment.
If you would like to force the host operating system to automatically start the Keeper Gateway on a Docker installation, follow these steps (Linux host).
First, create a file /etc/systemd/system/keeper-gateway.service
NOTE:
Replace
/path/to/installwith the path to your docker-compose.ymlReplace
myusernameuser with your user running DockerReplace
dockergroup with your defined groupEnsure the binary path for ExecStart and ExecStop are correct
Then enable the service:
Important: Ensure that the apparmor file is loaded up and available on reboot
After a reboot, verify that it's running:
Debugging
If you need to enable verbose debug logs on the Gateway, enable debug logging by adding the below environment section variables to your Docker Compose file:
After changing the log level, apply the changes to the docker
Tail the logs of the Keeper Gateway using this command:
Updating
Executing the following command will update the Keeper Gateway container to the latest version and restart the service:
Health Checks
To monitor the Gateway service, you can configure health checks that expose its operational status. These checks are useful for Docker orchestration, load balancing, and automated monitoring. See the Health Check section for full setup details and examples.
Connecting to the Host Instance
A very useful capability of the Keeper Gateway is being able to open connections and tunnels to the host machine. By adding the extra_hosts section to your docker compose file with a value of host.docker.internal:host-gateway, you can open sessions directly to the host.
Example docker compose with the Gateway container:
Enabling this option allows you to establish a Connection to the host. For example, to open an SSH connection:
Create a PAM User record with the SSH private key
Create a PAM Machine record with the hostname to
host.docker.internaland port22Activate the SSH connection in PAM settings referencing the PAM User
Upgrading the Keeper Gateway service through the host
If you use KeeperPAM to SSH over to the host service, you can upgrade the container by running the container update of the gateway in the background:
Network Configuration
The Keeper Gateway establishes outbound-only connections and does not require any inbound firewall rules. The following outbound connections must be allowed:
Keeper Cloud (keepersecurity.[com|eu|com.au|jp|ca|us])
TLS Port 443
Communicates with Keeper Cloud to access target infrastructure via native protocols (e.g., SSH, RDP)
Keeper Router (connect.keepersecurity.[com|eu|com.au|jp|ca|us])
TLS Port 443
Communicates with Keeper Router to establish secure, real-time WebSocket connections
Keeper KRelay Server (krelay.keepersecurity.[com|eu|com.au|jp|ca|us])
TCP and UDP opened on Port 3478 Outbound access to TCP and UDP ports 49152 through 65535
Facilitates secure and encrypted relay connections between end-user's vault and target systems via the Gateway
The Gateway preserves zero knowledge by performing all encryption and decryption of data locally. Keeper Secrets Manager APIs are used to communicate with the Keeper cloud.
Managing Disk Space
Over time, as new versions of the Gateway are deployed, old Docker images may accumulate on the host server. This can consume a significant amount of disk space. To ensure smooth operation and avoid storage issues, we recommend periodically checking your available disk space and removing unused Docker images.
Checking Disk Space Usage
To view your current disk usage, run the following command on your Keeper Gateway server:
This command displays available disk space on all mounted filesystems in a human-readable format. Pay particular attention to the partition where Docker stores its data (typically /var/lib/docker).
If you notice the disk space running low (for example, more than 80–90% full), it’s a good idea to clean up old Docker images.
Cleaning Up Old Docker Images
When you update the Keeper Gateway, Docker keeps older images on your system. To remove all unused Docker images, you can use the following command:
The
-aflag ensures that all unused images are deleted (not just dangling ones).You may be prompted to confirm the action — type
ywhen prompted.
Example output:
This operation safely removes old images that are no longer used by any running containers.
References:
DockerHub listing: https://hub.docker.com/r/keeper/gateway
Quick reference for Installing Docker and Docker Compose on Linux
Last updated
Was this helpful?

