Merge remote-tracking branch 'upstream/master' into n-i-x-patch-1

This commit is contained in:
jrebey 2020-05-29 10:22:03 -04:00
commit 2b8da35c3b
9 changed files with 264 additions and 86 deletions

View File

@ -11,28 +11,50 @@ LABEL maintainer="aptalca"
ENV HOME="/config" ENV HOME="/config"
RUN \ RUN \
echo "**** install dependencies ****" && \ echo "**** install node repo ****" && \
apt-get update && \ apt-get update && \
apt-get install -y \
gnupg && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
> /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 ****" && \
apt-get update && \
apt-get install -y \
build-essential \
libx11-dev \
libxkbfile-dev \
libsecret-1-dev \
pkg-config && \
echo "**** install runtime dependencies ****" && \
apt-get install -y \ apt-get install -y \
git \ git \
jq \ jq \
nano \ nano \
net-tools \ net-tools \
sudo && \ nodejs \
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_URL=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/tags/${CODE_RELEASE}" \ CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
| jq -r '.assets[] | select(.browser_download_url | contains("linux-x86_64")) | .browser_download_url') && \ yarn --production global add code-server@"$CODE_VERSION" && \
mkdir -p /app/code-server && \ yarn cache clean && \
curl -o \ ln -s /node_modules/.bin/code-server /usr/bin/code-server && \
/tmp/code.tar.gz -L \
"${CODE_URL}" && \
tar xzf /tmp/code.tar.gz -C \
/app/code-server --strip-components=1 && \
echo "**** clean up ****" && \ echo "**** clean up ****" && \
apt-get purge --auto-remove -y \
build-essential \
libx11-dev \
libxkbfile-dev \
libsecret-1-dev \
pkg-config && \
apt-get clean && \
rm -rf \ rm -rf \
/tmp/* \ /tmp/* \
/var/lib/apt/lists/* \ /var/lib/apt/lists/* \

67
Dockerfile.aarch64 Normal file
View File

@ -0,0 +1,67 @@
FROM lsiobase/ubuntu:arm64v8-bionic
# set version label
ARG BUILD_DATE
ARG VERSION
ARG CODE_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="aptalca"
# environment settings
ENV HOME="/config"
RUN \
echo "**** install node repo ****" && \
apt-get update && \
apt-get install -y \
gnupg && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
> /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 ****" && \
apt-get update && \
apt-get install -y \
build-essential \
libx11-dev \
libxkbfile-dev \
libsecret-1-dev \
pkg-config && \
echo "**** install runtime dependencies ****" && \
apt-get install -y \
git \
jq \
nano \
net-tools \
nodejs \
sudo \
yarn && \
echo "**** install code-server ****" && \
if [ -z ${CODE_RELEASE+x} ]; then \
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
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 ****" && \
apt-get purge --auto-remove -y \
build-essential \
libx11-dev \
libxkbfile-dev \
libsecret-1-dev \
pkg-config && \
apt-get clean && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# add local files
COPY /root /
# ports and volumes
EXPOSE 8443

67
Dockerfile.armhf Normal file
View File

@ -0,0 +1,67 @@
FROM lsiobase/ubuntu:arm32v7-bionic
# set version label
ARG BUILD_DATE
ARG VERSION
ARG CODE_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="aptalca"
# environment settings
ENV HOME="/config"
RUN \
echo "**** install node repo ****" && \
apt-get update && \
apt-get install -y \
gnupg && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
> /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 ****" && \
apt-get update && \
apt-get install -y \
build-essential \
libx11-dev \
libxkbfile-dev \
libsecret-1-dev \
pkg-config && \
echo "**** install runtime dependencies ****" && \
apt-get install -y \
git \
jq \
nano \
net-tools \
nodejs \
sudo \
yarn && \
echo "**** install code-server ****" && \
if [ -z ${CODE_RELEASE+x} ]; then \
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
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 ****" && \
apt-get purge --auto-remove -y \
build-essential \
libx11-dev \
libxkbfile-dev \
libsecret-1-dev \
pkg-config && \
apt-get clean && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# add local files
COPY /root /
# ports and volumes
EXPOSE 8443

55
Jenkinsfile vendored
View File

@ -27,7 +27,7 @@ pipeline {
DEV_DOCKERHUB_IMAGE = 'lsiodev/code-server' DEV_DOCKERHUB_IMAGE = 'lsiodev/code-server'
PR_DOCKERHUB_IMAGE = 'lspipepr/code-server' PR_DOCKERHUB_IMAGE = 'lspipepr/code-server'
DIST_IMAGE = 'ubuntu' DIST_IMAGE = 'ubuntu'
MULTIARCH='false' MULTIARCH='true'
CI='true' CI='true'
CI_WEB='true' CI_WEB='true'
CI_PORT='8443' CI_PORT='8443'
@ -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 \

View File

@ -1,11 +1,11 @@
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io) [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
[![Blog](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!") [![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?style=flat-square&color=E68523&label=Discord&logo=discord&logoColor=FFFFFF)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.") [![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?style=flat-square&color=E68523&logo=discourse&logoColor=FFFFFF)](https://discourse.linuxserver.io "post on our community forum.") [![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.") [![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitHub&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver "view the source for all of our repositories.") [![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?style=flat-square&color=E68523&label=Supporters&logo=open%20collective&logoColor=FFFFFF)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget") [![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](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)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-code-server.svg?style=flat-square&color=E68523&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-code-server) [![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-code-server.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-code-server)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-code-server.svg?style=flat-square&color=E68523&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-code-server/releases) [![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-code-server.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-code-server/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitHub%20Package&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-code-server/packages) [![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-code-server/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab&logoColor=FFFFFF)](https://gitlab.com/Linuxserver.io/docker-code-server/container_registry) [![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/Linuxserver.io/docker-code-server/container_registry)
[![Quay.io](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/code-server) [![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/code-server.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge)](https://microbadger.com/images/linuxserver/code-server "Get your own version badge on microbadger.com")
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/code-server.svg?style=flat-square&color=E68523)](https://microbadger.com/images/linuxserver/code-server "Get your own version badge on microbadger.com") [![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/code-server.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/code-server)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/code-server.svg?style=flat-square&color=E68523&label=pulls&logo=docker&logoColor=FFFFFF)](https://hub.docker.com/r/linuxserver/code-server) [![Docker Stars](https://img.shields.io/docker/stars/linuxserver/code-server.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/code-server)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/code-server.svg?style=flat-square&color=E68523&label=stars&logo=docker&logoColor=FFFFFF)](https://hub.docker.com/r/linuxserver/code-server) [![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-code-server%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/)
[![Build Status](https://ci.linuxserver.io/view/all/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/badge/icon?style=flat-square)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/) [![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Flsio-ci.ams3.digitaloceanspaces.com%2Flspipepr%2Fcode-server%2Flatest%2Fci-status.yml)](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/code-server/latest/index.html)
[![](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/code-server/latest/badge.svg)](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.
@ -57,6 +56,8 @@ The architectures supported by this image are:
| Architecture | Tag | | Architecture | Tag |
| :----: | --- | | :----: | --- |
| x86-64 | amd64-latest | | x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
## Version Tags ## Version Tags
@ -141,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`.
@ -168,7 +174,7 @@ git config --global user.email "email address"
## Docker Mods ## Docker Mods
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?style=for-the-badge&color=E68523&label=mods&query=%24.mods%5B%27code-server%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=code-server "view available mods for this container.") [![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=mods&query=%24.mods%5B%27code-server%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](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.
@ -237,6 +243,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **21.05.20:** - Shrink images, install via yarn, fix arm32v7 build.
* **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.
* **17.01.20:** - Fix artifact url retrieval from github. * **17.01.20:** - Fix artifact url retrieval from github.

View File

@ -18,7 +18,7 @@ repo_vars:
- DEV_DOCKERHUB_IMAGE = 'lsiodev/code-server' - DEV_DOCKERHUB_IMAGE = 'lsiodev/code-server'
- PR_DOCKERHUB_IMAGE = 'lspipepr/code-server' - PR_DOCKERHUB_IMAGE = 'lspipepr/code-server'
- DIST_IMAGE = 'ubuntu' - DIST_IMAGE = 'ubuntu'
- MULTIARCH='false' - MULTIARCH='true'
- CI='true' - CI='true'
- CI_WEB='true' - CI_WEB='true'
- CI_PORT='8443' - CI_PORT='8443'

View File

@ -1,6 +1,6 @@
adduser3.116ubuntu1 adduser3.116ubuntu1
apt1.6.12 apt1.6.12ubuntu0.1
apt-utils1.6.12 apt-utils1.6.12ubuntu0.1
base-files10.1ubuntu2.8 base-files10.1ubuntu2.8
base-passwd3.5.44 base-passwd3.5.44
bash4.4.18-2ubuntu1.2 bash4.4.18-2ubuntu1.2
@ -13,14 +13,25 @@ dash0.5.8-2.10
debconf1.5.66ubuntu1 debconf1.5.66ubuntu1
debianutils4.8.4 debianutils4.8.4
diffutils1:3.6-1 diffutils1:3.6-1
dirmngr2.2.4-1ubuntu1.2
dpkg1.19.0.5ubuntu2.3 dpkg1.19.0.5ubuntu2.3
e2fsprogs1.44.1-1ubuntu1.3 e2fsprogs1.44.1-1ubuntu1.3
fdisk2.31.1-0.4ubuntu3.6 fdisk2.31.1-0.4ubuntu3.6
file1:5.32-2ubuntu0.4
findutils4.6.0+git+20170828-2 findutils4.6.0+git+20170828-2
gcc-8-base8.4.0-1ubuntu1~18.04 gcc-8-base8.4.0-1ubuntu1~18.04
git1:2.17.1-1ubuntu0.7 git1:2.17.1-1ubuntu0.7
git-man1:2.17.1-1ubuntu0.7 git-man1:2.17.1-1ubuntu0.7
gnupg2.2.4-1ubuntu1.2
gnupg-l10n2.2.4-1ubuntu1.2
gnupg-utils2.2.4-1ubuntu1.2
gpg2.2.4-1ubuntu1.2
gpg-agent2.2.4-1ubuntu1.2
gpgconf2.2.4-1ubuntu1.2
gpgsm2.2.4-1ubuntu1.2
gpgv2.2.4-1ubuntu1.2 gpgv2.2.4-1ubuntu1.2
gpg-wks-client2.2.4-1ubuntu1.2
gpg-wks-server2.2.4-1ubuntu1.2
grep3.1-2build1 grep3.1-2build1
gzip1.6-5ubuntu1 gzip1.6-5ubuntu1
hostname3.20 hostname3.20
@ -29,9 +40,10 @@ jq1.5+dfsg-2
krb5-locales1.16-2ubuntu0.1 krb5-locales1.16-2ubuntu0.1
less487-0.1 less487-0.1
libacl12.2.52-3build1 libacl12.2.52-3build1
libapt-inst2.01.6.12 libapt-inst2.01.6.12ubuntu0.1
libapt-pkg5.01.6.12 libapt-pkg5.01.6.12ubuntu0.1
libasn1-8-heimdal7.5.0+dfsg-1 libasn1-8-heimdal7.5.0+dfsg-1
libassuan02.5.1-2
libattr11:2.4.47-2build1 libattr11:2.4.47-2build1
libaudit11:2.8.2-1ubuntu1 libaudit11:2.8.2-1ubuntu1
libaudit-common1:2.8.2-1ubuntu1 libaudit-common1:2.8.2-1ubuntu1
@ -73,15 +85,19 @@ libkeyutils11.5.9-9.2ubuntu2
libkrb5-26-heimdal7.5.0+dfsg-1 libkrb5-26-heimdal7.5.0+dfsg-1
libkrb5-31.16-2ubuntu0.1 libkrb5-31.16-2ubuntu0.1
libkrb5support01.16-2ubuntu0.1 libkrb5support01.16-2ubuntu0.1
libksba81.3.5-2
libldap-2.4-22.4.45+dfsg-1ubuntu1.5 libldap-2.4-22.4.45+dfsg-1ubuntu1.5
libldap-common2.4.45+dfsg-1ubuntu1.5 libldap-common2.4.45+dfsg-1ubuntu1.5
liblz4-10.0~r131-2ubuntu3 liblz4-10.0~r131-2ubuntu3
liblzma55.2.2-1.3 liblzma55.2.2-1.3
libmagic11:5.32-2ubuntu0.4
libmagic-mgc1:5.32-2ubuntu0.4
libmount12.31.1-0.4ubuntu3.6 libmount12.31.1-0.4ubuntu3.6
libncurses56.1-1ubuntu1.18.04 libncurses56.1-1ubuntu1.18.04
libncursesw56.1-1ubuntu1.18.04 libncursesw56.1-1ubuntu1.18.04
libnettle63.4-1 libnettle63.4-1
libnghttp2-141.30.0-1ubuntu1 libnghttp2-141.30.0-1ubuntu1
libnpth01.5-3
libonig46.7.0-1 libonig46.7.0-1
libp11-kit00.23.9-2 libp11-kit00.23.9-2
libpam0g1.1.8-3.6ubuntu2.18.04.1 libpam0g1.1.8-3.6ubuntu2.18.04.1
@ -92,6 +108,10 @@ libpcre32:8.39-9
libperl5.265.26.1-6ubuntu0.3 libperl5.265.26.1-6ubuntu0.3
libprocps62:3.3.12-3ubuntu1.2 libprocps62:3.3.12-3ubuntu1.2
libpsl50.19.1-5build1 libpsl50.19.1-5build1
libpython2.7-minimal2.7.17-1~18.04ubuntu1
libpython2.7-stdlib2.7.17-1~18.04ubuntu1
libpython-stdlib2.7.15~rc1-1
libreadline77.0-3
libroken18-heimdal7.5.0+dfsg-1 libroken18-heimdal7.5.0+dfsg-1
librtmp12.4+20151223.gitfa8646d.1-1 librtmp12.4+20151223.gitfa8646d.1-1
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.1 libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.1
@ -106,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
@ -127,6 +147,7 @@ locales2.27-3ubuntu1
login1:4.5-1ubuntu2 login1:4.5-1ubuntu2
lsb-base9.20170808ubuntu1 lsb-base9.20170808ubuntu1
mawk1.3.3-17ubuntu3 mawk1.3.3-17ubuntu3
mime-support3.60ubuntu1
mount2.31.1-0.4ubuntu3.6 mount2.31.1-0.4ubuntu3.6
multiarch-support2.27-3ubuntu1 multiarch-support2.27-3ubuntu1
nano2.9.3-2 nano2.9.3-2
@ -134,22 +155,31 @@ 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.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
perl-base5.26.1-6ubuntu0.3 perl-base5.26.1-6ubuntu0.3
perl-modules-5.265.26.1-6ubuntu0.3 perl-modules-5.265.26.1-6ubuntu0.3
pinentry-curses1.1.0-1
procps2:3.3.12-3ubuntu1.2 procps2:3.3.12-3ubuntu1.2
publicsuffix20180223.1310-1 publicsuffix20180223.1310-1
python2.7.15~rc1-1
python2.72.7.17-1~18.04ubuntu1
python2.7-minimal2.7.17-1~18.04ubuntu1
python-minimal2.7.15~rc1-1
readline-common7.0-3
sed4.4-2 sed4.4-2
sensible-utils0.0.12 sensible-utils0.0.12
sudo1.8.21p2-3ubuntu1.2 sudo1.8.21p2-3ubuntu1.2
sysvinit-utils2.88dsf-59.10ubuntu1 sysvinit-utils2.88dsf-59.10ubuntu1
tar1.29b-2ubuntu0.1 tar1.29b-2ubuntu0.1
tzdata2019c-0ubuntu0.18.04 tzdata2020a-0ubuntu0.18.04
ubuntu-keyring2018.09.18.1~18.04.0 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
yarn1.22.4-1
zlib1g1:1.2.11.dfsg-0ubuntu2 zlib1g1:1.2.11.dfsg-0ubuntu2

View File

@ -22,6 +22,8 @@ project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_
# supported architectures # supported architectures
available_architectures: available_architectures:
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} - { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
# development version # development version
development_versions: true development_versions: true
@ -65,7 +67,9 @@ app_setup_block: |
# changelog # changelog
changelogs: changelogs:
- { date: "20.05.20:", desc: "Add --domain-proxy support."} - { 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: "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." }
- { date: "17.01.20:", desc: "Fix artifact url retrieval from github." } - { date: "17.01.20:", desc: "Fix artifact url retrieval from github." }

View File

@ -18,13 +18,12 @@ else
fi fi
exec \ exec \
s6-setuidgid abc \ s6-setuidgid abc \
/app/code-server/code-server \ /usr/bin/code-server \
--bind-addr 0.0.0.0:8443 \ --bind-addr 0.0.0.0:8443 \
--user-data-dir /config/data \ --user-data-dir /config/data \
--extensions-dir /config/extensions \ --extensions-dir /config/extensions \
--disable-telemetry \ --disable-telemetry \
--disable-updates \ --auth "${AUTH}" \
--auth "${AUTH}" \ "${PROXY_DOMAIN_ARG}" \
"${PROXY_DOMAIN_ARG}" \ /config/workspace
/config/workspace