> For the complete documentation index, see [llms.txt](https://docs.uxwizz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.uxwizz.com/installation/docker/standalone-docker-image.md).

# Standalone Docker image

Start a local UXWizz trial with persistent Docker volumes.

Use this image for a quick local trial. It includes Apache, PHP, MariaDB, and scheduled tasks. For a server deployment, follow the [Docker Compose guide](/installation/docker/via-docker-compose.md).

You need Docker running in Linux-container mode and an unused local port 8080.

### Creating the container

Run this command in your terminal:

```bash
docker run -d --restart unless-stopped -p 127.0.0.1:8080:80 --name uxwizz -v uxwizz_www:/var/www/html -v uxwizz_db:/var/lib/mysql uxwizz/uxwizz:10
```

* `127.0.0.1:8080:80` makes the trial available only on the Docker host.
* `uxwizz_www` stores the application files.
* `uxwizz_db` stores the database and generated configuration.
* `--restart unless-stopped` restarts the container after Docker restarts unless you stopped it yourself.

On first startup, the image creates the local database credentials and application key. Keep both volumes; do not replace the generated secrets to fix a connection error.

### Accessing UXWizz

1. Open <http://localhost:8080/server/install.php> on the Docker host.
2. Follow the browser setup and create your administrator password. The database is already configured.
3. Sign in as **admin**, [add the tracking code](/installation/adding-the-tracking-code.md), and check that a test visit appears in **Visitors**.
4. Open **Settings → Scheduled Tasks**. Check **Next run** for active tasks, then check **Runs** after a task is due. A new installation can have no run history yet. Do not add a second cron schedule.

If Docker is on a remote server, you can use an SSH tunnel for this local trial:

```bash
ssh -L 8080:127.0.0.1:8080 your-user@your-server
```

Keep that SSH connection open, then use the same localhost URL. For normal remote use, configure a public hostname and HTTPS with the Compose guide. Publishing port 443 alone does not create a certificate.

### Notes

Check startup messages without changing the installation:

```bash
docker ps --filter name=uxwizz
docker logs --tail 100 uxwizz
```

If port 8080 is already used, choose another host port. If the container name already exists, inspect it before creating a second installation. For a database or permission error, preserve the volumes and ask the server administrator to inspect the logs and configuration.

Use `docker stop uxwizz` to stop the trial and `docker start uxwizz` to start it again. These commands retain the volumes.

Back up both volumes before updating. Update the application through **Settings → Updates**. Replacing the container image does not replace application files in `uxwizz_www`. Do not remove volumes as an update or troubleshooting step.
