mirror of
				https://github.com/yuezk/GlobalProtect-openconnect.git
				synced 2025-05-20 07:26:58 -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;
 |