Administration
Manage the HAProxy Enterprise service
This page applies to:
- HAProxy Enterprise - all versions
This page describes how to manage the load balancer service.
Get the HAProxy Enterprise version Jump to heading
To see the installed version of the software, pass the -v flag to the hapee-lb program. Below, we show the command to use, depending on your environment.
For Linux, call the hapee-lb command with the -v argument.
nix/opt/hapee-3.4/sbin/hapee-lb -v
nix/opt/hapee-3.4/sbin/hapee-lb -v
For Docker, use the docker exec command to call the hapee-lb command with the -v argument.
nixsudo docker exec hapee-3.4 /opt/hapee-3.4/sbin/hapee-lb -v
nixsudo docker exec hapee-3.4 /opt/hapee-3.4/sbin/hapee-lb -v
The output shows the version, release status, changelog URL, and current operating system.
outputtextHAProxy version 3.4.0-1.0.0-375.869 2026/08/26 - https://haproxy.org/Status: stable branch - will stop receiving fixes around ...Known bugs: https://www.haproxy.com/documentation/haproxy-config...Running on: Linux 6.1.0-29-amd64 ...
outputtextHAProxy version 3.4.0-1.0.0-375.869 2026/08/26 - https://haproxy.org/Status: stable branch - will stop receiving fixes around ...Known bugs: https://www.haproxy.com/documentation/haproxy-config...Running on: Linux 6.1.0-29-amd64 ...
Start the service Jump to heading
HAProxy Enterprise runs as a service. If stopped, you can start it by calling the following command, depending on your environment.
For Linux, call the systemctl start command.
nixsudo systemctl start hapee-3.4-lb
nixsudo systemctl start hapee-3.4-lb
This command returns no output, but you can get the service’s status.
For Docker, the command to use depends on your version.
-
For HAProxy Enterprise 3.4r1 and newer, call the
gopherd startcommand.nixsudo docker exec hapee-3.4 /usr/local/bin/gopherd start haproxynixsudo docker exec hapee-3.4 /usr/local/bin/gopherd start haproxyThe output shows that HAProxy Enterprise is running.
outputtexthaproxy: running (pid 101)outputtexthaproxy: running (pid 101) -
For HAProxy Enterprise 3.3r1 and older, there isn’t a start command. The service always restarts automatically when stopped.
Stop the service Jump to heading
You can stop the HAProxy Enterprise service by calling the following command, depending on your environment.
For Linux, call the systemctl stop command.
nixsudo systemctl stop hapee-3.4-lb
nixsudo systemctl stop hapee-3.4-lb
This command returns no output, but you can get the service’s status.
For Docker, the command to use depends on your version.
-
For HAProxy Enterprise 3.4r1 and newer, call the
gopherd stopcommand.nixsudo docker exec hapee-3.4 /usr/local/bin/gopherd stop haproxynixsudo docker exec hapee-3.4 /usr/local/bin/gopherd stop haproxyThe output shows that HAProxy Enterprise has stopped.
outputtexthaproxy: stoppedoutputtexthaproxy: stopped -
For HAProxy Enterprise 3.3r1 and older, call the
s6-svccommand with the-1argument. The-1argument sends aSIGUSR1signal to the HAProxy Enterprise container. Upon receiving the signal, the load balancer unbinds its listening ports so it won’t accept any additional connections, but it will continue processing existing connections until all connections close. After all connections have closed, the load balancer process terminates gracefully.nixsudo docker exec hapee-3.3 s6-svc -1 /var/run/s6/services/haproxynixsudo docker exec hapee-3.3 s6-svc -1 /var/run/s6/services/haproxyThis command returns no output, but the
sudo docker logs hapee-3.3command shows the status:outputtextExiting Master process...soft-stop running for too long, performing a hard-stop.Proxy GLOBAL hard-stopped (1 remaining conns will be closed).Current worker (265) exited with code 0 (Exit)All workers exited. Exiting... (0)...Initializing new worker (308)outputtextExiting Master process...soft-stop running for too long, performing a hard-stop.Proxy GLOBAL hard-stopped (1 remaining conns will be closed).Current worker (265) exited with code 0 (Exit)All workers exited. Exiting... (0)...Initializing new worker (308)The service will automatically restart when stopped.
Restart the service Jump to heading
To restart the HAProxy Enterprise service, call the following command, depending on your environment. Note that performing a hard restart in this way may result in dropped traffic.
For Linux, call the systemctl restart command.
nixsudo systemctl restart hapee-3.4-lb
nixsudo systemctl restart hapee-3.4-lb
This command returns no output, but you can get the service’s status.
For Docker, the command to use depends on your version.
-
For HAProxy Enterprise 3.4r1 and newer, call the
gopherd restartcommand.nixsudo docker exec hapee-3.4 /usr/local/bin/gopherd restart haproxynixsudo docker exec hapee-3.4 /usr/local/bin/gopherd restart haproxyThe output shows that a restart has been scheduled.
outputtexthaproxy: restart scheduledoutputtexthaproxy: restart scheduled -
For HAProxy Enterprise 3.3r1 and older, call the
s6-svccommand with the-targument. The-targument sends aSIGTERMsignal to the HAProxy Enterprise container. When the load balancer receives theSIGTERMsignal, it doesn’t shut down gracefully, but rather, it immediately terminates and closes all established connections before restarting the service.nixsudo docker exec hapee-3.3 s6-svc -t /var/run/s6/services/haproxynixsudo docker exec hapee-3.3 s6-svc -t /var/run/s6/services/haproxyThis command returns no output, but the
sudo docker logs hapee-3.3command shows the status:outputtexthaproxy-1 | [WARNING] (299) : Exiting Master process...haproxy-1 | [ALERT] (299) : Current worker (308) exited with code 143 (Terminated)haproxy-1 | [WARNING] (299) : All workers exited. Exiting... (0)...haproxy-1 | [NOTICE] (341) : Initializing new worker (350)outputtexthaproxy-1 | [WARNING] (299) : Exiting Master process...haproxy-1 | [ALERT] (299) : Current worker (308) exited with code 143 (Terminated)haproxy-1 | [WARNING] (299) : All workers exited. Exiting... (0)...haproxy-1 | [NOTICE] (341) : Initializing new worker (350)
Reload the configuration Jump to heading
To reload the configuration without restarting the process, call the command in this section, depending on your environment.
When the load balancer performs a reload, it applies configuration changes immediately without interrupting existing connections. The load balancer can support graceful, no-impact reloads because of its master-worker architecture. When the load balancer starts, it starts a master process and a worker process. The master manages the worker, and it manages reloads. The worker validates the configuration and executes the load balancer application that processes traffic.
When you execute a reload command, systemd sends the SIGUSR2 signal to the master process, which causes it to re-execute itself. The master process sends the SIGUSR1 signal to workers to perform a soft stop and create new workers with the changed configuration. The old workers complete their existing connections before terminating. New connections go to the new workers. No connections are dropped.
Dynamic changes are configuration changes made to the load balancer process running in memory. These changes, applied using the HAProxy Runtime API, aren’t written to disk and don’t persist through a load balancer reload or restart. When the process terminates, the dynamic changes are lost. If you want these changes to be persistent, modify the configuration files on disk.
For Linux, call the systemctl reload command.
nixsudo systemctl reload hapee-3.4-lb
nixsudo systemctl reload hapee-3.4-lb
This command returns no output, but you can get the service’s status.
For Docker, the command to use depends on your version.
-
For HAProxy Enterprise 3.4r1 and newer, call the
gopherd signalcommand with theUSR2signal.nixsudo docker exec hapee-3.4 /usr/local/bin/gopherd signal haproxy USR2nixsudo docker exec hapee-3.4 /usr/local/bin/gopherd signal haproxy USR2The output shows that the reload signal has been sent.
outputtexthaproxy: sent USR2outputtexthaproxy: sent USR2 -
For HAProxy Enterprise 3.3r1 and older, call the
s6-svccommand with the-2argument. The-2argument sends aSIGUSR2signal to the HAProxy Enterprise container, and when the load balancer receives the signal it will reload.nixsudo docker exec hapee-3.3 s6-svc -2 /var/run/s6/services/haproxynixsudo docker exec hapee-3.3 s6-svc -2 /var/run/s6/services/haproxyThis command returns no output, but the
sudo docker logs hapee-3.3command shows the status:outputtextReloading HAProxy...Initializing new worker (377)outputtextReloading HAProxy...Initializing new worker (377)
More tuning options:
- Add hard-stop-after to your configuration to limit how long to wait for workers to finish active connections before forcing them to stop. It sets a maximum time to wait. You could use this to prevent long-running sessions from blocking the reload.
- Add grace to your configuration to pause for a period of time before initiating the soft stop of workers. During this delay, you could send a notification of the pending reload.
Get the service’s status Jump to heading
Use the following command to see the service’s status, depending on your environment.
For Linux, call the systemctl status command.
nixsudo systemctl status hapee-3.4-lb
nixsudo systemctl status hapee-3.4-lb
The output shows that the service is active and running.
outputtexthapee-3.4-lb.service - HAPEE Load BalancerLoaded: loaded (/lib/systemd/system/hapee-3.4-lb.service; enabled; preset: enabled)Active: active (running) since Tue 2026-09-15 21:20:28 UTC; 34s agoProcess: 10417 ExecStartPre=/opt/hapee-3.4/sbin/hapef -Sp (code=exited, status=0/SUCCESS)
outputtexthapee-3.4-lb.service - HAPEE Load BalancerLoaded: loaded (/lib/systemd/system/hapee-3.4-lb.service; enabled; preset: enabled)Active: active (running) since Tue 2026-09-15 21:20:28 UTC; 34s agoProcess: 10417 ExecStartPre=/opt/hapee-3.4/sbin/hapef -Sp (code=exited, status=0/SUCCESS)
For Docker, the command to use depends on your version.
-
For HAProxy Enterprise 3.4r1 and newer, call the
gopherd statuscommand.nixsudo docker exec hapee-3.4 /usr/local/bin/gopherd status haproxynixsudo docker exec hapee-3.4 /usr/local/bin/gopherd status haproxyThe output shows that the service is running.
outputtexthaproxy: running (pid 143)outputtexthaproxy: running (pid 143) -
For HAProxy Enterprise 3.3r1 and older, there isn’t a command to get the status. You can call the
sudo docker logs hapee-3.3command to get status information.
See also Jump to heading
- For steps on how to validate your configuration file, see Manage HAProxy Enterprise configuration files.
- For information on managing the HAProxy Data Plane API service, see Install HAProxy Data Plane API on HAProxy Enterprise.