Deploy Ferdinand

Getting Podman Image

wget https://kugelblitz.openml.io/openml-ferdinand.tar
podman load -i openml-ferdinand.tar

Run Podman Container

Run the container with

podman run -d -p 127.0.0.1:8501:8501 -e FERDINAND_DISABLE_LOGIN=true --name ferdinand ferdinand

Persistent Execution via Systemd

Running the application directly from the terminal will cause it to terminate when SSH session ends. So we created a systemd service to ensure the app runs in the background and restarts automatically if the server reboots.

We created the following service file:

sudo nano /etc/systemd/system/ferdinand.service

and added the following configuration:

[Unit]
Description=Ferdinand Streamlit Application
After=network.target

[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/Ferdinand
ExecStart=FERDINAND_DISABLE_LOGIN=true uv run streamlit run main.py --server.port 8501
Restart=always

[Install]
WantedBy=multi-user.target

Reload the systemd daemon to recognize the new file, enable the service to start on boot, and start it immediately

sudo systemctl daemon-reload
sudo systemctl enable ferdinand.service
sudo systemctl start ferdinand.service