This repository is intended to be an addon on top of the base VSCODE image by linux server. Just som
3.6K
This image is maintained on Codeberg.
This is a personalized build of the LinuxServer.io code-server image, customized for specific development workflows and made public for general use. It layers common runtimes, system utilities, and VS Code extensions directly into the image to provide a ready-to-use environment upon deployment.
Inspired and based off a blog post by John Nolan.
This is built overtop linuxserver/code-server. It inherits all standard features of that image, including the S6 overlay init system and the abc user management.
python3, python3-pip, python3-venv, and python3-dev.npm, yarn, and eslint.docker-ce-cli is installed to allow the container to interact with a Docker daemon (designed for use with the included DinD sidecar).ripgrep (rg) and fzf are included for terminal-based file and text searching.build-essential, curl, wget, gnupg, unzip, and software-properties-common.The following extensions are pre-installed in the image path:
ms-python.python (Python language support)ms-vscode.powershell (PowerShell language support)eamodio.gitlens (Git source control visualization)/config/.bash_history to ensure command history survives container restarts when the /config volume is mapped.DEBIAN_FRONTEND is set to noninteractive during build to ensure clean package installation.The environment is intended to be run alongside a Docker-in-Docker (DinD) container. This allows for container management from within the VS Code terminal without mounting the host's /var/run/docker.sock directly. That said, it does function with a direct socket connection with the use of the DOCKER_GID environment variable.
All standard vscode-server variables should work as itended.
[!WARNING] Current tests with DIND show issues with using docker build
services:
code-server:
image: kylemmkay/vscode-with-tools:latest
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
#- HASHED_PASSWORD= #optional
- DEFAULT_WORKSPACE=/config/workspace
- DOCKER_HOST=tcp://code-server-dind:2379
# Add the MS Marketplace (optional)
#- EXTENSIONS_GALLERY={"serviceUrl":"https://marketplace.visualstudio.com/_apis/public/gallery","cacheUrl":"https://vscode.blob.core.windows.net/gallery/index","itemUrl":"https://marketplace.visualstudio.com/items"}
volumes:
- ./config:/config
ports:
- 8443:8443
restart: unless-stopped
code-server-dind:
image: docker:dind
container_name: docker_dind
privileged: true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command:
- dockerd
- -H
- tcp://0.0.0.0:2379
- --tls=false
restart: unless-stopped
I've added a script that will launch during container startup. If you provide your hosts docker GID (getent group docker | cut -d: -f3)into DOCKER_GID, the container will grant user abc access to the associated group, allowing you to use your hosts socket instead.
[!WARNING] Binding your host socket directly is generally not recommended
services:
code-server:
image: kylemmkay/vscode-with-tools:latest
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- DOCKER_GID=1000 # If present, container will grant user 'abc' access
#- DOCKER_API_VERSION=1.43 # optional - specify docker api version, if needed run: docker version
- TZ=Etc/UTC
#- HASHED_PASSWORD= #optional
- DEFAULT_WORKSPACE=/config/workspace #optional
- PWA_APPNAME=code-server #optional
# Add the MS Marketplace (optional)
#- EXTENSIONS_GALLERY={"serviceUrl":"https://marketplace.visualstudio.com/_apis/public/gallery","cacheUrl":"https://vscode.blob.core.windows.net/gallery/index","itemUrl":"https://marketplace.visualstudio.com/items"}
volumes:
- ./config:/config
- /var/run/docker.sock:/var/run/docker.sock # combine with DOCKER_GID env if being used
ports:
- 8443:8443
restart: unless-stopped
Content type
Image
Digest
sha256:2a484905b…
Size
790.4 MB
Last updated
5 days ago
docker pull kylemmkay/vscode-with-tools