Deploying GreenRadius on RedHat Enterprise Linux Using Podman

Prerequisites

  • A target machine running RHEL 8 or 9
  • Adjust SELinux in a way that allows GreenRADIUS to function smoothly
  • A GreenRADIUS update package (v6.1.15.15 or later)

Deployment Instructions

  1. Log in with a user that has sudo access.
  2. Run sudo yum update
  3. Run sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E '%{rhel}').noarch.rpm
  4. Run sudo yum -y install container-selinux
  5. Run sudo yum makecache --refresh
  6. Run sudo yum -y install fuse-overlayfs
  7. Run sudo yum -y install slirp4netns
  8. Run sudo dnf update
  9. Run sudo dnf install epel-release
  10. Run sudo dnf install --enablerepo="epel" ufw
  11. Run sudo yum remove docker-ce docker-ce-cli containerd.io
  12. Run sudo dnf install podman
  13. Run sudo dnf install podman-plugins
  14. Run sudo systemctl enable podman.socket --now
  15. Run sudo curl -L "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  16. Run sudo chmod +x /usr/local/bin/docker-compose
  17. Create a symlink to this path with sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  18. Run sudo touch /usr/bin/podman-compose
  19. Run sudo bash -c 'echo -e "#!/bin/sh\npodman compose \"\$@\"\n">/usr/bin/podman-compose'
  20. Run sudo chmod +x /usr/bin/podman-compose
  21. Run sudo yum install unzip
  22. Run sudo yum install net-tools
  23. Run sudo useradd -d /home/gradmin -m -G wheel -s /bin/bash gradmin
  24. Run sudo passwd gradmin and set the password for gradmin appropriately
  25. Run sudo chmod -R 750 /home/gradmin
  26. Run sudo chown -R gradmin:gradmin /home/gradmin
  27. Run sudo mkdir /home/gradmin/grs-podman-compose
  28. Run sudo systemctl disable firewalld
  29. Reboot and login as gradmin
  30. Copy the GreenRADIUS update package to the /tmp/ directory
  31. Run sudo unzip /tmp/GreenRADIUS_xxxx_Update.zip -d /tmp/ (Note: For this step and subsequent steps with "GreenRADIUS_xxxx_Update.zip", replace "xxxx" with the appropriate version number of the GreenRADIUS update package.)
  32. Run sudo tar -xvzf /tmp/GreenRADIUS_xxxx_Update/images.tgz -C /tmp/
  33. Run sudo tar -xvzf /tmp/GreenRADIUS_xxxx_Update/others.tgz -C /tmp/
  34. Run sudo cp /tmp/others/docker-compose.yml /home/gradmin/grs-podman-compose/
  35. Run sudo cp /tmp/others/podman-compose.override.yml /home/gradmin/grs-podman-compose/
  36. Run sudo mkdir -p /opt/grs/scripts
  37. Run sudo podman load -i /tmp/images/greenradius_xxxx_init_image
  38. Run sudo podman load -i /tmp/images/greenradius_xxxx_main_image
  39. Run sudo podman load -i /tmp/images/greenradius_xxxx_openldap_image
  40. Run sudo podman load -i /tmp/images/greenradius_xxxx_postgres_image
  41. Run sudo podman load -i /tmp/images/greenradius_xxxx_rsyslog_image
  42. Run sudo podman load -i /tmp/images/greenradius_xxxx_freeradius_image
  43. Run sudo podman load -i /tmp/images/greenradius_xxxx_grs_queue_image
  44. Run sudo podman load -i /tmp/images/greenradius_xxxx_grs_auth_app_image
  45. Run sudo chmod -R 750 /home/gradmin
  46. Run sudo chown -R gradmin:gradmin /home/gradmin
  47. Run sudo timedatectl set-timezone UTC
  48. Run sudo cp /tmp/others/scripts/get_system_timezone.sh /opt/grs/scripts/
  49. Run sudo sh +x /opt/grs/scripts/get_system_timezone.sh
  50. Run sudo sh +x /tmp/others/scripts/prerequisite_for_getting_system_timezone.sh
  51. Run cd /home/gradmin/grs-podman-compose
  52. Run sudo podman compose -f docker-compose.yml -f podman-compose.override.yml up -d
  53. Verify that the GreenRADIUS instance is accessible via the web. You should be able to visit https://<IP_address_of_GreenRADIUS>/admin in your browser to access the GreenRADIUS web admin interface.

Note: Whenever the timezone on the server will be changed, the server will have to be rebooted for the timezone to be reflected in the containers

Enabling auto-start of GreenRADIUS containers on boot

  1. Run sudo touch /tmp/grs-podman-compose-app.service
  2. Edit the /tmp/grs-podman-compose-app.service file in your editor of choice.
  3. Paste in the following:
# /etc/systemd/system/grs-podman-compose-app.service
[Unit]
Description=Podman Compose Application Service
Requires=podman.service
After=podman.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/gradmin/grs-podman-compose
ExecStart=/usr/bin/podman compose -f /home/gradmin/grs-podman-compose/docker-compose.yml -f /home/gradmin/grs-podman-compose/podman-compose.override.yml up -d
ExecStop=/usr/bin/podman compose down
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
  1. Run sudo cp /tmp/grs-podman-compose-app.service /etc/systemd/system/
  2. Run sudo systemctl enable grs-podman-compose-app

Migrating from GreenRADIUS v5.x to v6.x

Migrating GreenRADIUS servers in containerized deployment from v5.x to v6.x requires some steps to change the compose plugin used by podman to start containers. These steps will stop GreenRADIUS services.

  1. Run cd /home/gradmin/grs-podman-compose
  2. Run sudo podman-compose -f docker-compose.yml -f podman-compose.override.yml down
  3. Run sudo podman network rm grs-podman-compose_grs_net. Ignore if network does not exist
  4. Run sudo pip3 uninstall podman-compose
  5. Run sudo curl -L "https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  6. Create a symlink to this path with sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  7. Run sudo chmod +x /usr/local/bin/docker-compose
  8. Run sudo systemctl enable podman.socket --now
  9. Run sudo podman compose -f docker-compose.yml -f podman-compose.override.yml up -d
  10. If you had enabled auto-start for GreenRADIUS in the earlier deployment, redo the steps from this updated guide.
  11. Continue with usual steps for applying GreenRADIUS Updates.

Applying Updates to Your GreenRADIUS Instance

  1. Copy the latest update package for GreenRADIUS into the /tmp/ directory

  2. Run sudo unzip /tmp/GreenRADIUS_xxxx_Update.zip -d /tmp/ (where "xxxx" is the version number of the GreenRADIUS update package)

  3. Run sudo tar -xvzf /tmp/GreenRADIUS_xxxx_Update/images.tgz -C /tmp/

  4. Run sudo tar -xvzf /tmp/GreenRADIUS_xxxx_Update/others.tgz -C /tmp/

  5. If upgrading from 5.2.11.11 or lower, run sudo bash /tmp/others/scripts/system_upgrade_podman.sh

  6. Run sudo podman load -i /tmp/images/greenradius_xxxx_init_image

  7. Run sudo podman load -i /tmp/images/greenradius_xxxx_main_image

  8. Run sudo podman load -i /tmp/images/greenradius_xxxx_openldap_image

  9. Run sudo podman load -i /tmp/images/greenradius_xxxx_postgres_image

  10. Run sudo podman load -i /tmp/images/greenradius_xxxx_rsyslog_image

  11. Run sudo podman load -i /tmp/images/greenradius_xxxx_grs_queue_image

  12. Run sudo podman load -i /tmp/images/greenradius_xxxx_freeradius_image

  13. Run sudo podman load -i /tmp/images/greenradius_xxxx_grs_auth_app_image

  14. Run cd /home/gradmin/grs-podman-compose

  15. Run sudo podman compose down

  16. Run sudo bash -c '[ -f /usr/bin/podman-compose ] || echo -e "#!/bin/sh\npodman compose \"\$@\"" > /usr/bin/podman-compose && chmod +x /usr/bin/podman-compose'

  17. Run sudo cp /tmp/others/docker-compose.yml /home/gradmin/grs-podman-compose/docker-compose.yml

  18. Run sudo cp /tmp/others/podman-compose.override.yml /home/gradmin/grs-podman-compose/podman-compose.override.yml (Enter y if prompted to overwrite.)

  19. Run cd /home/gradmin/grs-podman-compose/

  20. Run sudo podman compose -f docker-compose.yml -f podman-compose.override.yml up -d

  21. Confirm that the latest GreenRADIUS version is accessible via your browser at the same URL as before. On future startups, you will need to run sudo podman compose -f docker-compose.yml -f podman-compose.override.yml up -d from the grs-podman-compose directory, as shown above, to launch the containers.

Additional Steps in Containerized Deployment

Note: These steps need to be performed after all the containerized deployment steps if the containers are running but the services aren't up. These steps may fix the issue.

  1. Run sudo podman exec -it GRS-POSTGRES bash -c 'chown -R root:postgres /opt/grs/greenradius/certificates/postgres/server'
  2. Run cd /home/gradmin/grs-podman-compose
  3. Run sudo podman compose stop
  4. Run sudo podman compose start
Updated 2026-07-11
© 2026 Green Rocket Security Inc. All rights reserved.