34 lines
852 B
Bash
Executable File
34 lines
852 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
# Ensure the writable data directory exists on the host
|
|
mkdir -p "${SCRIPT_DIR}/data"
|
|
|
|
ENV_ARGS=()
|
|
if [ -f "${SCRIPT_DIR}/.env" ]; then
|
|
ENV_ARGS+=(--env-file "${SCRIPT_DIR}/.env")
|
|
fi
|
|
|
|
docker run -d \
|
|
--name dashback \
|
|
--restart unless-stopped \
|
|
--read-only \
|
|
--user "$(id -u):$(id -g)" \
|
|
--tmpfs /tmp:rw,exec,nosuid,size=512m \
|
|
--tmpfs /run:rw,noexec,nosuid,size=16m \
|
|
-p 127.0.0.1:4608:4208 \
|
|
-e HOST=0.0.0.0 \
|
|
-e PORT=4208 \
|
|
-e HTTPS_PORT=0 \
|
|
-e HEALTH_MONITOR_ENABLED=false \
|
|
-e SQLITE_PATH=/app/data/dash.db \
|
|
-e STORAGE_DIR=/app/data/storage \
|
|
-e BACKUP_DIR=/app/data/backups \
|
|
"${ENV_ARGS[@]}" \
|
|
-v "${SCRIPT_DIR}/dist/dashback:/app/dist/dashback:ro" \
|
|
-v "${SCRIPT_DIR}/data:/app/data:rw" \
|
|
dashback:latest
|
|
|