| #!/usr/bin/env bash |
| set -euo pipefail |
|
|
| |
| |
| |
|
|
| readonly IMAGE="open-webui" |
| readonly CONTAINER="open-webui" |
| readonly HOST_PORT="${OPEN_WEBUI_PORT:-3000}" |
| readonly CONTAINER_PORT=8080 |
|
|
| echo "Building ${IMAGE} image..." |
| docker build -t "$IMAGE" . |
|
|
| echo "Stopping any existing ${CONTAINER} container..." |
| docker stop "$CONTAINER" 2>/dev/null || true |
| docker rm "$CONTAINER" 2>/dev/null || true |
|
|
| echo "Starting ${CONTAINER}..." |
| docker run -d \ |
| -p "${HOST_PORT}:${CONTAINER_PORT}" \ |
| --add-host=host.docker.internal:host-gateway \ |
| -v "${IMAGE}:/app/backend/data" \ |
| --name "$CONTAINER" \ |
| --restart always \ |
| "$IMAGE" |
|
|
| echo "Cleaning up dangling images..." |
| docker image prune -f |
|
|
| echo "Omnichat is running at http://localhost:${HOST_PORT}" |
|
|