mirror of
https://github.com/yuezk/GlobalProtect-openconnect.git
synced 2025-04-02 18:31:50 -04:00
63 lines
2.2 KiB
Docker
63 lines
2.2 KiB
Docker
FROM ubuntu:18.04
|
|
|
|
ARG USERNAME=vscode
|
|
ARG USER_UID=1000
|
|
ARG USER_GID=$USER_UID
|
|
|
|
ENV RUSTUP_HOME=/usr/local/rustup \
|
|
CARGO_HOME=/usr/local/cargo \
|
|
PATH=/usr/local/cargo/bin:$PATH \
|
|
RUST_VERSION=1.75.0
|
|
|
|
RUN set -eux; \
|
|
apt-get update; \
|
|
apt-get install -y --no-install-recommends \
|
|
sudo \
|
|
ca-certificates \
|
|
curl \
|
|
gnupg \
|
|
git \
|
|
less \
|
|
software-properties-common \
|
|
# Tauri dependencies
|
|
libwebkit2gtk-4.0-dev build-essential wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev; \
|
|
# Install openconnect
|
|
add-apt-repository ppa:yuezk/globalprotect-openconnect; \
|
|
apt-get update; \
|
|
apt-get install -y openconnect libopenconnect-dev; \
|
|
# Create a non-root user
|
|
groupadd --gid $USER_GID $USERNAME; \
|
|
useradd --uid $USER_UID --gid $USER_GID -m $USERNAME; \
|
|
echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME; \
|
|
chmod 0440 /etc/sudoers.d/$USERNAME; \
|
|
# Install Node.js
|
|
mkdir -p /etc/apt/keyrings; \
|
|
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg; \
|
|
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list; \
|
|
apt-get update; \
|
|
apt-get install -y nodejs; \
|
|
corepack enable; \
|
|
# Install diff-so-fancy
|
|
npm install -g diff-so-fancy; \
|
|
# Install Rust
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain $RUST_VERSION; \
|
|
chown -R $USERNAME:$USERNAME $RUSTUP_HOME $CARGO_HOME; \
|
|
rustup --version; \
|
|
cargo --version; \
|
|
rustc --version
|
|
|
|
USER $USERNAME
|
|
|
|
# Install Oh My Zsh
|
|
RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.1.5/zsh-in-docker.sh)" -- \
|
|
-t https://github.com/denysdovhan/spaceship-prompt \
|
|
-a 'SPACESHIP_PROMPT_ADD_NEWLINE="false"' \
|
|
-a 'SPACESHIP_PROMPT_SEPARATE_LINE="false"' \
|
|
-p git \
|
|
-p https://github.com/zsh-users/zsh-autosuggestions \
|
|
-p https://github.com/zsh-users/zsh-completions; \
|
|
# Change the default shell
|
|
sudo chsh -s /bin/zsh $USERNAME; \
|
|
# Change the XTERM to xterm-256color
|
|
sed -i 's/TERM=xterm/TERM=xterm-256color/g' $HOME/.zshrc;
|