# Update Psono Gateway

# Rolling-release security support

Psono Gateway is maintained as a rolling-release product. All current bug fixes and security corrections are delivered through the latest generally available release. Earlier releases and release branches are not maintained separately and do not receive backported fixes. Keep the Gateway current by following this procedure.

# Preamble

The Gateway does not store persistent session data. Existing sessions on the instance end when its container stops and cannot be recovered after a restart. In a high-availability cluster, update one Gateway at a time so new launches can use the remaining active instances.

# Update with Docker

  1. Pull the latest image:

    docker pull psono/psono-gateway:latest
    
  2. Stop the old Gateway container:

    docker stop psono-gateway
    
  3. Start the updated container under a temporary name:

    docker run --name psono-gateway-new \
      --sysctl net.core.somaxconn=65535 \
      -v /opt/docker/psono-gateway/settings.yaml:/home/psono/.psono_gateway/settings.yaml:ro \
      -d --restart=unless-stopped \
      -p 10500:8080 \
      psono/psono-gateway:latest
    

    Include any additional options from your original container, such as external guacd settings.

  4. Verify the update:

    docker ps --filter name=psono-gateway-new
    docker logs psono-gateway-new
    

    Confirm in Gateway Management in the Admin Portal that the instance is active and reports the new version. Launch a test connection through the Gateway.

  5. Remove the old container and rename the new one:

    docker rm psono-gateway
    docker rename psono-gateway-new psono-gateway
    

If validation fails, remove the new container and start the old one again. A rollback restores the previous software but cannot restore sessions that ended when the old container stopped.