code-server / start_server.sh
bizarx's picture
Add HF persistent storage for code-server data, extensions, and settings
1df89d6 verified
Raw
History Blame Contribute Delete
2.1 kB
#!/bin/sh
set -e
echo "====================== Writing rclone config ========================"
if [ -n "$RCLONE_CONF" ]; then
mkdir -p ~/.config/rclone
echo "$RCLONE_CONF" > ~/.config/rclone/rclone.conf
fi
echo "====================== Setting up persistent storage ========================"
# Buat folder persistent di /data
mkdir -p /data/files
mkdir -p /data/projects
mkdir -p /data/coder-config/extensions
mkdir -p /data/coder-config/User
# Symlink config dan extensions code-server ke /data (persistent)
if [ ! -L /home/coder/.local/share/code-server/extensions ]; then
rm -rf /home/coder/.local/share/code-server/extensions
ln -sf /data/coder-config/extensions /home/coder/.local/share/code-server/extensions
fi
# Simpan settings user ke /data jika belum ada
if [ ! -f /data/coder-config/User/settings.json ]; then
cp /home/coder/.local/share/code-server/User/settings.json /data/coder-config/User/settings.json 2>/dev/null || \
echo '{"workbench.colorTheme": "Default Dark Modern"}' > /data/coder-config/User/settings.json
fi
# Symlink User settings ke /data
if [ ! -L /home/coder/.local/share/code-server/User ]; then
rm -rf /home/coder/.local/share/code-server/User
ln -sf /data/coder-config/User /home/coder/.local/share/code-server/User
fi
chown -R coder:coder /data 2>/dev/null || true
echo "====================== Starting dufs (port 5000) ========================"
/usr/local/bin/dufs /data/files \
--allow-upload \
--allow-delete \
--allow-search \
--allow-archive \
--enable-cors \
--path-prefix /files \
--port 5000 \
--bind 127.0.0.1 &
sleep 1
echo "====================== Starting code-server (port 8443) ========================"
sudo -E -u coder code-server \
--bind-addr 127.0.0.1:8443 \
--user-data-dir /data/coder-config &
sleep 2
echo "====================== Starting nginx (port 7860) ========================"
# Remove default nginx site configs
rm -f /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/* /etc/nginx/conf.d/default.conf 2>/dev/null || true
nginx -g "daemon off;"