docker 部署开源IM工具:HuLa

HuLa 是一款基于 Tauri、Vite 6、Vue 3 和 TypeScript 构建的即时通讯系统。它利用了 Tauri 的跨平台能力和 Vue 3 的响应式设计,结合了 TypeScript 的类型安全特性和 Vite 6 的快速构建,为用户提供了一个高效、安全和易用的通讯解决方案。

docker-compose.yaml

version: '3.7'
services:
  tauri:
    image: ubuntu:22.04
    volumes:
      - .:/app
      # 只挂载构建产物目录
      - ./src-tauri/target/release:/app/src-tauri/target/release
    environment:
      - RUST_BACKTRACE=1
      - CARGO_HOME=/root/.cargo
      - RUSTUP_HOME=/root/.rustup
      - DEBIAN_FRONTEND=noninteractive
    command:
      - 'bash'
      - '-c'
      - |
        cd /app
        apt-get update
        apt-get install -y curl git build-essential libwebkit2gtk-4.1-dev librsvg2-dev patchelf libudev-dev \
            libasound2-dev pkg-config libgtk-3-dev libayatana-appindicator3-dev

        # 安装 Node.js 22
        curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
        apt-get install -y nodejs
        npm install -g npm@latest

        # 安装指定版本的 pnpm
        npm install -g pnpm@9
        pnpm --version

        # 安装 Rust
        curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
        source "$CARGO_HOME/env"

        # 配置镜像源
        pnpm config set registry https://repo.huaweicloud.com/repository/npm/
        rustup default stable
        mkdir -p ~/.cargo
        echo '[source.crates-io]
        replace-with = "rsproxy-sparse"
        [source.rsproxy]
        registry = "https://rsproxy.cn/crates.io-index"
        [source.rsproxy-sparse]
        registry = "sparse+https://rsproxy.cn/index/"
        [registries.rsproxy]
        index = "https://rsproxy.cn/crates.io-index"' > ~/.cargo/config.toml

        # 构建项目
        cd /app
        echo "Installing dependencies..."
        rm -rf node_modules pnpm-lock.yaml
        pnpm install

        echo "Building Vite project..."
        pnpm build || exit 1

        echo "Starting Tauri build..."
        pnpm tauri build || exit 1
        echo "Tauri build completed. Check src-tauri/target/release for the output."

项目地址:https://github.com/HuLaSpark/HuLa

THE END
分享
二维码
打赏
海报
docker 部署开源IM工具:HuLa
HuLa 是一款基于 Tauri、Vite 6、Vue 3 和 TypeScript 构建的即时通讯系统。它利用了 Tauri 的跨平台能力和 Vue 3 的响应式设计,结合了 TypeScript 的类型安……
<<上一篇
下一篇>>