mirror of
https://github.com/linuxserver/docker-code-server
synced 2025-06-26 18:27:40 +00:00
Compare commits
79 Commits
3.0.1-ls37
...
v3.6.2-ls5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
29ae7551a6 | ||
|
|
6f3b3900e2 | ||
|
|
bfc9784d47 | ||
|
|
18cba41000 | ||
|
|
eb8725d5b7 | ||
|
|
5b625af798 | ||
|
|
f33ea7a026 | ||
|
|
44a85c455c | ||
|
|
701ee49177 | ||
|
|
c48d9458d7 | ||
|
|
4be814857d | ||
|
|
a4979fe086 | ||
|
|
47429478a1 | ||
|
|
ad8112c034 | ||
|
|
ae6a5488e9 | ||
|
|
8d6b7bdbe2 | ||
|
|
9d4396ba36 | ||
|
|
1a4bc80986 | ||
|
|
1d69eac73c | ||
|
|
e402cc2e16 | ||
|
|
00afdeb441 | ||
|
|
08841b0f51 | ||
|
|
54d481ef55 | ||
|
|
d413b7d2a6 | ||
|
|
2edc59783f | ||
|
|
af00f6d309 | ||
|
|
2b8da35c3b | ||
|
|
b456c30f0c | ||
|
|
babc486031 | ||
|
|
b64f2d360c | ||
|
|
98569fb679 | ||
|
|
7fb25d3ff4 | ||
|
|
0b97beb8db | ||
|
|
7fcde50bab | ||
|
|
c124f2c48d | ||
|
|
9ae8d18bd2 | ||
|
|
f2c46c0e0d | ||
|
|
eb7eaa456a | ||
|
|
9137da0f15 | ||
|
|
84873a6b62 | ||
|
|
684c6b645d | ||
|
|
1ab135cd82 | ||
|
|
0f3500e097 | ||
|
|
364e6a0585 | ||
|
|
eb7631737c | ||
|
|
b9d1cc0cde | ||
|
|
fab6b30741 | ||
|
|
1ae56e78a7 | ||
|
|
961ab3d4c5 | ||
|
|
b8c02345f2 | ||
|
|
c905b2d26e | ||
|
|
797d9df2e6 | ||
|
|
29a014957c | ||
|
|
244156dbde | ||
|
|
ad6d5a936b | ||
|
|
13d3722e71 | ||
|
|
74a7581d70 | ||
|
|
8c70a3ebf3 | ||
|
|
a9346cfc98 | ||
|
|
2833c89c78 | ||
|
|
3d83533d55 | ||
|
|
0a84da8cbc | ||
|
|
9b216da63c | ||
|
|
edc6c7946f | ||
|
|
3c29bed31f | ||
|
|
590a4e11e8 | ||
|
|
10c27ab1a4 | ||
|
|
6984171e38 | ||
|
|
c1d35b1473 | ||
|
|
a3a6e0f937 | ||
|
|
524ba35499 | ||
|
|
11862601e8 | ||
|
|
81feb2f1b2 | ||
|
|
4736401320 | ||
|
|
11879beabf | ||
|
|
9c27d62f8b | ||
|
|
e92996b547 | ||
|
|
90a6230676 | ||
|
|
6a460b9e79 |
45
Dockerfile
45
Dockerfile
@@ -11,28 +11,49 @@ 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" \
|
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
|
||||||
| jq -r 'first(.[] | select(.prerelease == true)) | .tag_name'); \
|
| 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 --frozen-lockfile global add code-server@"$CODE_VERSION" && \
|
||||||
mkdir -p /app/code-server && \
|
yarn cache clean && \
|
||||||
curl -o \
|
|
||||||
/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/* \
|
||||||
|
|||||||
66
Dockerfile.aarch64
Normal file
66
Dockerfile.aarch64
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
FROM ghcr.io/linuxserver/baseimage-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 --frozen-lockfile global add code-server@"$CODE_VERSION" && \
|
||||||
|
yarn cache clean && \
|
||||||
|
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
|
||||||
66
Dockerfile.armhf
Normal file
66
Dockerfile.armhf
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
FROM ghcr.io/linuxserver/baseimage-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 --frozen-lockfile global add code-server@"$CODE_VERSION" && \
|
||||||
|
yarn cache clean && \
|
||||||
|
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
|
||||||
92
Jenkinsfile
vendored
92
Jenkinsfile
vendored
@@ -16,8 +16,9 @@ pipeline {
|
|||||||
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
|
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
|
||||||
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
|
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
|
||||||
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
|
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
|
||||||
JSON_URL = 'https://api.github.com/repos/cdr/code-server/releases'
|
EXT_GIT_BRANCH = 'master'
|
||||||
JSON_PATH = 'first(.[] | select(.prerelease == true)) | .tag_name'
|
EXT_USER = 'cdr'
|
||||||
|
EXT_REPO = 'code-server'
|
||||||
CONTAINER_NAME = 'code-server'
|
CONTAINER_NAME = 'code-server'
|
||||||
BUILD_VERSION_ARG = 'CODE_RELEASE'
|
BUILD_VERSION_ARG = 'CODE_RELEASE'
|
||||||
LS_USER = 'linuxserver'
|
LS_USER = 'linuxserver'
|
||||||
@@ -26,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'
|
||||||
@@ -43,7 +44,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.EXIT_STATUS = ''
|
env.EXIT_STATUS = ''
|
||||||
env.LS_RELEASE = sh(
|
env.LS_RELEASE = sh(
|
||||||
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':development 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.LS_RELEASE_NOTES = sh(
|
env.LS_RELEASE_NOTES = sh(
|
||||||
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
||||||
@@ -100,14 +101,21 @@ pipeline {
|
|||||||
/* ########################
|
/* ########################
|
||||||
External Release Tagging
|
External Release Tagging
|
||||||
######################## */
|
######################## */
|
||||||
// If this is a custom json endpoint parse the return to get external tag
|
// If this is a stable github release use the latest endpoint from github to determine the ext tag
|
||||||
stage("Set ENV custom_json"){
|
stage("Set ENV github_stable"){
|
||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
env.EXT_RELEASE = sh(
|
env.EXT_RELEASE = sh(
|
||||||
script: '''curl -s ${JSON_URL} | jq -r ". | ${JSON_PATH}" ''',
|
script: '''curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. | .tag_name' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.RELEASE_LINK = env.JSON_URL
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// If this is a stable or devel github release generate the link for the build message
|
||||||
|
stage("Set ENV github_link"){
|
||||||
|
steps{
|
||||||
|
script{
|
||||||
|
env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/releases/tag/' + env.EXT_RELEASE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -121,10 +129,10 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If this is a development build use live docker endpoints
|
// If this is a master build use live docker endpoints
|
||||||
stage("Set ENV live build"){
|
stage("Set ENV live build"){
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
@@ -145,7 +153,7 @@ pipeline {
|
|||||||
// If this is a dev build use dev docker endpoints
|
// If this is a dev build use dev docker endpoints
|
||||||
stage("Set ENV dev build"){
|
stage("Set ENV dev build"){
|
||||||
when {
|
when {
|
||||||
not {branch "development"}
|
not {branch "master"}
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
@@ -218,7 +226,7 @@ pipeline {
|
|||||||
// Use helper containers to render templated files
|
// Use helper containers to render templated files
|
||||||
stage('Update-Templates') {
|
stage('Update-Templates') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
expression {
|
expression {
|
||||||
env.CONTAINER_NAME != null
|
env.CONTAINER_NAME != null
|
||||||
@@ -229,7 +237,7 @@ pipeline {
|
|||||||
set -e
|
set -e
|
||||||
TEMPDIR=$(mktemp -d)
|
TEMPDIR=$(mktemp -d)
|
||||||
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=development -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
||||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||||
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
||||||
@@ -237,7 +245,7 @@ pipeline {
|
|||||||
mkdir -p ${TEMPDIR}/repo
|
mkdir -p ${TEMPDIR}/repo
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||||
git checkout -f development
|
git checkout -f master
|
||||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
||||||
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
|
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
@@ -269,7 +277,7 @@ pipeline {
|
|||||||
// Exit the build if the Templated files were just updated
|
// Exit the build if the Templated files were just updated
|
||||||
stage('Template-exit') {
|
stage('Template-exit') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'FILES_UPDATED', value: 'true'
|
environment name: 'FILES_UPDATED', value: 'true'
|
||||||
expression {
|
expression {
|
||||||
@@ -374,7 +382,7 @@ pipeline {
|
|||||||
// Take the image we just built and dump package versions for comparison
|
// Take the image we just built and dump package versions for comparison
|
||||||
stage('Update-packages') {
|
stage('Update-packages') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
@@ -402,7 +410,7 @@ pipeline {
|
|||||||
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
||||||
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
||||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f development
|
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
|
||||||
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
||||||
cd ${TEMPDIR}/${LS_REPO}/
|
cd ${TEMPDIR}/${LS_REPO}/
|
||||||
wait
|
wait
|
||||||
@@ -426,7 +434,7 @@ pipeline {
|
|||||||
// Exit the build if the package file was just updated
|
// Exit the build if the package file was just updated
|
||||||
stage('PACKAGE-exit') {
|
stage('PACKAGE-exit') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'PACKAGE_UPDATED', value: 'true'
|
environment name: 'PACKAGE_UPDATED', value: 'true'
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
@@ -440,7 +448,7 @@ pipeline {
|
|||||||
// Exit the build if this is just a package check and there are no changes to push
|
// Exit the build if this is just a package check and there are no changes to push
|
||||||
stage('PACKAGECHECK-exit') {
|
stage('PACKAGECHECK-exit') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'PACKAGE_UPDATED', value: 'false'
|
environment name: 'PACKAGE_UPDATED', value: 'false'
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
@@ -529,9 +537,9 @@ pipeline {
|
|||||||
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 "${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}:development
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
||||||
docker push ${PUSHIMAGE}:development
|
docker push ${PUSHIMAGE}:latest
|
||||||
docker push ${PUSHIMAGE}:${META_TAG}
|
docker push ${PUSHIMAGE}:${META_TAG}
|
||||||
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
||||||
done
|
done
|
||||||
@@ -542,7 +550,7 @@ pipeline {
|
|||||||
docker rmi \
|
docker rmi \
|
||||||
${DELETEIMAGE}:${META_TAG} \
|
${DELETEIMAGE}:${META_TAG} \
|
||||||
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
|
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
|
||||||
${DELETEIMAGE}:development || :
|
${DELETEIMAGE}:latest || :
|
||||||
done
|
done
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
@@ -579,25 +587,25 @@ pipeline {
|
|||||||
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
|
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||||
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||||
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-development
|
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
|
||||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-development
|
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
|
||||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-development
|
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
|
||||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:amd64-development
|
docker push ${MANIFESTIMAGE}:amd64-latest
|
||||||
docker push ${MANIFESTIMAGE}:arm32v7-development
|
docker push ${MANIFESTIMAGE}:arm32v7-latest
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-development
|
docker push ${MANIFESTIMAGE}:arm64v8-latest
|
||||||
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:development || :
|
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
|
||||||
docker manifest create ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:amd64-development ${MANIFESTIMAGE}:arm32v7-development ${MANIFESTIMAGE}:arm64v8-development
|
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:arm32v7-development --os linux --arch arm
|
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:arm64v8-development --os linux --arch arm64 --variant v8
|
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
|
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
|
||||||
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
|
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
|
||||||
@@ -605,7 +613,7 @@ pipeline {
|
|||||||
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
|
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
|
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:development
|
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
|
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
|
||||||
done
|
done
|
||||||
@@ -615,11 +623,11 @@ pipeline {
|
|||||||
for DELETEIMAGE in "${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-development \
|
${DELETEIMAGE}:amd64-latest \
|
||||||
${DELETEIMAGE}:arm32v7-${META_TAG} \
|
${DELETEIMAGE}:arm32v7-${META_TAG} \
|
||||||
${DELETEIMAGE}:arm32v7-development \
|
${DELETEIMAGE}:arm32v7-latest \
|
||||||
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
||||||
${DELETEIMAGE}:arm64v8-development || :
|
${DELETEIMAGE}:arm64v8-latest || :
|
||||||
done
|
done
|
||||||
docker rmi \
|
docker rmi \
|
||||||
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||||
@@ -631,7 +639,7 @@ pipeline {
|
|||||||
// If this is a public release tag it in the LS Github
|
// If this is a public release tag it in the LS Github
|
||||||
stage('Github-Tag-Push-Release') {
|
stage('Github-Tag-Push-Release') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
expression {
|
expression {
|
||||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
}
|
}
|
||||||
@@ -643,17 +651,17 @@ pipeline {
|
|||||||
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
||||||
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"object": "'${COMMIT_SHA}'",\
|
"object": "'${COMMIT_SHA}'",\
|
||||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to development",\
|
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
||||||
"type": "commit",\
|
"type": "commit",\
|
||||||
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||||
echo "Pushing New release for Tag"
|
echo "Pushing New release for Tag"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo "Data change at JSON endpoint ${JSON_URL}" > releasebody.json
|
curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
|
||||||
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"target_commitish": "development",\
|
"target_commitish": "master",\
|
||||||
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
|
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
|
||||||
printf '","draft": false,"prerelease": true}' >> releasebody.json
|
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
||||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
paste -d'\\0' start releasebody.json > releasebody.json.done
|
||||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
||||||
}
|
}
|
||||||
|
|||||||
19
README.md
19
README.md
@@ -35,7 +35,7 @@ Find us at:
|
|||||||
[](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/development/)
|
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/)
|
||||||
[](https://ci-tests.linuxserver.io/linuxserver/code-server/latest/index.html)
|
[](https://ci-tests.linuxserver.io/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.
|
||||||
@@ -46,7 +46,7 @@ Find us at:
|
|||||||
- All intensive computation runs on your server.
|
- All intensive computation runs on your server.
|
||||||
- You're no longer running excess instances of Chrome.
|
- You're no longer running excess instances of Chrome.
|
||||||
|
|
||||||
[](https://coder.com)
|
[](https://coder.com)
|
||||||
|
|
||||||
## Supported Architectures
|
## Supported Architectures
|
||||||
|
|
||||||
@@ -59,6 +59,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
|
||||||
|
|
||||||
@@ -90,6 +92,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:
|
||||||
@@ -107,6 +110,7 @@ docker run -d \
|
|||||||
-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 \
|
||||||
@@ -126,6 +130,7 @@ 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)
|
||||||
@@ -242,7 +247,15 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
* **05.03.20:** - Updates for v3.0.0 (structural changes).
|
* **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.
|
||||||
|
* **29.04.20:** - Update start arguments.
|
||||||
|
* **01.04.20:** - Structural changes required for v3.
|
||||||
|
* **17.01.20:** - Fix artifact url retrieval from github.
|
||||||
|
* **24.10.19:** - Upgrade to v2 builds.
|
||||||
|
* **28.09.19:** - Update project logo.
|
||||||
|
* **21.09.19:** - Add development builds/tag.
|
||||||
* **09.07.19:** - Add optional sudo access.
|
* **09.07.19:** - Add optional sudo access.
|
||||||
* **01.07.19:** - Add nano.
|
* **01.07.19:** - Add nano.
|
||||||
* **24.06.19:** - Initial Release.
|
* **24.06.19:** - Initial Release.
|
||||||
|
|||||||
@@ -2,13 +2,14 @@
|
|||||||
|
|
||||||
# jenkins variables
|
# jenkins variables
|
||||||
project_name: docker-code-server
|
project_name: docker-code-server
|
||||||
external_type: custom_json
|
external_type: github_stable
|
||||||
release_type: prerelease
|
release_type: stable
|
||||||
release_tag: development
|
release_tag: latest
|
||||||
ls_branch: development
|
ls_branch: master
|
||||||
repo_vars:
|
repo_vars:
|
||||||
- JSON_URL = 'https://api.github.com/repos/cdr/code-server/releases'
|
- EXT_GIT_BRANCH = 'master'
|
||||||
- JSON_PATH = 'first(.[] | select(.prerelease == true)) | .tag_name'
|
- EXT_USER = 'cdr'
|
||||||
|
- EXT_REPO = 'code-server'
|
||||||
- CONTAINER_NAME = 'code-server'
|
- CONTAINER_NAME = 'code-server'
|
||||||
- BUILD_VERSION_ARG = 'CODE_RELEASE'
|
- BUILD_VERSION_ARG = 'CODE_RELEASE'
|
||||||
- LS_USER = 'linuxserver'
|
- LS_USER = 'linuxserver'
|
||||||
@@ -17,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'
|
||||||
|
|||||||
@@ -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.3
|
||||||
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.7
|
fdisk2.31.1-0.4ubuntu3.7
|
||||||
|
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.3
|
||||||
|
gnupg-l10n2.2.4-1ubuntu1.3
|
||||||
|
gnupg-utils2.2.4-1ubuntu1.3
|
||||||
|
gpg2.2.4-1ubuntu1.3
|
||||||
|
gpg-agent2.2.4-1ubuntu1.3
|
||||||
|
gpgconf2.2.4-1ubuntu1.3
|
||||||
|
gpgsm2.2.4-1ubuntu1.3
|
||||||
gpgv2.2.4-1ubuntu1.3
|
gpgv2.2.4-1ubuntu1.3
|
||||||
|
gpg-wks-client2.2.4-1ubuntu1.3
|
||||||
|
gpg-wks-server2.2.4-1ubuntu1.3
|
||||||
grep3.1-2build1
|
grep3.1-2build1
|
||||||
gzip1.6-5ubuntu1
|
gzip1.6-5ubuntu1
|
||||||
hostname3.20
|
hostname3.20
|
||||||
@@ -32,15 +43,16 @@ libacl12.2.52-3build1
|
|||||||
libapt-inst2.01.6.12ubuntu0.1
|
libapt-inst2.01.6.12ubuntu0.1
|
||||||
libapt-pkg5.01.6.12ubuntu0.1
|
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
|
||||||
libblkid12.31.1-0.4ubuntu3.7
|
libblkid12.31.1-0.4ubuntu3.7
|
||||||
libbsd00.8.7-1ubuntu0.1
|
libbsd00.8.7-1ubuntu0.1
|
||||||
libbz2-1.01.0.6-8.1ubuntu0.2
|
libbz2-1.01.0.6-8.1ubuntu0.2
|
||||||
libc62.27-3ubuntu1.2
|
libc62.27-3ubuntu1.3
|
||||||
libcap-ng00.7.7-3.1
|
libcap-ng00.7.7-3.1
|
||||||
libc-bin2.27-3ubuntu1.2
|
libc-bin2.27-3ubuntu1.3
|
||||||
libcom-err21.44.1-1ubuntu1.3
|
libcom-err21.44.1-1ubuntu1.3
|
||||||
libcurl3-gnutls7.58.0-2ubuntu3.10
|
libcurl3-gnutls7.58.0-2ubuntu3.10
|
||||||
libcurl47.58.0-2ubuntu3.10
|
libcurl47.58.0-2ubuntu3.10
|
||||||
@@ -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.6
|
libldap-2.4-22.4.45+dfsg-1ubuntu1.6
|
||||||
libldap-common2.4.45+dfsg-1ubuntu1.6
|
libldap-common2.4.45+dfsg-1ubuntu1.6
|
||||||
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.7
|
libmount12.31.1-0.4ubuntu3.7
|
||||||
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.2
|
libpam0g1.1.8-3.6ubuntu2.18.04.2
|
||||||
@@ -92,6 +108,10 @@ libpcre32:8.39-9
|
|||||||
libperl5.265.26.1-6ubuntu0.5
|
libperl5.265.26.1-6ubuntu0.5
|
||||||
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.2
|
||||||
|
libpython2.7-stdlib2.7.17-1~18.04ubuntu1.2
|
||||||
|
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
|
||||||
@@ -108,10 +128,10 @@ libss21.44.1-1ubuntu1.3
|
|||||||
libssl1.0.01.0.2n-1ubuntu5.4
|
libssl1.0.01.0.2n-1ubuntu5.4
|
||||||
libssl1.11.1.1-1ubuntu2.1~18.04.6
|
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.42
|
libsystemd0237-3ubuntu10.43
|
||||||
libtasn1-64.13-2
|
libtasn1-64.13-2
|
||||||
libtinfo56.1-1ubuntu1.18.04
|
libtinfo56.1-1ubuntu1.18.04
|
||||||
libudev1237-3ubuntu10.42
|
libudev1237-3ubuntu10.43
|
||||||
libunistring20.9.9-0ubuntu2
|
libunistring20.9.9-0ubuntu2
|
||||||
libuuid12.31.1-0.4ubuntu3.7
|
libuuid12.31.1-0.4ubuntu3.7
|
||||||
libwind0-heimdal7.5.0+dfsg-1
|
libwind0-heimdal7.5.0+dfsg-1
|
||||||
@@ -123,17 +143,19 @@ libxdmcp61:1.1.2-3
|
|||||||
libxext62:1.3.3-1
|
libxext62:1.3.3-1
|
||||||
libxmuu12:1.1.2-2
|
libxmuu12:1.1.2-2
|
||||||
libzstd11.3.3+dfsg-2ubuntu1.1
|
libzstd11.3.3+dfsg-2ubuntu1.1
|
||||||
locales2.27-3ubuntu1.2
|
locales2.27-3ubuntu1.3
|
||||||
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.7
|
mount2.31.1-0.4ubuntu3.7
|
||||||
multiarch-support2.27-3ubuntu1.2
|
multiarch-support2.27-3ubuntu1.3
|
||||||
nano2.9.3-2
|
nano2.9.3-2
|
||||||
ncurses-base6.1-1ubuntu1.18.04
|
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.19.0-1nodesource1
|
||||||
openssh-client1:7.6p1-4ubuntu0.3
|
openssh-client1:7.6p1-4ubuntu0.3
|
||||||
openssl1.1.1-1ubuntu2.1~18.04.6
|
openssl1.1.1-1ubuntu2.1~18.04.6
|
||||||
passwd1:4.5-1ubuntu2
|
passwd1:4.5-1ubuntu2
|
||||||
@@ -141,8 +163,14 @@ patch2.7.6-2ubuntu1.1
|
|||||||
perl5.26.1-6ubuntu0.5
|
perl5.26.1-6ubuntu0.5
|
||||||
perl-base5.26.1-6ubuntu0.5
|
perl-base5.26.1-6ubuntu0.5
|
||||||
perl-modules-5.265.26.1-6ubuntu0.5
|
perl-modules-5.265.26.1-6ubuntu0.5
|
||||||
|
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.2
|
||||||
|
python2.7-minimal2.7.17-1~18.04ubuntu1.2
|
||||||
|
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.3
|
sudo1.8.21p2-3ubuntu1.3
|
||||||
@@ -152,4 +180,6 @@ tzdata2020d-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.7
|
util-linux2.31.1-0.4ubuntu3.7
|
||||||
xauth1:1.0.10-1
|
xauth1:1.0.10-1
|
||||||
|
xz-utils5.2.2-1.3
|
||||||
|
yarn1.22.5-1
|
||||||
zlib1g1:1.2.11.dfsg-0ubuntu2
|
zlib1g1:1.2.11.dfsg-0ubuntu2
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# project information
|
# project information
|
||||||
project_name: code-server
|
project_name: code-server
|
||||||
project_url: "https://coder.com"
|
project_url: "https://coder.com"
|
||||||
project_logo: "https://github.com/cdr/code-server/raw/master/doc/assets/cli.png"
|
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/code-server-banner.png"
|
||||||
project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) is VS Code running on a remote server, accessible through the browser.
|
project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) 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.
|
||||||
@@ -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
|
||||||
@@ -47,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: ""
|
||||||
@@ -65,7 +68,15 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
- { date: "05.03.20:", desc: "Updates for v3.0.0 (structural changes)." }
|
- { 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: "01.04.20:", desc: "Structural changes required for v3." }
|
||||||
|
- { date: "17.01.20:", desc: "Fix artifact url retrieval from github." }
|
||||||
|
- { date: "24.10.19:", desc: "Upgrade to v2 builds." }
|
||||||
|
- { date: "28.09.19:", desc: "Update project logo." }
|
||||||
|
- { date: "21.09.19:", desc: "Add development builds/tag." }
|
||||||
- { date: "09.07.19:", desc: "Add optional sudo access." }
|
- { date: "09.07.19:", desc: "Add optional sudo access." }
|
||||||
- { date: "01.07.19:", desc: "Add nano." }
|
- { date: "01.07.19:", desc: "Add nano." }
|
||||||
- { date: "24.06.19:", desc: "Initial Release." }
|
- { date: "24.06.19:", desc: "Initial Release." }
|
||||||
|
|||||||
@@ -1,20 +1,25 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
if [ -n "${PASSWORD}" ]; then
|
if [ -n "${PASSWORD}" ]; then
|
||||||
AUTH="password"
|
AUTH="password"
|
||||||
else
|
else
|
||||||
AUTH="none"
|
AUTH="none"
|
||||||
echo "starting with no password"
|
echo "starting with no password"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z ${PROXY_DOMAIN+x} ]; then
|
||||||
|
PROXY_DOMAIN_ARG=""
|
||||||
|
else
|
||||||
|
PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec \
|
exec \
|
||||||
s6-setuidgid abc \
|
s6-setuidgid abc \
|
||||||
/app/code-server/code-server \
|
/usr/local/bin/code-server \
|
||||||
--host 0.0.0.0 \
|
--bind-addr 0.0.0.0:8443 \
|
||||||
--port 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}" \
|
||||||
/config/workspace
|
/config/workspace
|
||||||
|
|||||||
Reference in New Issue
Block a user