Browse documentation
Deploy workloads

Docker deployment

Run UWAS with containers using the upstream Docker configuration.

UWAS v0.11.31Release notes reviewed October 22, 2026Upstream reference

Start with the upstream stack

The repository includes a Dockerfile, a Compose file, a PHP service and a MariaDB service. Clone the repository and inspect docker-compose.yml and docker/uwas.yaml before starting.

Terminalshell
git clone https://github.com/uwaserver/uwas.git
cd uwas

Provide your secrets

The Compose stack requires UWAS_ADMIN_KEY, DB_ROOT_PASSWORD and DB_PASSWORD. Generate separate strong values, put them in a local .env file and keep the file outside version control. The Compose configuration intentionally has no default passwords.

Terminalshell
# Generate each secret separately
openssl rand -hex 24

# Required .env keys:
# UWAS_ADMIN_KEY
# DB_ROOT_PASSWORD
# DB_PASSWORD

Build and launch

Once the required variables are present, validate the resolved Compose configuration and start the stack. Named volumes persist the configuration, certificates, cache and database.

Terminalshell
docker compose config --quiet
docker compose up -d --build
docker compose logs -f uwas

Refresh PHP and WordPress images

The v0.11.31 release updates the PHP image and WordPress FPM/CLI bases to PHP 8.3.36. Rebuild the PHP service and any WordPress images you use when upgrading; replacing only the UWAS binary leaves those PHP runtimes unchanged.

Reach the dashboard privately

The Compose stack binds the admin publication to 127.0.0.1. Access it locally or forward it over SSH. Mount and back up persistent data deliberately; container removal and data recovery are separate operations.

Terminalshell
ssh -L 9443:127.0.0.1:9443 user@your-server

# http://127.0.0.1:9443/_uwas/dashboard/
Need every option? Read the complete configuration reference and the upstream upgrade notes for your release.