mirror of
https://github.com/langgenius/dify-agentbox.git
synced 2026-07-01 20:24:11 -04:00
c22387cb39
* separate scripts into multiple RUN commands * update filenames range * loop filenames in array way * Add step start and complete messages
31 lines
1013 B
Bash
31 lines
1013 B
Bash
#!/bin/bash
|
|
set -ex
|
|
|
|
# Remove conflicting UID/GID if exists
|
|
if getent passwd {{ user.uid }} >/dev/null 2>&1; then
|
|
userdel -r $(getent passwd {{ user.uid }} | cut -d: -f1)
|
|
fi
|
|
if getent group {{ user.gid }} >/dev/null 2>&1; then
|
|
groupdel $(getent group {{ user.gid }} | cut -d: -f1) 2>/dev/null || true
|
|
fi
|
|
|
|
# Create user and group
|
|
groupadd -g {{ user.gid }} {{ user.name }}
|
|
useradd -m -u {{ user.uid }} -g {{ user.gid }} -s {{ user.shell }} {{ user.name }}
|
|
usermod -aG sudo {{ user.name }}
|
|
echo '{{ user.name }} ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
|
|
|
# Set empty password for passwordless su
|
|
passwd -d {{ user.name }}
|
|
passwd -d root
|
|
|
|
# Copy Rust environment to user
|
|
cp -r /root/.cargo /home/{{ user.name }}/.cargo
|
|
cp -r /root/.rustup /home/{{ user.name }}/.rustup
|
|
chown -R {{ user.name }}:{{ user.name }} /home/{{ user.name }}/.cargo
|
|
chown -R {{ user.name }}:{{ user.name }} /home/{{ user.name }}/.rustup
|
|
|
|
# Create workspace
|
|
mkdir -p {{ workdir }}
|
|
chown -R {{ user.name }}:{{ user.name }} {{ workdir }}
|