mirror of
https://github.com/linuxserver/docker-code-server
synced 2025-06-26 18:27:40 +00:00
Compare commits
17 Commits
v3.3.1-ls4
...
v3.4.0-ls4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e402cc2e16 | ||
|
|
00afdeb441 | ||
|
|
08841b0f51 | ||
|
|
54d481ef55 | ||
|
|
d413b7d2a6 | ||
|
|
2edc59783f | ||
|
|
af00f6d309 | ||
|
|
2b8da35c3b | ||
|
|
b456c30f0c | ||
|
|
babc486031 | ||
|
|
b64f2d360c | ||
|
|
98569fb679 | ||
|
|
7fb25d3ff4 | ||
|
|
0b97beb8db | ||
|
|
9ae8d18bd2 | ||
|
|
f2c46c0e0d | ||
|
|
eb7eaa456a |
10
Dockerfile
10
Dockerfile
@@ -18,6 +18,9 @@ RUN \
|
|||||||
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
||||||
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
||||||
> /etc/apt/sources.list.d/nodesource.list && \
|
> /etc/apt/sources.list.d/nodesource.list && \
|
||||||
|
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
||||||
|
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
|
||||||
|
> /etc/apt/sources.list.d/yarn.list && \
|
||||||
echo "**** install build dependencies ****" && \
|
echo "**** install build dependencies ****" && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
@@ -33,14 +36,17 @@ RUN \
|
|||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
nodejs \
|
nodejs \
|
||||||
sudo && \
|
sudo \
|
||||||
|
yarn && \
|
||||||
echo "**** install code-server ****" && \
|
echo "**** install code-server ****" && \
|
||||||
if [ -z ${CODE_RELEASE+x} ]; then \
|
if [ -z ${CODE_RELEASE+x} ]; then \
|
||||||
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
|
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
|
||||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||||
fi && \
|
fi && \
|
||||||
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
||||||
npm install --unsafe-perm -g code-server@"$CODE_VERSION" && \
|
yarn --production global add code-server@"$CODE_VERSION" && \
|
||||||
|
yarn cache clean && \
|
||||||
|
ln -s /node_modules/.bin/code-server /usr/bin/code-server && \
|
||||||
echo "**** clean up ****" && \
|
echo "**** clean up ****" && \
|
||||||
apt-get purge --auto-remove -y \
|
apt-get purge --auto-remove -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ RUN \
|
|||||||
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
||||||
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
||||||
> /etc/apt/sources.list.d/nodesource.list && \
|
> /etc/apt/sources.list.d/nodesource.list && \
|
||||||
|
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
||||||
|
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
|
||||||
|
> /etc/apt/sources.list.d/yarn.list && \
|
||||||
echo "**** install build dependencies ****" && \
|
echo "**** install build dependencies ****" && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
@@ -33,14 +36,17 @@ RUN \
|
|||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
nodejs \
|
nodejs \
|
||||||
sudo && \
|
sudo \
|
||||||
|
yarn && \
|
||||||
echo "**** install code-server ****" && \
|
echo "**** install code-server ****" && \
|
||||||
if [ -z ${CODE_RELEASE+x} ]; then \
|
if [ -z ${CODE_RELEASE+x} ]; then \
|
||||||
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
|
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
|
||||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||||
fi && \
|
fi && \
|
||||||
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
||||||
npm install --unsafe-perm -g code-server@"$CODE_VERSION" && \
|
yarn --production global add code-server@"$CODE_VERSION" && \
|
||||||
|
yarn cache clean && \
|
||||||
|
ln -s /node_modules/.bin/code-server /usr/bin/code-server && \
|
||||||
echo "**** clean up ****" && \
|
echo "**** clean up ****" && \
|
||||||
apt-get purge --auto-remove -y \
|
apt-get purge --auto-remove -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ RUN \
|
|||||||
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
||||||
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
||||||
> /etc/apt/sources.list.d/nodesource.list && \
|
> /etc/apt/sources.list.d/nodesource.list && \
|
||||||
|
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
||||||
|
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
|
||||||
|
> /etc/apt/sources.list.d/yarn.list && \
|
||||||
echo "**** install build dependencies ****" && \
|
echo "**** install build dependencies ****" && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
@@ -33,14 +36,17 @@ RUN \
|
|||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
nodejs \
|
nodejs \
|
||||||
sudo && \
|
sudo \
|
||||||
|
yarn && \
|
||||||
echo "**** install code-server ****" && \
|
echo "**** install code-server ****" && \
|
||||||
if [ -z ${CODE_RELEASE+x} ]; then \
|
if [ -z ${CODE_RELEASE+x} ]; then \
|
||||||
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
|
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
|
||||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||||
fi && \
|
fi && \
|
||||||
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
||||||
npm install --unsafe-perm -g code-server@"$CODE_VERSION" && \
|
yarn --production global add code-server@"$CODE_VERSION" && \
|
||||||
|
yarn cache clean && \
|
||||||
|
ln -s /node_modules/.bin/code-server /usr/bin/code-server && \
|
||||||
echo "**** clean up ****" && \
|
echo "**** clean up ****" && \
|
||||||
apt-get purge --auto-remove -y \
|
apt-get purge --auto-remove -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
|
|||||||
53
Jenkinsfile
vendored
53
Jenkinsfile
vendored
@@ -138,7 +138,6 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script{
|
script{
|
||||||
env.IMAGE = env.DOCKERHUB_IMAGE
|
env.IMAGE = env.DOCKERHUB_IMAGE
|
||||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
|
|
||||||
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
@@ -159,7 +158,6 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script{
|
script{
|
||||||
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
|
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
|
||||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
|
|
||||||
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
@@ -180,7 +178,6 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script{
|
script{
|
||||||
env.IMAGE = env.PR_DOCKERHUB_IMAGE
|
env.IMAGE = env.PR_DOCKERHUB_IMAGE
|
||||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
|
|
||||||
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
@@ -545,22 +542,15 @@ pipeline {
|
|||||||
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
||||||
usernameVariable: 'DOCKERUSER',
|
usernameVariable: 'DOCKERUSER',
|
||||||
passwordVariable: 'DOCKERPASS'
|
passwordVariable: 'DOCKERPASS'
|
||||||
],
|
|
||||||
[
|
|
||||||
$class: 'UsernamePasswordMultiBinding',
|
|
||||||
credentialsId: 'Quay.io-Robot',
|
|
||||||
usernameVariable: 'QUAYUSER',
|
|
||||||
passwordVariable: 'QUAYPASS'
|
|
||||||
]
|
]
|
||||||
]) {
|
]) {
|
||||||
retry(5) {
|
retry(5) {
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
set -e
|
set -e
|
||||||
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
|
||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||||
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
|
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
|
||||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||||
for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
||||||
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
||||||
docker push ${PUSHIMAGE}:latest
|
docker push ${PUSHIMAGE}:latest
|
||||||
@@ -569,7 +559,7 @@ pipeline {
|
|||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
|
for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
|
||||||
docker rmi \
|
docker rmi \
|
||||||
${DELETEIMAGE}:${META_TAG} \
|
${DELETEIMAGE}:${META_TAG} \
|
||||||
${DELETEIMAGE}:latest || :
|
${DELETEIMAGE}:latest || :
|
||||||
@@ -591,18 +581,11 @@ pipeline {
|
|||||||
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
||||||
usernameVariable: 'DOCKERUSER',
|
usernameVariable: 'DOCKERUSER',
|
||||||
passwordVariable: 'DOCKERPASS'
|
passwordVariable: 'DOCKERPASS'
|
||||||
],
|
|
||||||
[
|
|
||||||
$class: 'UsernamePasswordMultiBinding',
|
|
||||||
credentialsId: 'Quay.io-Robot',
|
|
||||||
usernameVariable: 'QUAYUSER',
|
|
||||||
passwordVariable: 'QUAYPASS'
|
|
||||||
]
|
]
|
||||||
]) {
|
]) {
|
||||||
retry(5) {
|
retry(5) {
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
set -e
|
set -e
|
||||||
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
|
||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||||
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
|
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
|
||||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||||
@@ -636,26 +619,24 @@ pipeline {
|
|||||||
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
||||||
done
|
done
|
||||||
for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
docker tag ${IMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-${META_TAG}
|
||||||
docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
|
docker tag ${IMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-${META_TAG}
|
||||||
docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
|
docker tag ${IMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-${META_TAG}
|
||||||
docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
|
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:latest
|
||||||
docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:latest
|
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:${META_TAG}
|
||||||
docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
|
docker tag ${GITHUBIMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-latest
|
||||||
docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-latest
|
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-latest
|
||||||
docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-latest
|
docker push ${GITHUBIMAGE}:amd64-${META_TAG}
|
||||||
docker push ${LEGACYIMAGE}:amd64-${META_TAG}
|
docker push ${GITHUBIMAGE}:arm32v7-${META_TAG}
|
||||||
docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
|
docker push ${GITHUBIMAGE}:arm64v8-${META_TAG}
|
||||||
docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
|
docker push ${GITHUBIMAGE}:latest
|
||||||
docker push ${LEGACYIMAGE}:latest
|
docker push ${GITHUBIMAGE}:${META_TAG}
|
||||||
docker push ${LEGACYIMAGE}:${META_TAG}
|
docker push ${GITHUBIMAGE}:arm32v7-latest
|
||||||
docker push ${LEGACYIMAGE}:arm32v7-latest
|
docker push ${GITHUBIMAGE}:arm64v8-latest
|
||||||
docker push ${LEGACYIMAGE}:arm64v8-latest
|
|
||||||
done
|
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
||||||
docker rmi \
|
docker rmi \
|
||||||
${DELETEIMAGE}:amd64-${META_TAG} \
|
${DELETEIMAGE}:amd64-${META_TAG} \
|
||||||
${DELETEIMAGE}:amd64-latest \
|
${DELETEIMAGE}:amd64-latest \
|
||||||
|
|||||||
45
README.md
45
README.md
@@ -1,11 +1,11 @@
|
|||||||
[](https://linuxserver.io)
|
[](https://linuxserver.io)
|
||||||
|
|
||||||
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
||||||
[](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
|
[](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
|
||||||
[](https://discourse.linuxserver.io "post on our community forum.")
|
[](https://discourse.linuxserver.io "post on our community forum.")
|
||||||
[](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
|
[](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
|
||||||
[](https://github.com/linuxserver "view the source for all of our repositories.")
|
[](https://github.com/linuxserver "view the source for all of our repositories.")
|
||||||
[](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
|
[](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
|
||||||
|
|
||||||
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:
|
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:
|
||||||
|
|
||||||
@@ -25,16 +25,15 @@ Find us at:
|
|||||||
|
|
||||||
# [linuxserver/code-server](https://github.com/linuxserver/docker-code-server)
|
# [linuxserver/code-server](https://github.com/linuxserver/docker-code-server)
|
||||||
|
|
||||||
[](https://github.com/linuxserver/docker-code-server)
|
[](https://github.com/linuxserver/docker-code-server)
|
||||||
[](https://github.com/linuxserver/docker-code-server/releases)
|
[](https://github.com/linuxserver/docker-code-server/releases)
|
||||||
[](https://github.com/linuxserver/docker-code-server/packages)
|
[](https://github.com/linuxserver/docker-code-server/packages)
|
||||||
[](https://gitlab.com/Linuxserver.io/docker-code-server/container_registry)
|
[](https://gitlab.com/Linuxserver.io/docker-code-server/container_registry)
|
||||||
[](https://quay.io/repository/linuxserver.io/code-server)
|
[](https://microbadger.com/images/linuxserver/code-server "Get your own version badge on microbadger.com")
|
||||||
[](https://microbadger.com/images/linuxserver/code-server "Get your own version badge on microbadger.com")
|
[](https://hub.docker.com/r/linuxserver/code-server)
|
||||||
[](https://hub.docker.com/r/linuxserver/code-server)
|
[](https://hub.docker.com/r/linuxserver/code-server)
|
||||||
[](https://hub.docker.com/r/linuxserver/code-server)
|
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/)
|
||||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/)
|
[](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/code-server/latest/index.html)
|
||||||
[](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/code-server/latest/index.html)
|
|
||||||
|
|
||||||
[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser.
|
[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser.
|
||||||
- Code on your Chromebook, tablet, and laptop with a consistent dev environment.
|
- Code on your Chromebook, tablet, and laptop with a consistent dev environment.
|
||||||
@@ -83,6 +82,7 @@ docker create \
|
|||||||
-e TZ=Europe/London \
|
-e TZ=Europe/London \
|
||||||
-e PASSWORD=password `#optional` \
|
-e PASSWORD=password `#optional` \
|
||||||
-e SUDO_PASSWORD=password `#optional` \
|
-e SUDO_PASSWORD=password `#optional` \
|
||||||
|
-e PROXY_DOMAIN=code-server.my.domain `#optional` \
|
||||||
-p 8443:8443 \
|
-p 8443:8443 \
|
||||||
-v /path/to/appdata/config:/config \
|
-v /path/to/appdata/config:/config \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
@@ -107,6 +107,7 @@ services:
|
|||||||
- TZ=Europe/London
|
- TZ=Europe/London
|
||||||
- PASSWORD=password #optional
|
- PASSWORD=password #optional
|
||||||
- SUDO_PASSWORD=password #optional
|
- SUDO_PASSWORD=password #optional
|
||||||
|
- PROXY_DOMAIN=code-server.my.domain #optional
|
||||||
volumes:
|
volumes:
|
||||||
- /path/to/appdata/config:/config
|
- /path/to/appdata/config:/config
|
||||||
ports:
|
ports:
|
||||||
@@ -126,11 +127,12 @@ Container images are configured using parameters passed at runtime (such as thos
|
|||||||
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
|
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
|
||||||
| `-e PASSWORD=password` | Optional web gui password, if not provided, there will be no auth. |
|
| `-e PASSWORD=password` | Optional web gui password, if not provided, there will be no auth. |
|
||||||
| `-e SUDO_PASSWORD=password` | If this optional variable is set, user will have sudo access in the code-server terminal with the specified password. |
|
| `-e SUDO_PASSWORD=password` | If this optional variable is set, user will have sudo access in the code-server terminal with the specified password. |
|
||||||
|
| `-e PROXY_DOMAIN=code-server.my.domain` | If this optional variable is set, this domain will be proxied for subdomain proxying. See [Documentation](https://github.com/cdr/code-server/blob/master/doc/FAQ.md#sub-domains) |
|
||||||
| `-v /config` | Contains all relevant configuration files. |
|
| `-v /config` | Contains all relevant configuration files. |
|
||||||
|
|
||||||
## Environment variables from files (Docker secrets)
|
## Environment variables from files (Docker secrets)
|
||||||
|
|
||||||
You can set any environment variable from a file by using a special prepend `FILE__`.
|
You can set any environment variable from a file by using a special prepend `FILE__`.
|
||||||
|
|
||||||
As an example:
|
As an example:
|
||||||
|
|
||||||
@@ -140,6 +142,11 @@ As an example:
|
|||||||
|
|
||||||
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
|
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
|
||||||
|
|
||||||
|
## Umask for running applications
|
||||||
|
|
||||||
|
For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional `-e UMASK=022` setting.
|
||||||
|
Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up [here](https://en.wikipedia.org/wiki/Umask) before asking for support.
|
||||||
|
|
||||||
## User / Group Identifiers
|
## User / Group Identifiers
|
||||||
|
|
||||||
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
|
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
|
||||||
@@ -167,7 +174,7 @@ git config --global user.email "email address"
|
|||||||
|
|
||||||
|
|
||||||
## Docker Mods
|
## Docker Mods
|
||||||
[](https://mods.linuxserver.io/?mod=code-server "view available mods for this container.")
|
[](https://mods.linuxserver.io/?mod=code-server "view available mods for this container.")
|
||||||
|
|
||||||
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) can be accessed via the dynamic badge above.
|
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) can be accessed via the dynamic badge above.
|
||||||
|
|
||||||
@@ -236,6 +243,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **29.05.20:** - Add --domain-proxy support.
|
||||||
|
* **21.05.20:** - Shrink images, install via yarn, fix arm32v7 build.
|
||||||
* **18.05.20:** - Switch to multi-arch images, install via npm.
|
* **18.05.20:** - Switch to multi-arch images, install via npm.
|
||||||
* **29.04.20:** - Update start arguments.
|
* **29.04.20:** - Update start arguments.
|
||||||
* **01.04.20:** - Structural changes required for v3.
|
* **01.04.20:** - Structural changes required for v3.
|
||||||
|
|||||||
@@ -126,12 +126,12 @@ libsmartcols12.31.1-0.4ubuntu3.6
|
|||||||
libsqlite3-03.22.0-1ubuntu0.3
|
libsqlite3-03.22.0-1ubuntu0.3
|
||||||
libss21.44.1-1ubuntu1.3
|
libss21.44.1-1ubuntu1.3
|
||||||
libssl1.0.01.0.2n-1ubuntu5.3
|
libssl1.0.01.0.2n-1ubuntu5.3
|
||||||
libssl1.11.1.1-1ubuntu2.1~18.04.5
|
libssl1.11.1.1-1ubuntu2.1~18.04.6
|
||||||
libstdc++68.4.0-1ubuntu1~18.04
|
libstdc++68.4.0-1ubuntu1~18.04
|
||||||
libsystemd0237-3ubuntu10.40
|
libsystemd0237-3ubuntu10.41
|
||||||
libtasn1-64.13-2
|
libtasn1-64.13-2
|
||||||
libtinfo56.1-1ubuntu1.18.04
|
libtinfo56.1-1ubuntu1.18.04
|
||||||
libudev1237-3ubuntu10.40
|
libudev1237-3ubuntu10.41
|
||||||
libunistring20.9.9-0ubuntu2
|
libunistring20.9.9-0ubuntu2
|
||||||
libuuid12.31.1-0.4ubuntu3.6
|
libuuid12.31.1-0.4ubuntu3.6
|
||||||
libwind0-heimdal7.5.0+dfsg-1
|
libwind0-heimdal7.5.0+dfsg-1
|
||||||
@@ -155,9 +155,9 @@ ncurses-base6.1-1ubuntu1.18.04
|
|||||||
ncurses-bin6.1-1ubuntu1.18.04
|
ncurses-bin6.1-1ubuntu1.18.04
|
||||||
netbase5.4
|
netbase5.4
|
||||||
net-tools1.60+git20161116.90da8a0-1ubuntu1
|
net-tools1.60+git20161116.90da8a0-1ubuntu1
|
||||||
nodejs12.16.3-1nodesource1
|
nodejs12.17.0-1nodesource1
|
||||||
openssh-client1:7.6p1-4ubuntu0.3
|
openssh-client1:7.6p1-4ubuntu0.3
|
||||||
openssl1.1.1-1ubuntu2.1~18.04.5
|
openssl1.1.1-1ubuntu2.1~18.04.6
|
||||||
passwd1:4.5-1ubuntu2
|
passwd1:4.5-1ubuntu2
|
||||||
patch2.7.6-2ubuntu1.1
|
patch2.7.6-2ubuntu1.1
|
||||||
perl5.26.1-6ubuntu0.3
|
perl5.26.1-6ubuntu0.3
|
||||||
@@ -181,4 +181,5 @@ ubuntu-keyring2018.09.18.1~18.04.0
|
|||||||
util-linux2.31.1-0.4ubuntu3.6
|
util-linux2.31.1-0.4ubuntu3.6
|
||||||
xauth1:1.0.10-1
|
xauth1:1.0.10-1
|
||||||
xz-utils5.2.2-1.3
|
xz-utils5.2.2-1.3
|
||||||
|
yarn1.22.4-1
|
||||||
zlib1g1:1.2.11.dfsg-0ubuntu2
|
zlib1g1:1.2.11.dfsg-0ubuntu2
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ opt_param_usage_include_env: true
|
|||||||
opt_param_env_vars:
|
opt_param_env_vars:
|
||||||
- { env_var: "PASSWORD", env_value: "password", desc: "Optional web gui password, if not provided, there will be no auth."}
|
- { env_var: "PASSWORD", env_value: "password", desc: "Optional web gui password, if not provided, there will be no auth."}
|
||||||
- { env_var: "SUDO_PASSWORD", env_value: "password", desc: "If this optional variable is set, user will have sudo access in the code-server terminal with the specified password."}
|
- { env_var: "SUDO_PASSWORD", env_value: "password", desc: "If this optional variable is set, user will have sudo access in the code-server terminal with the specified password."}
|
||||||
|
- { env_var: "PROXY_DOMAIN", env_value: "code-server.my.domain", desc: "If this optional variable is set, this domain will be proxied for subdomain proxying. See [Documentation](https://github.com/cdr/code-server/blob/master/doc/FAQ.md#sub-domains)" }
|
||||||
|
|
||||||
optional_block_1: false
|
optional_block_1: false
|
||||||
optional_block_1_items: ""
|
optional_block_1_items: ""
|
||||||
@@ -67,6 +68,8 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { date: "29.05.20:", desc: "Add --domain-proxy support."}
|
||||||
|
- { date: "21.05.20:", desc: "Shrink images, install via yarn, fix arm32v7 build." }
|
||||||
- { date: "18.05.20:", desc: "Switch to multi-arch images, install via npm." }
|
- { date: "18.05.20:", desc: "Switch to multi-arch images, install via npm." }
|
||||||
- { date: "29.04.20:", desc: "Update start arguments." }
|
- { date: "29.04.20:", desc: "Update start arguments." }
|
||||||
- { date: "01.04.20:", desc: "Structural changes required for v3." }
|
- { date: "01.04.20:", desc: "Structural changes required for v3." }
|
||||||
|
|||||||
@@ -7,6 +7,12 @@ else
|
|||||||
echo "starting with no password"
|
echo "starting with no password"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z ${PROXY_DOMAIN+x} ]; then
|
||||||
|
PROXY_DOMAIN_ARG=""
|
||||||
|
else
|
||||||
|
PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}"
|
||||||
|
fi
|
||||||
|
|
||||||
exec \
|
exec \
|
||||||
s6-setuidgid abc \
|
s6-setuidgid abc \
|
||||||
/usr/bin/code-server \
|
/usr/bin/code-server \
|
||||||
@@ -15,4 +21,5 @@ exec \
|
|||||||
--extensions-dir /config/extensions \
|
--extensions-dir /config/extensions \
|
||||||
--disable-telemetry \
|
--disable-telemetry \
|
||||||
--auth "${AUTH}" \
|
--auth "${AUTH}" \
|
||||||
|
"${PROXY_DOMAIN_ARG}" \
|
||||||
/config/workspace
|
/config/workspace
|
||||||
|
|||||||
Reference in New Issue
Block a user