Compare commits

..

53 Commits

Author SHA1 Message Date
LinuxServer-CI
2c507c45fc Bot Updating Package Versions 2020-11-02 21:08:14 +00:00
LinuxServer-CI
c81572f769 Bot Updating Package Versions 2020-11-02 10:27:36 -05:00
LinuxServer-CI
fe6331624d Bot Updating Templated Files 2020-11-02 15:17:19 +00:00
thelamer
aa74cb4c20 update baseimages 2020-11-02 07:13:45 -08:00
LinuxServer-CI
3124dee793 Bot Updating Templated Files 2020-10-15 15:36:58 -04:00
LinuxServer-CI
5e14620ce5 Bot Updating Templated Files 2020-10-15 19:35:51 +00:00
LinuxServer-CI
d09295cf56 Bot Updating Package Versions 2020-07-27 20:08:20 +00:00
LinuxServer-CI
8e806d6eea Bot Updating Package Versions 2020-07-20 20:07:25 +00:00
LinuxServer-CI
bc6b61c5bf Bot Updating Package Versions 2020-07-13 16:06:35 -04:00
LinuxServer-CI
5da5d93865 Bot Updating Package Versions 2020-07-06 22:06:27 +02:00
LinuxServer-CI
85b6dcbaa7 Bot Updating Package Versions 2020-06-29 16:06:32 -04:00
LinuxServer-CI
e8de99a9bb Bot Updating Package Versions 2020-06-15 22:06:18 +02:00
LinuxServer-CI
f904476d4b Bot Updating Package Versions 2020-06-08 20:07:46 +00:00
LinuxServer-CI
c07085d58f Bot Updating Templated Files 2020-06-08 20:06:13 +00:00
LinuxServer-CI
6270770354 Bot Updating Package Versions 2020-06-01 16:07:59 -04:00
LinuxServer-CI
d41cbcc320 Bot Updating Templated Files 2020-06-01 16:05:53 -04:00
LinuxServer-CI
a83a454621 Bot Updating Package Versions 2020-05-25 20:06:29 +00:00
LinuxServer-CI
520ccdb617 Bot Updating Package Versions 2020-05-18 20:06:30 +00:00
LinuxServer-CI
f401e148dd Bot Updating Templated Files 2020-05-04 20:05:45 +00:00
LinuxServer-CI
7cb3e32056 Bot Updating Package Versions 2020-04-27 20:06:54 +00:00
LinuxServer-CI
70d8756cac Bot Updating Package Versions 2020-04-20 20:06:58 +00:00
LinuxServer-CI
655c9da33b Bot Updating Package Versions 2020-04-13 15:08:17 -05:00
LinuxServer-CI
1f5b7ba6fa Bot Updating Templated Files 2020-04-13 15:06:01 -05:00
LinuxServer-CI
c102fd7b4e Bot Updating Package Versions 2020-03-27 17:35:44 -04:00
LinuxServer-CI
cc35b920a5 Bot Updating Package Versions 2020-03-23 22:06:52 +01:00
LinuxServer-CI
1d9b0c83d4 Bot Updating Package Versions 2020-03-16 17:06:25 -04:00
aptalca
09bad650e1 Merge pull request #22 from linuxserver/dev-3.0.0
structural changes for v3.0.0
2020-03-05 16:36:40 -05:00
aptalca
f99051341c structural changes for v3.0.0 2020-03-05 16:15:55 -05:00
LinuxServer-CI
aa80452d08 Bot Updating Package Versions 2020-02-24 21:06:44 +00:00
LinuxServer-CI
caf94b997f Bot Updating Package Versions 2020-02-17 21:06:57 +00:00
LinuxServer-CI
e4cc20ede4 Bot Updating Package Versions 2020-02-10 21:06:23 +00:00
LinuxServer-CI
2b8839db4a Bot Updating Package Versions 2020-02-03 21:07:36 +00:00
LinuxServer-CI
be138a477d Bot Updating Package Versions 2020-01-27 21:06:46 +00:00
LinuxServer-CI
e447849063 Bot Updating Package Versions 2020-01-20 16:07:18 -05:00
LinuxServer-CI
6a67965fbd Bot Updating Package Versions 2019-12-16 22:08:38 +01:00
LinuxServer-CI
35c9202c62 Bot Updating Package Versions 2019-12-09 21:06:31 +00:00
LinuxServer-CI
3e4e9c9a93 Bot Updating Templated Files 2019-12-02 21:05:48 +00:00
LinuxServer-CI
fb8ac56832 Bot Updating Package Versions 2019-11-25 16:06:16 -05:00
LinuxServer-CI
67730f209c Bot Updating Package Versions 2019-11-04 22:07:41 +01:00
LinuxServer-CI
92d78454c4 Bot Updating Templated Files 2019-11-04 22:05:48 +01:00
LinuxServer-CI
34b26c56c7 Bot Updating Package Versions 2019-10-21 16:06:33 -04:00
LinuxServer-CI
b4dc85eef0 Bot Updating Package Versions 2019-10-14 16:07:47 -04:00
LinuxServer-CI
8655d63538 Bot Updating Package Versions 2019-10-10 10:35:02 -04:00
aptalca
2fd1e8b457 fix formatting 2019-10-10 07:33:13 -07:00
aptalca
1a822f0c81 disable updates 2019-10-10 07:33:13 -07:00
LinuxServer-CI
99ba918570 Bot Updating Package Versions 2019-10-07 21:09:02 +01:00
LinuxServer-CI
f06dca6272 Bot Updating Templated Files 2019-10-07 21:07:34 +01:00
LinuxServer-CI
a629cfb790 Bot Updating Templated Files 2019-10-07 16:06:43 -04:00
chbmb
732b1ca922 Merge pull request #10 from linuxserver/telemetry
disable telemetry
2019-09-23 20:13:26 +01:00
aptalca
c1faf7ecbe disable telemetry 2019-09-23 15:06:37 -04:00
aptalca
35b8e16e5f fix arguments for v2 2019-09-22 21:47:48 -07:00
LinuxServer-CI
ed4efdca09 Bot Updating Package Versions 2019-09-18 22:32:53 +01:00
aptalca
6bf1eb5d73 create development builds 2019-09-18 14:31:19 -07:00
13 changed files with 85 additions and 504 deletions

View File

@@ -1,82 +0,0 @@
name: External Trigger Main
on:
workflow_dispatch:
jobs:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: External Trigger
if: github.ref == 'refs/heads/master'
run: |
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER }}" ]; then
echo "Github secret PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER is set; skipping trigger."
exit 0
fi
echo "External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_CODE_SERVER_MASTER\"."
echo "Retrieving external version"
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" | jq -r '. | .tag_name')
if [ -z "${EXT_RELEASE}" ]; then
echo "Can't retrieve external version, exiting"
FAILURE_REASON="Can't retrieve external version for code-server branch master"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
echo "External version: ${EXT_RELEASE}"
echo "Retrieving last pushed version"
image="linuxserver/code-server"
tag="latest"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fcode-server%3Apull" \
| jq -r '.token')
multidigest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${tag}" \
| jq -r 'first(.manifests[].digest)')
digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
| jq -r '.config.digest')
image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/blobs/${digest}" \
| jq -r '.container_config')
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
if [ -z "${IMAGE_VERSION}" ]; then
echo "Can't retrieve last pushed version, exiting"
FAILURE_REASON="Can't retrieve last pushed version for code-server tag latest"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
echo "Last pushed version: ${IMAGE_VERSION}"
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "Version ${EXT_RELEASE} already pushed, exiting"
exit 0
else
echo "New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build"
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/buildWithParameters?PACKAGE_CHECK=false \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
echo "Notifying Discord"
TRIGGER_REASON="A version change was detected for code-server tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi

View File

@@ -1,43 +0,0 @@
name: External Trigger Scheduler
on:
schedule:
- cron: '41 * * * *'
workflow_dispatch:
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
with:
fetch-depth: '0'
- name: External Trigger Scheduler
run: |
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/jenkins-vars.yml \
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
if [ "$br" == "$ls_branch" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****."
curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-code-server/actions/workflows/external_trigger.yml/dispatches
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
fi
else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
fi
done

View File

@@ -1,29 +0,0 @@
name: Package Trigger Main
on:
workflow_dispatch:
jobs:
package-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: Package Trigger
if: github.ref == 'refs/heads/master'
run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER }}" ]; then
echo "Github secret PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER is set; skipping trigger."
exit 0
fi
echo "Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_CODE_SERVER_MASTER\"."
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"

View File

@@ -1,44 +0,0 @@
name: Package Trigger Scheduler
on:
schedule:
- cron: '04 6 * * 6'
workflow_dispatch:
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
with:
fetch-depth: '0'
- name: Package Trigger Scheduler
run: |
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/jenkins-vars.yml \
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
if [ "${br}" == "${ls_branch}" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-code-server/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****"
curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-code-server/actions/workflows/package_trigger.yml/dispatches
sleep 30
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
fi
else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
fi
done

View File

@@ -11,49 +11,28 @@ LABEL maintainer="aptalca"
ENV HOME="/config"
RUN \
echo "**** install node repo ****" && \
echo "**** install dependencies ****" && \
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 && \
sudo && \
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='[""]'); \
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases" \
| jq -r 'first(.[] | select(.prerelease == true)) | .tag_name'); \
fi && \
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
yarn --production --frozen-lockfile global add code-server@"$CODE_VERSION" && \
yarn cache clean && \
CODE_URL=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/tags/${CODE_RELEASE}" \
| jq -r '.assets[] | select(.browser_download_url | contains("linux-x86_64")) | .browser_download_url') && \
mkdir -p /app/code-server && \
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 ****" && \
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/* \

View File

@@ -1,66 +0,0 @@
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

View File

@@ -1,66 +0,0 @@
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
View File

@@ -16,9 +16,8 @@ pipeline {
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
EXT_GIT_BRANCH = 'master'
EXT_USER = 'cdr'
EXT_REPO = 'code-server'
JSON_URL = 'https://api.github.com/repos/cdr/code-server/releases'
JSON_PATH = 'first(.[] | select(.prerelease == true)) | .tag_name'
CONTAINER_NAME = 'code-server'
BUILD_VERSION_ARG = 'CODE_RELEASE'
LS_USER = 'linuxserver'
@@ -27,7 +26,7 @@ pipeline {
DEV_DOCKERHUB_IMAGE = 'lsiodev/code-server'
PR_DOCKERHUB_IMAGE = 'lspipepr/code-server'
DIST_IMAGE = 'ubuntu'
MULTIARCH='true'
MULTIARCH='false'
CI='true'
CI_WEB='true'
CI_PORT='8443'
@@ -44,7 +43,7 @@ pipeline {
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
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' || : ''',
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' || : ''',
returnStdout: true).trim()
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' ''',
@@ -101,21 +100,14 @@ pipeline {
/* ########################
External Release Tagging
######################## */
// If this is a stable github release use the latest endpoint from github to determine the ext tag
stage("Set ENV github_stable"){
// If this is a custom json endpoint parse the return to get external tag
stage("Set ENV custom_json"){
steps{
script{
env.EXT_RELEASE = sh(
script: '''curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. | .tag_name' ''',
script: '''curl -s ${JSON_URL} | jq -r ". | ${JSON_PATH}" ''',
returnStdout: true).trim()
}
}
}
// 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
env.RELEASE_LINK = env.JSON_URL
}
}
}
@@ -129,10 +121,10 @@ pipeline {
}
}
}
// If this is a master build use live docker endpoints
// If this is a development build use live docker endpoints
stage("Set ENV live build"){
when {
branch "master"
branch "development"
environment name: 'CHANGE_ID', value: ''
}
steps {
@@ -153,7 +145,7 @@ pipeline {
// If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){
when {
not {branch "master"}
not {branch "development"}
environment name: 'CHANGE_ID', value: ''
}
steps {
@@ -226,7 +218,7 @@ pipeline {
// Use helper containers to render templated files
stage('Update-Templates') {
when {
branch "master"
branch "development"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
@@ -237,7 +229,7 @@ pipeline {
set -e
TEMPDIR=$(mktemp -d)
docker pull 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
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=development -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
@@ -245,7 +237,7 @@ pipeline {
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
git checkout -f development
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
@@ -277,7 +269,7 @@ pipeline {
// Exit the build if the Templated files were just updated
stage('Template-exit') {
when {
branch "master"
branch "development"
environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true'
expression {
@@ -382,7 +374,7 @@ pipeline {
// Take the image we just built and dump package versions for comparison
stage('Update-packages') {
when {
branch "master"
branch "development"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
@@ -410,7 +402,7 @@ pipeline {
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
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f development
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/
wait
@@ -434,7 +426,7 @@ pipeline {
// Exit the build if the package file was just updated
stage('PACKAGE-exit') {
when {
branch "master"
branch "development"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: ''
@@ -448,7 +440,7 @@ pipeline {
// Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') {
when {
branch "master"
branch "development"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: ''
@@ -537,9 +529,9 @@ pipeline {
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:development
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
docker push ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:development
docker push ${PUSHIMAGE}:${META_TAG}
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
done
@@ -550,7 +542,7 @@ pipeline {
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
${DELETEIMAGE}:latest || :
${DELETEIMAGE}:development || :
done
'''
}
@@ -587,25 +579,25 @@ pipeline {
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-development
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-development
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-development
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}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:amd64-development
docker push ${MANIFESTIMAGE}:arm32v7-development
docker push ${MANIFESTIMAGE}:arm64v8-development
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:development || :
docker manifest create ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:amd64-development ${MANIFESTIMAGE}:arm32v7-development ${MANIFESTIMAGE}:arm64v8-development
docker manifest annotate ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:arm32v7-development --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:arm64v8-development --os linux --arch arm64 --variant v8
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 annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
@@ -613,7 +605,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 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 push --purge ${MANIFESTIMAGE}:latest
docker manifest push --purge ${MANIFESTIMAGE}:development
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
done
@@ -623,11 +615,11 @@ pipeline {
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-latest \
${DELETEIMAGE}:amd64-development \
${DELETEIMAGE}:arm32v7-${META_TAG} \
${DELETEIMAGE}:arm32v7-latest \
${DELETEIMAGE}:arm32v7-development \
${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-latest || :
${DELETEIMAGE}:arm64v8-development || :
done
docker rmi \
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
@@ -639,7 +631,7 @@ pipeline {
// If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') {
when {
branch "master"
branch "development"
expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
@@ -651,17 +643,17 @@ pipeline {
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}'",\
"object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to development",\
"type": "commit",\
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag"
sh '''#! /bin/bash
curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
echo "Data change at JSON endpoint ${JSON_URL}" > releasebody.json
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"target_commitish": "master",\
"target_commitish": "development",\
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": false}' >> releasebody.json
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": true}' >> releasebody.json
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'''
}

View File

@@ -35,7 +35,7 @@ Find us at:
[![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")
[![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 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)
[![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/)
[![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%2Fdevelopment%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/development/)
[![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%2Fci-tests.linuxserver.io%2Flinuxserver%2Fcode-server%2Flatest%2Fci-status.yml)](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.
@@ -46,7 +46,7 @@ Find us at:
- All intensive computation runs on your server.
- You're no longer running excess instances of Chrome.
[![code-server](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/code-server-banner.png)](https://coder.com)
[![code-server](https://github.com/cdr/code-server/raw/master/doc/assets/cli.png)](https://coder.com)
## Supported Architectures
@@ -59,8 +59,6 @@ The architectures supported by this image are:
| Architecture | Tag |
| :----: | --- |
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
## Version Tags
@@ -69,7 +67,7 @@ This image provides various versions that are available via tags. `latest` tag u
| Tag | Description |
| :----: | --- |
| latest | Stable releases |
| development | DEPRECATED (no longer updated) - Prereleases from their GitHub |
| development | Prereleases from their GitHub |
## Usage
@@ -92,7 +90,6 @@ services:
- TZ=Europe/London
- PASSWORD=password #optional
- SUDO_PASSWORD=password #optional
- PROXY_DOMAIN=code-server.my.domain #optional
volumes:
- /path/to/appdata/config:/config
ports:
@@ -110,7 +107,6 @@ docker run -d \
-e TZ=Europe/London \
-e PASSWORD=password `#optional` \
-e SUDO_PASSWORD=password `#optional` \
-e PROXY_DOMAIN=code-server.my.domain `#optional` \
-p 8443:8443 \
-v /path/to/appdata/config:/config \
--restart unless-stopped \
@@ -130,7 +126,6 @@ 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 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 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. |
## Environment variables from files (Docker secrets)
@@ -247,15 +242,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## 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.
* **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.
* **05.03.20:** - Updates for v3.0.0 (structural changes).
* **09.07.19:** - Add optional sudo access.
* **01.07.19:** - Add nano.
* **24.06.19:** - Initial Release.

View File

@@ -2,14 +2,13 @@
# jenkins variables
project_name: docker-code-server
external_type: github_stable
release_type: stable
release_tag: latest
ls_branch: master
external_type: custom_json
release_type: prerelease
release_tag: development
ls_branch: development
repo_vars:
- EXT_GIT_BRANCH = 'master'
- EXT_USER = 'cdr'
- EXT_REPO = 'code-server'
- JSON_URL = 'https://api.github.com/repos/cdr/code-server/releases'
- JSON_PATH = 'first(.[] | select(.prerelease == true)) | .tag_name'
- CONTAINER_NAME = 'code-server'
- BUILD_VERSION_ARG = 'CODE_RELEASE'
- LS_USER = 'linuxserver'
@@ -18,7 +17,7 @@ repo_vars:
- DEV_DOCKERHUB_IMAGE = 'lsiodev/code-server'
- PR_DOCKERHUB_IMAGE = 'lspipepr/code-server'
- DIST_IMAGE = 'ubuntu'
- MULTIARCH='true'
- MULTIARCH='false'
- CI='true'
- CI_WEB='true'
- CI_PORT='8443'

View File

@@ -13,44 +13,32 @@ dash0.5.8-2.10
debconf1.5.66ubuntu1
debianutils4.8.4
diffutils1:3.6-1
dirmngr2.2.4-1ubuntu1.3
dpkg1.19.0.5ubuntu2.3
e2fsprogs1.44.1-1ubuntu1.3
fdisk2.31.1-0.4ubuntu3.7
file1:5.32-2ubuntu0.4
findutils4.6.0+git+20170828-2
gcc-8-base8.4.0-1ubuntu1~18.04
git1: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
gpg-wks-client2.2.4-1ubuntu1.3
gpg-wks-server2.2.4-1ubuntu1.3
grep3.1-2build1
gzip1.6-5ubuntu1
hostname3.20
init-system-helpers1.51
jq1.5+dfsg-2
krb5-locales1.16-2ubuntu0.2
krb5-locales1.16-2ubuntu0.1
less487-0.1
libacl12.2.52-3build1
libapt-inst2.01.6.12ubuntu0.1
libapt-pkg5.01.6.12ubuntu0.1
libasn1-8-heimdal7.5.0+dfsg-1
libassuan02.5.1-2
libattr11:2.4.47-2build1
libaudit11:2.8.2-1ubuntu1
libaudit-common1:2.8.2-1ubuntu1
libblkid12.31.1-0.4ubuntu3.7
libbsd00.8.7-1ubuntu0.1
libbz2-1.01.0.6-8.1ubuntu0.2
libc62.27-3ubuntu1.3
libc62.27-3ubuntu1.2
libcap-ng00.7.7-3.1
libc-bin2.27-3ubuntu1.2
libcom-err21.44.1-1ubuntu1.3
@@ -72,7 +60,7 @@ libgmp102:6.1.2+dfsg-2
libgnutls303.5.18-1ubuntu1.4
libgpg-error01.27-6
libgssapi3-heimdal7.5.0+dfsg-1
libgssapi-krb5-21.16-2ubuntu0.2
libgssapi-krb5-21.16-2ubuntu0.1
libhcrypto4-heimdal7.5.0+dfsg-1
libheimbase1-heimdal7.5.0+dfsg-1
libheimntlm0-heimdal7.5.0+dfsg-1
@@ -80,24 +68,20 @@ libhogweed43.4-1
libhx509-5-heimdal7.5.0+dfsg-1
libidn2-02.0.4-1.1ubuntu0.2
libjq11.5+dfsg-2
libk5crypto31.16-2ubuntu0.2
libk5crypto31.16-2ubuntu0.1
libkeyutils11.5.9-9.2ubuntu2
libkrb5-26-heimdal7.5.0+dfsg-1
libkrb5-31.16-2ubuntu0.2
libkrb5support01.16-2ubuntu0.2
libksba81.3.5-2
libldap-2.4-22.4.45+dfsg-1ubuntu1.8
libldap-common2.4.45+dfsg-1ubuntu1.8
libkrb5-31.16-2ubuntu0.1
libkrb5support01.16-2ubuntu0.1
libldap-2.4-22.4.45+dfsg-1ubuntu1.6
libldap-common2.4.45+dfsg-1ubuntu1.6
liblz4-10.0~r131-2ubuntu3
liblzma55.2.2-1.3
libmagic11:5.32-2ubuntu0.4
libmagic-mgc1:5.32-2ubuntu0.4
libmount12.31.1-0.4ubuntu3.7
libncurses56.1-1ubuntu1.18.04
libncursesw56.1-1ubuntu1.18.04
libnettle63.4-1
libnghttp2-141.30.0-1ubuntu1
libnpth01.5-3
libonig46.7.0-1
libp11-kit00.23.9-2
libpam0g1.1.8-3.6ubuntu2.18.04.2
@@ -108,10 +92,6 @@ libpcre32:8.39-9
libperl5.265.26.1-6ubuntu0.5
libprocps62:3.3.12-3ubuntu1.2
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
librtmp12.4+20151223.gitfa8646d.1-1
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.1
@@ -143,11 +123,10 @@ libxdmcp61:1.1.2-3
libxext62:1.3.3-1
libxmuu12:1.1.2-2
libzstd11.3.3+dfsg-2ubuntu1.1
locales2.27-3ubuntu1.3
locales2.27-3ubuntu1.2
login1:4.5-1ubuntu2
lsb-base9.20170808ubuntu1
mawk1.3.3-17ubuntu3
mime-support3.60ubuntu1
mount2.31.1-0.4ubuntu3.7
multiarch-support2.27-3ubuntu1.3
nano2.9.3-2
@@ -155,7 +134,6 @@ ncurses-base6.1-1ubuntu1.18.04
ncurses-bin6.1-1ubuntu1.18.04
netbase5.4
net-tools1.60+git20161116.90da8a0-1ubuntu1
nodejs12.19.1-1nodesource1
openssh-client1:7.6p1-4ubuntu0.3
openssl1.1.1-1ubuntu2.1~18.04.6
passwd1:4.5-1ubuntu2
@@ -163,14 +141,8 @@ patch2.7.6-2ubuntu1.1
perl5.26.1-6ubuntu0.5
perl-base5.26.1-6ubuntu0.5
perl-modules-5.265.26.1-6ubuntu0.5
pinentry-curses1.1.0-1
procps2:3.3.12-3ubuntu1.2
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
sensible-utils0.0.12
sudo1.8.21p2-3ubuntu1.3
@@ -180,6 +152,4 @@ tzdata2020d-0ubuntu0.18.04
ubuntu-keyring2018.09.18.1~18.04.0
util-linux2.31.1-0.4ubuntu3.7
xauth1:1.0.10-1
xz-utils5.2.2-1.3
yarn1.22.5-1
zlib1g1:1.2.11.dfsg-0ubuntu2

View File

@@ -3,7 +3,7 @@
# project information
project_name: code-server
project_url: "https://coder.com"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/code-server-banner.png"
project_logo: "https://github.com/cdr/code-server/raw/master/doc/assets/cli.png"
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.
@@ -22,14 +22,12 @@ project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_
# supported architectures
available_architectures:
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
# development version
development_versions: true
development_versions_items:
- { tag: "latest", desc: "Stable releases" }
- { tag: "development", desc: "DEPRECATED (no longer updated) - Prereleases from their GitHub" }
- { tag: "development", desc: "Prereleases from their GitHub" }
# container parameters
common_param_env_vars_enabled: true
@@ -49,7 +47,6 @@ opt_param_usage_include_env: true
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: "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_items: ""
@@ -68,15 +65,7 @@ app_setup_block: |
# changelog
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: "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: "05.03.20:", desc: "Updates for v3.0.0 (structural changes)." }
- { date: "09.07.19:", desc: "Add optional sudo access." }
- { date: "01.07.19:", desc: "Add nano." }
- { date: "24.06.19:", desc: "Initial Release." }

View File

@@ -1,25 +1,20 @@
#!/usr/bin/with-contenv bash
if [ -n "${PASSWORD}" ]; then
AUTH="password"
AUTH="password"
else
AUTH="none"
echo "starting with no password"
fi
if [ -z ${PROXY_DOMAIN+x} ]; then
PROXY_DOMAIN_ARG=""
else
PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}"
AUTH="none"
echo "starting with no password"
fi
exec \
s6-setuidgid abc \
/usr/local/bin/code-server \
--bind-addr 0.0.0.0:8443 \
/app/code-server/code-server \
--host 0.0.0.0 \
--port 8443 \
--user-data-dir /config/data \
--extensions-dir /config/extensions \
--disable-telemetry \
--auth "${AUTH}" \
"${PROXY_DOMAIN_ARG}" \
--disable-updates \
--auth ${AUTH} \
/config/workspace