mirror of
https://github.com/penpot/penpot.git
synced 2026-11-02 08:00:36 +00:00
49 lines
1.6 KiB
Bash
Executable File
49 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
EMSDK_QUIET=1 . /opt/emsdk/emsdk_env.sh;
|
|
|
|
usermod -u ${EXTERNAL_UID:-1000} penpot;
|
|
|
|
cp /root/.bashrc /home/penpot/.bashrc
|
|
cp /root/.vimrc /home/penpot/.vimrc
|
|
cp /root/.tmux.conf /home/penpot/.tmux.conf
|
|
|
|
chown -R penpot:penpot /home/penpot/.bashrc
|
|
chown -R penpot:penpot /home/penpot/.vimrc
|
|
chown -R penpot:penpot /home/penpot/.tmux.conf
|
|
|
|
# Seed SERENA_HOME with default config on first run
|
|
mkdir -p ${SERENA_HOME}
|
|
if [ ! -f "${SERENA_HOME}/serena_config.yml" ]; then
|
|
cp /home/serena_config.yml "${SERENA_HOME}/serena_config.yml"
|
|
fi
|
|
chown -R penpot:users ${SERENA_HOME}
|
|
|
|
chown penpot:users /home/penpot
|
|
# we need to be able to install rust-analyzer and possibly other dependencies with rustup
|
|
chown -R penpot:penpot /opt/rustup
|
|
|
|
# pnpm keeps its global dir (bin, global, store, package-manager-store)
|
|
# under ~/.local and its metadata cache under ~/.cache; opencode and other
|
|
# user-space tools write there too. Hand both trees back to penpot so
|
|
# packages, and pnpm itself, can be updated without root. Needed because the
|
|
# UID remap above can leave everything the image created owned by the old
|
|
# UID. ~/.config is deliberately excluded: the opencode overlay bind-mounts
|
|
# a host directory inside it.
|
|
mkdir -p /home/penpot/.local /home/penpot/.cache
|
|
chown -R penpot:penpot /home/penpot/.local /home/penpot/.cache
|
|
|
|
rsync -ar --chown=penpot:users /opt/cargo/ /home/penpot/.cargo/
|
|
|
|
export JAVA_OPTS="-Djava.net.preferIPv4Stack=true"
|
|
export PATH="/home/penpot/.cargo/bin:$PATH"
|
|
export CARGO_HOME="/home/penpot/.cargo"
|
|
|
|
export LANG=C.UTF-8
|
|
export LC_ALL=C.UTF-8
|
|
export COLORTERM=truecolor
|
|
|
|
exec "$@"
|