Files
2026-07-26 06:52:12 +08:00

56 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
project_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
env_file="${project_dir}/.env"
if [[ -e "${env_file}" ]]; then
echo "${env_file} already exists; refusing to overwrite it." >&2
exit 1
fi
umask 077
read -r -p "Bootstrap admin email: " admin_email
read -r -s -p "Rotated model API key: " model_api_key
echo
if [[ -z "${admin_email}" || -z "${model_api_key}" ]]; then
echo "Admin email and model API key are required." >&2
exit 1
fi
random_hex() {
openssl rand -hex "$1"
}
admin_password="$(random_hex 18)"
postgres_password="$(random_hex 18)"
{
echo "WEBUI_URL=http://localhost:3000"
echo "CORS_ALLOW_ORIGIN=http://localhost:3000"
echo "WEBUI_COOKIE_SECURE=false"
echo "WEBUI_SECRET_KEY=$(random_hex 32)"
echo "WEBUI_ADMIN_EMAIL=${admin_email}"
echo "WEBUI_ADMIN_PASSWORD=${admin_password}"
echo "OPENWEBUI_FORWARD_JWT_SECRET=$(random_hex 32)"
echo "INTERNAL_PROVIDER_KEY=$(random_hex 32)"
echo "INTERNAL_GATEWAY_KEY=$(random_hex 32)"
echo "MODEL_API_KEY=${model_api_key}"
echo "MODEL_API_BASE_URL=https://api.k1412.top"
echo "POSTGRES_USER=agent"
echo "POSTGRES_PASSWORD=${postgres_password}"
echo "POSTGRES_DB=agent"
echo "EXECUTION_PROVIDER=local-docker"
echo "WORKSPACE_IMAGE=k1412-agent-workspace:dev"
echo "WORKSPACE_NETWORK_ENABLED=true"
echo "WORKSPACE_MEMORY_LIMIT=2g"
echo "WORKSPACE_CPU_LIMIT=2"
echo "WORKSPACE_PIDS_LIMIT=512"
} > "${env_file}"
chmod 600 "${env_file}"
echo "Created ${env_file} with mode 600."
echo "Bootstrap admin password: ${admin_password}"
echo "Store that password in a password manager; it is not printed again."