fix: support arm64 production bootstrap
This commit is contained in:
@@ -35,7 +35,7 @@ PROD_ADMIN_USERNAME=prod_admin
|
|||||||
PROD_ADMIN_PASSWORD='change-me'
|
PROD_ADMIN_PASSWORD='change-me'
|
||||||
```
|
```
|
||||||
|
|
||||||
脚本会安装 Node.js、Go、PostgreSQL、Redis、MinIO、Nginx,创建 systemd 服务,执行 Prisma migrate,构建前端/API/Gateway,并创建平台管理员。
|
脚本会安装 Node.js、Go、PostgreSQL、Redis、MinIO、Nginx,创建 systemd 服务,执行 Prisma migrate,构建前端/API/Gateway,并创建平台管理员。Go 和 MinIO 下载会按服务器架构自动选择 `linux-amd64` 或 `linux-arm64`。
|
||||||
|
|
||||||
## 后续发布
|
## 后续发布
|
||||||
|
|
||||||
|
|||||||
@@ -60,19 +60,31 @@ install_packages() {
|
|||||||
|
|
||||||
install_go() {
|
install_go() {
|
||||||
local version="${GO_VERSION:-1.26.0}"
|
local version="${GO_VERSION:-1.26.0}"
|
||||||
|
local arch
|
||||||
|
case "$(uname -m)" in
|
||||||
|
x86_64|amd64) arch="amd64" ;;
|
||||||
|
aarch64|arm64) arch="arm64" ;;
|
||||||
|
*) echo "Unsupported Go architecture: $(uname -m)" >&2; exit 1 ;;
|
||||||
|
esac
|
||||||
if command -v go >/dev/null 2>&1 && [[ "$(go version | awk '{print $3}' | sed 's/go//')" == "$version" ]]; then
|
if command -v go >/dev/null 2>&1 && [[ "$(go version | awk '{print $3}' | sed 's/go//')" == "$version" ]]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
log "Installing Go ${version}"
|
log "Installing Go ${version} for linux-${arch}"
|
||||||
curl -fL "https://go.dev/dl/go${version}.linux-amd64.tar.gz" -o /tmp/go.tar.gz
|
curl -fL "https://go.dev/dl/go${version}.linux-${arch}.tar.gz" -o /tmp/go.tar.gz
|
||||||
rm -rf /usr/local/go
|
rm -rf /usr/local/go
|
||||||
tar -C /usr/local -xzf /tmp/go.tar.gz
|
tar -C /usr/local -xzf /tmp/go.tar.gz
|
||||||
ln -sf /usr/local/go/bin/go /usr/local/bin/go
|
ln -sf /usr/local/go/bin/go /usr/local/bin/go
|
||||||
}
|
}
|
||||||
|
|
||||||
install_minio() {
|
install_minio() {
|
||||||
log "Installing MinIO"
|
local arch
|
||||||
curl -fL https://dl.min.io/server/minio/release/linux-amd64/minio -o /usr/local/bin/minio
|
case "$(uname -m)" in
|
||||||
|
x86_64|amd64) arch="amd64" ;;
|
||||||
|
aarch64|arm64) arch="arm64" ;;
|
||||||
|
*) echo "Unsupported MinIO architecture: $(uname -m)" >&2; exit 1 ;;
|
||||||
|
esac
|
||||||
|
log "Installing MinIO for linux-${arch}"
|
||||||
|
curl -fL "https://dl.min.io/server/minio/release/linux-${arch}/minio" -o /usr/local/bin/minio
|
||||||
chmod +x /usr/local/bin/minio
|
chmod +x /usr/local/bin/minio
|
||||||
useradd --system --home /var/lib/minio --shell /usr/sbin/nologin minio 2>/dev/null || true
|
useradd --system --home /var/lib/minio --shell /usr/sbin/nologin minio 2>/dev/null || true
|
||||||
mkdir -p /var/lib/minio
|
mkdir -p /var/lib/minio
|
||||||
|
|||||||
Reference in New Issue
Block a user