# Update Psono EE

Update instruction for the Enterprise Edition of the Psono

# Rolling-release security support

Psono Enterprise Edition is maintained as a rolling-release product. During the term of a valid Psono EE licence, customers using psono-combo-enterprise may upgrade to the latest generally available release without any additional licence or update charge. Updates are available only during the valid licence period. All current bug fixes and security corrections are delivered through the latest release; earlier releases and release branches are not maintained separately and do not receive backported fixes. You should therefore keep your Psono installation current by following the published update procedure. Historical releases may remain available for rollback or archival purposes, but are unsupported and may contain known or subsequently discovered vulnerabilities.

# Preamble

From time to time you want to update to the latest version. At this point we assume that you have created a backup of your postgres database. If you have a possibility to snapshot your machine, please do so. Check that you are running Postgres 14 or later.

# Update

  1. Update the docker image

    docker pull psono/psono-combo-enterprise:latest
    
  2. Stop old psono-combo-enterprise

    docker stop psono-combo-enterprise
    
  3. Update the database

    docker run --rm \
      -v /opt/docker/psono/settings.yaml:/root/.psono_server/settings.yaml \
      -ti psono/psono-combo-enterprise:latest python3 ./psono/manage.py migrate
    
  4. Start new psono-combo-enterprise

    docker run --name psono-combo-enterprise-new \
        --sysctl net.core.somaxconn=65535 \
        -v /opt/docker/psono/settings.yaml:/root/.psono_server/settings.yaml \
        -v /opt/docker/psono-client/config.json:/usr/share/nginx/html/config.json \
        -v /opt/docker/psono-client/config.json:/usr/share/nginx/html/portal/config.json \
        -v /path/to/log/folder:/var/log/psono \
        -d --restart=unless-stopped -p 10200:80 psono/psono-combo-enterprise:latest
    

    TIP

    If you used custom volume mounts e.g. for custom branding or a custom CA certificate for LDAPs, then make sure to adjust the command accordingly and add your volume mounts.

  5. Cleanup

    If everything works you can cleanup your containers with the following commands:

    docker rm psono-combo-enterprise
    docker rename psono-combo-enterprise-new psono-combo-enterprise
    

If anything fails you should be able to restore the database, and start the old docker container again.