Files
Homelab/code-server/Dockerfile
MSWS 5130ba10a1 build: Configure dev tools and add VPN setup instructions
- Add commented-out `gluetun` service configuration in `navidrome/compose.yml` with detailed setup instructions and references to external documentation.
- Update `code-server/Dockerfile` by removing unstable Neovim PPA, adding `cargo` installation, configuring PATH for Cargo binaries, and installing `gptcommit`.
- Add new Git aliases (`ca` and `c`), update `.config` copy process, and revise VSCode extension installation script.

[navidrome/compose.yml]
- Added a commented-out service configuration for `gluetun`.
  - The configuration includes setup instructions, such as enabling external container connection, assigning permissions, and specifying required devices and ports.
  - Environment variables for VPN setup (OpenVPN/Wireguard), timezone, and server updater are included.
  - Provides references to external documentation for further details.
[code-server/Dockerfile]
- Removed addition of the unstable Neovim PPA repository.
- Added `cargo` package installation to the dependency list.
- Configured the `PATH` environment variable to include Cargo's binary directory.
- Installed the `gptcommit` tool using Cargo.
- Added new Git aliases for quicker commit commands (`ca` and `c`).
- Added configuration to copy `.config` directory during the build process.
- Updated the location of the VSCode extension installation command to use a more generic `/usr/local/bin/install-extension` script, and commented out the related installation block, possibly for future updates or changes to extension installation logic.
2025-03-28 17:19:48 -07:00

52 lines
1.8 KiB
Docker

# Use linuxserver/code-server base image
FROM lscr.io/linuxserver/code-server:latest
# Set the maintainer label
LABEL maintainer="me@msws.xyz"
SHELL ["/bin/bash", "-c"]
# Update and install packages
RUN apt-get update && \
apt-get install -y software-properties-common && \
add-apt-repository -y ppa:git-core/ppa && \
apt-get update && \
apt-get install -y texlive-full curl wget git zoxide cargo && \
rm -rf /var/lib/apt/lists/*
ENV PATH="$PATH:/config/.cargo/bin"
RUN cargo install --locked gptcommit
# Set global git config
RUN git config --global user.name MSWS && \
git config --global user.email imodmaker@gmail.com && \
git config --global init.defaultBranch main && \
git config --global push.autoSetupRemote true && \
git config --global user.signingKey ~/.ssh/github && \
git config --global commit.gpgsign true && \
git config --global gpg.format ssh && \
git config --global alias.ca "commit -ca" && \
git config --global alias.c "commit -a"
RUN git clone https://github.com/MSWS/nvim-config.git /config/.config/nvim
# Set up SSH and permissions
RUN mkdir -p /config/.ssh/ && chmod 0700 /config/.ssh/
COPY --chown=abc:abc .ssh /config/.ssh
COPY --chown=abc:abc .config /config/.config
COPY extensions /extensions
RUN echo "eval \"\$(zoxide init bash)\"" >> /config/.bashrc
# Install VSCode extensions
# RUN /usr/local/bin/install-extension James-Yu.latex-workshop && \
# /usr/local/bin/install-extension WakaTime.vscode-wakatime && \
# /usr/local/bin/install-extension ms-python.python && \
# /usr/local/bin/install-extension ms-vscode.live-server && \
# /usr/local/bin/install-extension vscodevim.vim && \
# /usr/local/bin/install-extension asvetliakov.vscode-neovim && \
# for file in ./extensions/*.vsix; do \
# /usr/local/bin/install-extension $file; \
# done