{"id":19396053,"url":"https://github.com/ruanbekker/docker-vscode-server","last_synced_at":"2025-09-01T18:41:25.694Z","repository":{"id":139706840,"uuid":"321000542","full_name":"ruanbekker/docker-vscode-server","owner":"ruanbekker","description":"Docker vscode server","archived":false,"fork":false,"pushed_at":"2024-01-26T13:27:20.000Z","size":35,"stargazers_count":46,"open_issues_count":3,"forks_count":23,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-17T02:14:42.299Z","etag":null,"topics":["docker","dockerfile","python","vscode","vscode-web"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruanbekker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-13T06:35:28.000Z","updated_at":"2025-04-15T15:15:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"61ecb886-d067-4e88-a639-3fb67eb3ad4f","html_url":"https://github.com/ruanbekker/docker-vscode-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruanbekker%2Fdocker-vscode-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruanbekker%2Fdocker-vscode-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruanbekker%2Fdocker-vscode-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruanbekker%2Fdocker-vscode-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruanbekker","download_url":"https://codeload.github.com/ruanbekker/docker-vscode-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250572143,"owners_count":21452325,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","dockerfile","python","vscode","vscode-web"],"created_at":"2024-11-10T10:33:22.820Z","updated_at":"2025-04-24T05:30:51.872Z","avatar_url":"https://github.com/ruanbekker.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-vscode-server\n\nDocker vscode server\n\n## About\n\nThis project is built for [github.com/bekkerlabs](https://github.com/bekkerlabs) which provides you with a environment of your choice, accessible via a web-based vscode.\n\nThe main idea is, for example, if you want to learn mysql and python, the service will provision a environment with the required dependencies, and accessible via a web-based vscode with the markdown formatted labs to follow.\n\nIn vscode your workspace folder by default will be opened in `/home/coder/workspace` and you can use your host user inside the container by passing the `--user` flag and using the `DOCKER_USER` environment variable.\n\n## Usage\n\nYou can either build it yourself or use my dockerhub images. \n\nThe password is controlled by using the environment variable `PASSWORD`, if its not set, the password value will be in `~/.config/code-server/config.yaml`\n\n### Note on persistence\n\nIf you are using persistence, ensure the directories are owned by your user else you will get an error like this `error EACCES: permission denied`:\n\n```bash\n$ mkdir workspace config\n$ sudo chown -R \"$USER:$USER\" config workspace\n```\n\n### Build\n\nBuilding:\n\n```\n$ docker build \\\n  --build-arg USER=${USER} \\\n  --build-arg UID=${UID} \\\n  --build-arg GID=${GID} \\\n  -f Dockerfile -t vscode:default .\n```\n\nRunning with no extensions, using http and port 8080:\n\n```\n$ docker run -it \\\n  -e PASSWORD=password \\\n  -e DOCKER_USER=${USER} \\\n  -p 8080:8080 \\\n  -u \"$(id -u):$(id -g)\" \\\n  -v $PWD/workspace:/home/coder/workspace \\\n  -v $PWD/config:/home/coder/.config \\\n  vscode:default\n```\n\nRunning with no extensions, using https and port 8443 (see [docs/minica](https://github.com/ruanbekker/docker-vscode-server/blob/main/docs/minica.md) to generate certs for local use):\n\n```\n$ docker run -it \\\n  -e PASSWORD=password \\\n  -e HTTPS_ENABLED=true \\\n  -e APP_PORT=8443 \\\n  -e DOCKER_USER=${USER} \\\n  -p 8443:8443 \\\n  -u \"$(id -u):$(id -g)\" \\\n  -v $PWD/workspace:/home/coder/workspace \\\n  -v $PWD/config:/home/coder/.config \\\n  -v $PWD/certs/cert.pem:/home/coder/.certs/cert.pem \\\n  -v $PWD/certs/key.pem:/home/coder/.certs/key.pem \\\n  vscode:default\n```\n\nRunning with extensions, using http and port 8080:\n\n```\n$ docker run -it \\\n  -e PASSWORD=password \\\n  -e DOCKER_USER=${USER} \\\n  -e EXTENSIONS=\"ms-python.python,tushortz.python-extended-snippets,andyyaldoo.vscode-json,golang.go,redhat.vscode-yaml,vscode-icons-team.vscode-icons,HashiCorp.terraform,Tim-Koehler.helm-intellisense,Equinusocio.vsc-material-theme\"\n  -p 8080:8080 \\\n  -u \"$(id -u):$(id -g)\" \\\n  -v $PWD/workspace:/home/coder/workspace \\\n  -v $PWD/config:/home/coder/.config \\\n  vscode:default\n```\n\n### Dockerhub Images\n\nRunning with no extensions, using http and port 8080:\n\n```\n$ docker run -it \\\n  -e PASSWORD=password \\\n  -e DOCKER_USER=${USER} \\\n  -p 8080:8080 \\\n  -u \"$(id -u):$(id -g)\" \\\n  -v $PWD/workspace:/home/coder/workspace \\\n  -v $PWD/config:/home/coder/.config \\\n  ruanbekker/vscode-server:slim\n```\n\nRunning with no extensions, using https and port 8443 (see [docs/minica](https://github.com/ruanbekker/docker-vscode-server/blob/main/docs/minica.md) to generate certs for local use):\n\n```\n$ docker run -it \\\n  -e PASSWORD=password \\\n  -e HTTPS_ENABLED=true \\\n  -e APP_PORT=8443 \\\n  -e DOCKER_USER=${USER} \\\n  -p 8443:8443 \\\n  -u \"$(id -u):$(id -g)\" \\\n  -v $PWD/workspace:/home/coder/workspace \\\n  -v $PWD/config:/home/coder/.config \\\n  -v $PWD/certs/cert.pem:/home/coder/.certs/cert.pem \\\n  -v $PWD/certs/key.pem:/home/coder/.certs/key.pem \\\n  ruanbekker/vscode-server:slim\n```\n\nRunning with extensions, using http and port 8080:\n\n```\n$ docker run -it \\\n  -e PASSWORD=password \\\n  -e DOCKER_USER=${USER} \\\n  -e EXTENSIONS=\"ms-python.python,tushortz.python-extended-snippets,andyyaldoo.vscode-json,golang.go,redhat.vscode-yaml,vscode-icons-team.vscode-icons\"\n  -p 8080:8080 \\\n  -u \"$(id -u):$(id -g)\" \\\n  -v $PWD/workspace:/home/coder/workspace \\\n  -v $PWD/config:/home/coder/.config \\\n  ruanbekker/vscode-server:slim\n```\n\n### Persistence \n\nIf you would like to persist your containers storage to your host for vscode's data, you can persist the follwing directories:\n\n* `-v $PWD/config:/home/coder/.config` (configuration)\n* `-v $PWD/userdata:/home/coder/.local` (logs, extensions, vscode settings, etc)\n\n## Versions\n\n### Slim\n\nDocker Image:\n\n- `ruanbekker/vscode-server:slim`\n\nThis image is the smallest one which includes the following os packages:\n\n* `vim`\n* `git`\n* `curl`\n* `wget`\n* `ssh`\n\n### Go\n\nDocker Image:\n\n- `ruanbekker/vscode-server:golang`\n\nThis image uses Go version `1.15.6`\n\n### Python\n\nDocker Image:\n\n- `ruanbekker/vscode-server:python`\n\nIncludes the following python packages:\n\n* `virtualenv`\n* `requests`\n* `flask`\n* `pandas`\n* `numpy`\n* `sklearn`\n* `matplotlib`\n* `mysqlclient`\n* `pymysql`\n* `pysftp`\n\n## Custom Builds\n\nYou can extend or add your own software on-top of the base image by using `ruanbekker/vscode-server-base:3.7.4` as your base image.\n\nThis is a sample:\n\n```\nFROM ruanbekker/vscode-server-base:3.7.4\nUSER root\n\n# start of your custom modifications\n\nRUN apt update \\\n    \u0026\u0026 apt install figlet-y \\\n    \u0026\u0026 rm -rf /var/lib/apt/lists/*\n\n# end of your custom modifications\n\nUSER 1000\nENV USER=coder\nWORKDIR /home/coder\n\nENTRYPOINT [\"/usr/bin/entrypoint.sh\"]\n```\n\n## Docker Hub\n\n- [ruanbekker/vscode-server](https://hub.docker.com/r/ruanbekker/vscode-server)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruanbekker%2Fdocker-vscode-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruanbekker%2Fdocker-vscode-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruanbekker%2Fdocker-vscode-server/lists"}