mirror of
https://github.com/linuxserver/docker-code-server
synced 2025-06-26 18:27:40 +00:00
Compare commits
17 Commits
v3.8.0-ls6
...
v3.9.2-ls7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d4bea6c59a | ||
|
|
b87bd04166 | ||
|
|
8d310702da | ||
|
|
b918abc1b0 | ||
|
|
19bd4c6ae2 | ||
|
|
47bbeab80b | ||
|
|
03f4bd213b | ||
|
|
d802e75230 | ||
|
|
dddc00f810 | ||
|
|
3fe1085473 | ||
|
|
ce5a484a38 | ||
|
|
c738bbed06 | ||
|
|
8739d5dc9b | ||
|
|
9e2af03f56 | ||
|
|
37fd58ddf7 | ||
|
|
eaed61f4d2 | ||
|
|
182d211507 |
2
.github/workflows/external_trigger.yml
vendored
2
.github/workflows/external_trigger.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
|||||||
fi
|
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 "**** 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 ****"
|
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')
|
EXT_RELEASE=$(curl -sX GET https://registry.yarnpkg.com/code-server | jq -r '."dist-tags".latest' | sed 's|^|v|')
|
||||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||||
echo "**** Can't retrieve external version, exiting ****"
|
echo "**** Can't retrieve external version, exiting ****"
|
||||||
FAILURE_REASON="Can't retrieve external version for code-server branch master"
|
FAILURE_REASON="Can't retrieve external version for code-server branch master"
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -41,3 +41,4 @@ $RECYCLE.BIN/
|
|||||||
Network Trash Folder
|
Network Trash Folder
|
||||||
Temporary Items
|
Temporary Items
|
||||||
.apdisk
|
.apdisk
|
||||||
|
.jenkins-external
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ RUN \
|
|||||||
yarn && \
|
yarn && \
|
||||||
echo "**** install code-server ****" && \
|
echo "**** install code-server ****" && \
|
||||||
if [ -z ${CODE_RELEASE+x} ]; then \
|
if [ -z ${CODE_RELEASE+x} ]; then \
|
||||||
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
|
CODE_RELEASE=$(curl -sX GET https://registry.yarnpkg.com/code-server \
|
||||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
| jq -r '."dist-tags".latest' | sed 's|^|v|'); \
|
||||||
fi && \
|
fi && \
|
||||||
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
||||||
yarn config set network-timeout 600000 -g && \
|
yarn config set network-timeout 600000 -g && \
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ RUN \
|
|||||||
yarn && \
|
yarn && \
|
||||||
echo "**** install code-server ****" && \
|
echo "**** install code-server ****" && \
|
||||||
if [ -z ${CODE_RELEASE+x} ]; then \
|
if [ -z ${CODE_RELEASE+x} ]; then \
|
||||||
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
|
CODE_RELEASE=$(curl -sX GET https://registry.yarnpkg.com/code-server \
|
||||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
| jq -r '."dist-tags".latest' | sed 's|^|v|'); \
|
||||||
fi && \
|
fi && \
|
||||||
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
||||||
yarn config set network-timeout 600000 -g && \
|
yarn config set network-timeout 600000 -g && \
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ RUN \
|
|||||||
yarn && \
|
yarn && \
|
||||||
echo "**** install code-server ****" && \
|
echo "**** install code-server ****" && \
|
||||||
if [ -z ${CODE_RELEASE+x} ]; then \
|
if [ -z ${CODE_RELEASE+x} ]; then \
|
||||||
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
|
CODE_RELEASE=$(curl -sX GET https://registry.yarnpkg.com/code-server \
|
||||||
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
| jq -r '."dist-tags".latest' | sed 's|^|v|'); \
|
||||||
fi && \
|
fi && \
|
||||||
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
|
||||||
yarn config set network-timeout 600000 -g && \
|
yarn config set network-timeout 600000 -g && \
|
||||||
|
|||||||
111
Jenkinsfile
vendored
111
Jenkinsfile
vendored
@@ -16,9 +16,6 @@ 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')
|
||||||
EXT_GIT_BRANCH = 'master'
|
|
||||||
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'
|
||||||
@@ -101,23 +98,16 @@ pipeline {
|
|||||||
/* ########################
|
/* ########################
|
||||||
External Release Tagging
|
External Release Tagging
|
||||||
######################## */
|
######################## */
|
||||||
// If this is a stable github release use the latest endpoint from github to determine the ext tag
|
// If this is a custom command to determine version use that command
|
||||||
stage("Set ENV github_stable"){
|
stage("Set tag custom bash"){
|
||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
env.EXT_RELEASE = sh(
|
env.EXT_RELEASE = sh(
|
||||||
script: '''curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. | .tag_name' ''',
|
script: ''' curl -sX GET https://registry.yarnpkg.com/code-server | jq -r '."dist-tags".latest' | sed 's|^|v|' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
}
|
env.RELEASE_LINK = 'custom_command'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// Sanitize the release tag and strip illegal docker or github characters
|
// Sanitize the release tag and strip illegal docker or github characters
|
||||||
stage("Sanitize tag"){
|
stage("Sanitize tag"){
|
||||||
@@ -241,10 +231,53 @@ pipeline {
|
|||||||
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=master -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
|
||||||
|
# Stage 1 - Jenkinsfile update
|
||||||
|
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
|
||||||
|
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
|
||||||
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
|
git add Jenkinsfile
|
||||||
|
git commit -m 'Bot Updating Templated Files'
|
||||||
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
||||||
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
|
echo "Updating Jenkinsfile"
|
||||||
|
rm -Rf ${TEMPDIR}
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "Jenkinsfile is up to date."
|
||||||
|
fi
|
||||||
|
# Stage 2 - Delete old templates
|
||||||
|
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md"
|
||||||
|
for i in ${OLD_TEMPLATES}; do
|
||||||
|
if [[ -f "${i}" ]]; then
|
||||||
|
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
|
||||||
|
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
|
||||||
|
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||||
|
for i in ${TEMPLATES_TO_DELETE}; do
|
||||||
|
git rm "${i}"
|
||||||
|
done
|
||||||
|
git commit -m 'Bot Updating Templated Files'
|
||||||
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
||||||
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
|
echo "Deleting old templates"
|
||||||
|
rm -Rf ${TEMPDIR}
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "No templates to delete"
|
||||||
|
fi
|
||||||
|
# Stage 3 - Update templates
|
||||||
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)
|
||||||
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]]; then
|
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
|
||||||
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}
|
||||||
@@ -252,11 +285,13 @@ pipeline {
|
|||||||
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
|
||||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
||||||
rm -f ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE.md
|
|
||||||
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
|
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}/
|
cd ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
|
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
|
||||||
|
echo ".jenkins-external" >> .gitignore
|
||||||
|
git add .gitignore
|
||||||
|
fi
|
||||||
git add ${TEMPLATED_FILES}
|
git add ${TEMPLATED_FILES}
|
||||||
git rm .github/ISSUE_TEMPLATE.md || :
|
|
||||||
git commit -m 'Bot Updating Templated Files'
|
git commit -m 'Bot Updating Templated Files'
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
@@ -265,8 +300,8 @@ pipeline {
|
|||||||
fi
|
fi
|
||||||
mkdir -p ${TEMPDIR}/gitbook
|
mkdir -p ${TEMPDIR}/gitbook
|
||||||
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
|
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
|
||||||
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
|
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
|
||||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
|
||||||
cd ${TEMPDIR}/gitbook/docker-documentation/
|
cd ${TEMPDIR}/gitbook/docker-documentation/
|
||||||
git add images/docker-${CONTAINER_NAME}.md
|
git add images/docker-${CONTAINER_NAME}.md
|
||||||
git commit -m 'Bot Updating Documentation'
|
git commit -m 'Bot Updating Documentation'
|
||||||
@@ -276,13 +311,13 @@ pipeline {
|
|||||||
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
|
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
|
||||||
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
|
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
|
||||||
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
|
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
|
||||||
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml
|
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
|
||||||
fi
|
fi
|
||||||
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
|
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
|
||||||
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
|
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
|
||||||
echo "Image is on the ignore list, skipping Unraid template upload"
|
echo "Image is on the ignore list, skipping Unraid template upload"
|
||||||
else
|
else
|
||||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
|
||||||
cd ${TEMPDIR}/unraid/templates/
|
cd ${TEMPDIR}/unraid/templates/
|
||||||
git add unraid/${CONTAINER_NAME}.xml
|
git add unraid/${CONTAINER_NAME}.xml
|
||||||
git commit -m 'Bot Updating Unraid Template'
|
git commit -m 'Bot Updating Unraid Template'
|
||||||
@@ -522,7 +557,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
set -e
|
set -e
|
||||||
docker pull ghcr.io/linuxserver/lsiodev-ci:latest
|
docker pull ghcr.io/linuxserver/ci:latest
|
||||||
if [ "${MULTIARCH}" == "true" ]; then
|
if [ "${MULTIARCH}" == "true" ]; then
|
||||||
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
@@ -547,7 +582,7 @@ pipeline {
|
|||||||
-e WEB_PATH=\"${CI_WEBPATH}\" \
|
-e WEB_PATH=\"${CI_WEBPATH}\" \
|
||||||
-e DO_REGION="ams3" \
|
-e DO_REGION="ams3" \
|
||||||
-e DO_BUCKET="lsio-ci" \
|
-e DO_BUCKET="lsio-ci" \
|
||||||
-t ghcr.io/linuxserver/lsiodev-ci:latest \
|
-t ghcr.io/linuxserver/ci:latest \
|
||||||
python /ci/ci.py'''
|
python /ci/ci.py'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -692,20 +727,20 @@ pipeline {
|
|||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}"
|
echo "Pushing New tag for current commit ${META_TAG}"
|
||||||
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":"'${META_TAG}'",\
|
||||||
"object": "'${COMMIT_SHA}'",\
|
"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 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
|
||||||
curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
|
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||||
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
echo '{"tag_name":"'${META_TAG}'",\
|
||||||
"target_commitish": "master",\
|
"target_commitish": "master",\
|
||||||
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
"name": "'${META_TAG}'",\
|
||||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
|
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
|
||||||
printf '","draft": false,"prerelease": false}' >> 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'''
|
||||||
@@ -731,7 +766,7 @@ pipeline {
|
|||||||
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="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
docker pull ghcr.io/linuxserver/lsiodev-readme-sync
|
docker pull ghcr.io/linuxserver/readme-sync
|
||||||
docker run --rm=true \
|
docker run --rm=true \
|
||||||
-e DOCKERHUB_USERNAME=$DOCKERUSER \
|
-e DOCKERHUB_USERNAME=$DOCKERUSER \
|
||||||
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
|
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
|
||||||
@@ -739,7 +774,7 @@ pipeline {
|
|||||||
-e DOCKER_REPOSITORY=${IMAGE} \
|
-e DOCKER_REPOSITORY=${IMAGE} \
|
||||||
-e GIT_BRANCH=master \
|
-e GIT_BRANCH=master \
|
||||||
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
|
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
|
||||||
ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
|
ghcr.io/linuxserver/readme-sync bash -c 'node sync'
|
||||||
rm -Rf ${TEMPDIR} '''
|
rm -Rf ${TEMPDIR} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
19
README.md
19
README.md
@@ -91,6 +91,7 @@ services:
|
|||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=Europe/London
|
- TZ=Europe/London
|
||||||
- PASSWORD=password #optional
|
- PASSWORD=password #optional
|
||||||
|
- HASHED_PASSWORD= #optional
|
||||||
- SUDO_PASSWORD=password #optional
|
- SUDO_PASSWORD=password #optional
|
||||||
- SUDO_PASSWORD_HASH= #optional
|
- SUDO_PASSWORD_HASH= #optional
|
||||||
- PROXY_DOMAIN=code-server.my.domain #optional
|
- PROXY_DOMAIN=code-server.my.domain #optional
|
||||||
@@ -110,6 +111,7 @@ docker run -d \
|
|||||||
-e PGID=1000 \
|
-e PGID=1000 \
|
||||||
-e TZ=Europe/London \
|
-e TZ=Europe/London \
|
||||||
-e PASSWORD=password `#optional` \
|
-e PASSWORD=password `#optional` \
|
||||||
|
-e HASHED_PASSWORD= `#optional` \
|
||||||
-e SUDO_PASSWORD=password `#optional` \
|
-e SUDO_PASSWORD=password `#optional` \
|
||||||
-e SUDO_PASSWORD_HASH= `#optional` \
|
-e SUDO_PASSWORD_HASH= `#optional` \
|
||||||
-e PROXY_DOMAIN=code-server.my.domain `#optional` \
|
-e PROXY_DOMAIN=code-server.my.domain `#optional` \
|
||||||
@@ -130,7 +132,8 @@ Container images are configured using parameters passed at runtime (such as thos
|
|||||||
| `-e PUID=1000` | for UserID - see below for explanation |
|
| `-e PUID=1000` | for UserID - see below for explanation |
|
||||||
| `-e PGID=1000` | for GroupID - see below for explanation |
|
| `-e PGID=1000` | for GroupID - see below for explanation |
|
||||||
| `-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 `PASSWORD` or `HASHED_PASSWORD` is not provided, there will be no auth. |
|
||||||
|
| `-e HASHED_PASSWORD=` | Optional web gui password, overrides `PASSWORD`, instructions on how to create it is below. |
|
||||||
| `-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 SUDO_PASSWORD_HASH=` | Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`. |
|
| `-e SUDO_PASSWORD_HASH=` | Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`. |
|
||||||
| `-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) |
|
| `-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) |
|
||||||
@@ -170,14 +173,19 @@ In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as bel
|
|||||||
|
|
||||||
## Application Setup
|
## Application Setup
|
||||||
|
|
||||||
Access the webui at `http://<your-ip>:8443`.
|
Access the webui at `http://<your-ip>:8443`.
|
||||||
For github integration, drop your ssh key in to `/config/.ssh`.
|
For github integration, drop your ssh key in to `/config/.ssh`.
|
||||||
Then open a terminal from the top menu and set your github username and email via the following commands
|
Then open a terminal from the top menu and set your github username and email via the following commands
|
||||||
```
|
|
||||||
|
```bash
|
||||||
git config --global user.name "username"
|
git config --global user.name "username"
|
||||||
git config --global user.email "email address"
|
git config --global user.email "email address"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Hashed code-server password
|
||||||
|
|
||||||
|
How to create the [hashed password](https://github.com/cdr/code-server/blob/master/docs/FAQ.md#can-i-store-my-password-hashed).
|
||||||
|
|
||||||
|
|
||||||
## Docker Mods
|
## Docker Mods
|
||||||
[](https://mods.linuxserver.io/?mod=code-server "view available mods for this container.") [](https://mods.linuxserver.io/?mod=universal "view available universal mods.")
|
[](https://mods.linuxserver.io/?mod=code-server "view available mods for this container.") [](https://mods.linuxserver.io/?mod=universal "view available universal mods.")
|
||||||
@@ -250,6 +258,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **04.02.20:** - Allow setting gui password via hash using env var `HASHED_PASSWORD`.
|
||||||
* **23.12.20:** - Allow setting sudo password via hash using env var `SUDO_PASSWORD_HASH`.
|
* **23.12.20:** - Allow setting sudo password via hash using env var `SUDO_PASSWORD_HASH`.
|
||||||
* **29.05.20:** - Add --domain-proxy support.
|
* **29.05.20:** - Add --domain-proxy support.
|
||||||
* **21.05.20:** - Shrink images, install via yarn, fix arm32v7 build.
|
* **21.05.20:** - Shrink images, install via yarn, fix arm32v7 build.
|
||||||
|
|||||||
@@ -2,14 +2,12 @@
|
|||||||
|
|
||||||
# jenkins variables
|
# jenkins variables
|
||||||
project_name: docker-code-server
|
project_name: docker-code-server
|
||||||
external_type: github_stable
|
external_type: na
|
||||||
|
custom_version_command: "curl -sX GET https://registry.yarnpkg.com/code-server | jq -r '.\"dist-tags\".latest' | sed 's|^|v|'"
|
||||||
release_type: stable
|
release_type: stable
|
||||||
release_tag: latest
|
release_tag: latest
|
||||||
ls_branch: master
|
ls_branch: master
|
||||||
repo_vars:
|
repo_vars:
|
||||||
- EXT_GIT_BRANCH = 'master'
|
|
||||||
- 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'
|
||||||
|
|||||||
@@ -6,32 +6,32 @@ base-passwd3.5.44
|
|||||||
bash4.4.18-2ubuntu1.2
|
bash4.4.18-2ubuntu1.2
|
||||||
bsdutils1:2.31.1-0.4ubuntu3.7
|
bsdutils1:2.31.1-0.4ubuntu3.7
|
||||||
bzip21.0.6-8.1ubuntu0.2
|
bzip21.0.6-8.1ubuntu0.2
|
||||||
ca-certificates20201027ubuntu0.18.04.1
|
ca-certificates20210119~18.04.1
|
||||||
coreutils8.28-1ubuntu1
|
coreutils8.28-1ubuntu1
|
||||||
curl7.58.0-2ubuntu3.12
|
curl7.58.0-2ubuntu3.12
|
||||||
dash0.5.8-2.10
|
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
|
dirmngr2.2.4-1ubuntu1.4
|
||||||
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
|
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.8
|
||||||
git-man1:2.17.1-1ubuntu0.7
|
git-man1:2.17.1-1ubuntu0.8
|
||||||
gnupg2.2.4-1ubuntu1.3
|
gnupg2.2.4-1ubuntu1.4
|
||||||
gnupg-l10n2.2.4-1ubuntu1.3
|
gnupg-l10n2.2.4-1ubuntu1.4
|
||||||
gnupg-utils2.2.4-1ubuntu1.3
|
gnupg-utils2.2.4-1ubuntu1.4
|
||||||
gpg2.2.4-1ubuntu1.3
|
gpg2.2.4-1ubuntu1.4
|
||||||
gpg-agent2.2.4-1ubuntu1.3
|
gpg-agent2.2.4-1ubuntu1.4
|
||||||
gpgconf2.2.4-1ubuntu1.3
|
gpgconf2.2.4-1ubuntu1.4
|
||||||
gpgsm2.2.4-1ubuntu1.3
|
gpgsm2.2.4-1ubuntu1.4
|
||||||
gpgv2.2.4-1ubuntu1.3
|
gpgv2.2.4-1ubuntu1.4
|
||||||
gpg-wks-client2.2.4-1ubuntu1.3
|
gpg-wks-client2.2.4-1ubuntu1.4
|
||||||
gpg-wks-server2.2.4-1ubuntu1.3
|
gpg-wks-server2.2.4-1ubuntu1.4
|
||||||
grep3.1-2build1
|
grep3.1-2build1
|
||||||
gzip1.6-5ubuntu1
|
gzip1.6-5ubuntu1
|
||||||
hostname3.20
|
hostname3.20
|
||||||
@@ -54,7 +54,7 @@ libc62.27-3ubuntu1.4
|
|||||||
libcap-ng00.7.7-3.1
|
libcap-ng00.7.7-3.1
|
||||||
libc-bin2.27-3ubuntu1.4
|
libc-bin2.27-3ubuntu1.4
|
||||||
libcom-err21.44.1-1ubuntu1.3
|
libcom-err21.44.1-1ubuntu1.3
|
||||||
libcurl3-gnutls7.58.0-2ubuntu3.12
|
libcurl3-gnutls7.58.0-2ubuntu3.13
|
||||||
libcurl47.58.0-2ubuntu3.12
|
libcurl47.58.0-2ubuntu3.12
|
||||||
libdb5.35.3.28-13.1ubuntu1.1
|
libdb5.35.3.28-13.1ubuntu1.1
|
||||||
libdebconfclient00.213ubuntu1
|
libdebconfclient00.213ubuntu1
|
||||||
@@ -86,8 +86,8 @@ libkrb5-26-heimdal7.5.0+dfsg-1
|
|||||||
libkrb5-31.16-2ubuntu0.2
|
libkrb5-31.16-2ubuntu0.2
|
||||||
libkrb5support01.16-2ubuntu0.2
|
libkrb5support01.16-2ubuntu0.2
|
||||||
libksba81.3.5-2
|
libksba81.3.5-2
|
||||||
libldap-2.4-22.4.45+dfsg-1ubuntu1.8
|
libldap-2.4-22.4.45+dfsg-1ubuntu1.10
|
||||||
libldap-common2.4.45+dfsg-1ubuntu1.8
|
libldap-common2.4.45+dfsg-1ubuntu1.10
|
||||||
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
|
libmagic11:5.32-2ubuntu0.4
|
||||||
@@ -108,8 +108,8 @@ 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-minimal2.7.17-1~18.04ubuntu1.6
|
||||||
libpython2.7-stdlib2.7.17-1~18.04ubuntu1.2
|
libpython2.7-stdlib2.7.17-1~18.04ubuntu1.6
|
||||||
libpython-stdlib2.7.15~rc1-1
|
libpython-stdlib2.7.15~rc1-1
|
||||||
libreadline77.0-3
|
libreadline77.0-3
|
||||||
libroken18-heimdal7.5.0+dfsg-1
|
libroken18-heimdal7.5.0+dfsg-1
|
||||||
@@ -125,13 +125,13 @@ libsepol12.7-1
|
|||||||
libsmartcols12.31.1-0.4ubuntu3.7
|
libsmartcols12.31.1-0.4ubuntu3.7
|
||||||
libsqlite3-03.22.0-1ubuntu0.4
|
libsqlite3-03.22.0-1ubuntu0.4
|
||||||
libss21.44.1-1ubuntu1.3
|
libss21.44.1-1ubuntu1.3
|
||||||
libssl1.0.01.0.2n-1ubuntu5.5
|
libssl1.0.01.0.2n-1ubuntu5.6
|
||||||
libssl1.11.1.1-1ubuntu2.1~18.04.7
|
libssl1.11.1.1-1ubuntu2.1~18.04.9
|
||||||
libstdc++68.4.0-1ubuntu1~18.04
|
libstdc++68.4.0-1ubuntu1~18.04
|
||||||
libsystemd0237-3ubuntu10.44
|
libsystemd0237-3ubuntu10.45
|
||||||
libtasn1-64.13-2
|
libtasn1-64.13-2
|
||||||
libtinfo56.1-1ubuntu1.18.04
|
libtinfo56.1-1ubuntu1.18.04
|
||||||
libudev1237-3ubuntu10.44
|
libudev1237-3ubuntu10.45
|
||||||
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
|
||||||
@@ -142,7 +142,7 @@ libxcb11.13-2~ubuntu18.04
|
|||||||
libxdmcp61:1.1.2-3
|
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.2
|
||||||
locales2.27-3ubuntu1.4
|
locales2.27-3ubuntu1.4
|
||||||
login1:4.5-1ubuntu2
|
login1:4.5-1ubuntu2
|
||||||
lsb-base9.20170808ubuntu1
|
lsb-base9.20170808ubuntu1
|
||||||
@@ -155,9 +155,9 @@ ncurses-base6.1-1ubuntu1.18.04
|
|||||||
ncurses-bin6.1-1ubuntu1.18.04
|
ncurses-bin6.1-1ubuntu1.18.04
|
||||||
netbase5.4
|
netbase5.4
|
||||||
net-tools1.60+git20161116.90da8a0-1ubuntu1
|
net-tools1.60+git20161116.90da8a0-1ubuntu1
|
||||||
nodejs12.20.1-1nodesource1
|
nodejs12.22.0-1nodesource1
|
||||||
openssh-client1:7.6p1-4ubuntu0.3
|
openssh-client1:7.6p1-4ubuntu0.3
|
||||||
openssl1.1.1-1ubuntu2.1~18.04.7
|
openssl1.1.1-1ubuntu2.1~18.04.9
|
||||||
passwd1:4.5-1ubuntu2
|
passwd1:4.5-1ubuntu2
|
||||||
patch2.7.6-2ubuntu1.1
|
patch2.7.6-2ubuntu1.1
|
||||||
perl5.26.1-6ubuntu0.5
|
perl5.26.1-6ubuntu0.5
|
||||||
@@ -167,8 +167,8 @@ 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.7.15~rc1-1
|
||||||
python2.72.7.17-1~18.04ubuntu1.2
|
python2.72.7.17-1~18.04ubuntu1.6
|
||||||
python2.7-minimal2.7.17-1~18.04ubuntu1.2
|
python2.7-minimal2.7.17-1~18.04ubuntu1.6
|
||||||
python-minimal2.7.15~rc1-1
|
python-minimal2.7.15~rc1-1
|
||||||
readline-common7.0-3
|
readline-common7.0-3
|
||||||
sed4.4-2
|
sed4.4-2
|
||||||
@@ -176,7 +176,7 @@ sensible-utils0.0.12
|
|||||||
sudo1.8.21p2-3ubuntu1.4
|
sudo1.8.21p2-3ubuntu1.4
|
||||||
sysvinit-utils2.88dsf-59.10ubuntu1
|
sysvinit-utils2.88dsf-59.10ubuntu1
|
||||||
tar1.29b-2ubuntu0.2
|
tar1.29b-2ubuntu0.2
|
||||||
tzdata2020f-0ubuntu0.18.04
|
tzdata2021a-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
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ project_name: code-server
|
|||||||
project_url: "https://coder.com"
|
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://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.
|
||||||
|
|
||||||
- If you have a Windows or Mac workstation, more easily develop for Linux.
|
- If you have a Windows or Mac workstation, more easily develop for Linux.
|
||||||
@@ -47,7 +47,8 @@ param_env_vars:
|
|||||||
# optional container parameters
|
# optional container parameters
|
||||||
opt_param_usage_include_env: true
|
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 `PASSWORD` or `HASHED_PASSWORD` is not provided, there will be no auth." }
|
||||||
|
- { env_var: "HASHED_PASSWORD", env_value: "", desc: "Optional web gui password, overrides `PASSWORD`, instructions on how to create it is below." }
|
||||||
- { 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: "SUDO_PASSWORD_HASH", env_value: "", desc: "Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`." }
|
- { env_var: "SUDO_PASSWORD_HASH", env_value: "", desc: "Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`." }
|
||||||
- { 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)" }
|
- { 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)" }
|
||||||
@@ -58,17 +59,23 @@ optional_block_1_items: ""
|
|||||||
# application setup block
|
# application setup block
|
||||||
app_setup_block_enabled: true
|
app_setup_block_enabled: true
|
||||||
app_setup_block: |
|
app_setup_block: |
|
||||||
Access the webui at `http://<your-ip>:8443`.
|
Access the webui at `http://<your-ip>:8443`.
|
||||||
For github integration, drop your ssh key in to `/config/.ssh`.
|
For github integration, drop your ssh key in to `/config/.ssh`.
|
||||||
Then open a terminal from the top menu and set your github username and email via the following commands
|
Then open a terminal from the top menu and set your github username and email via the following commands
|
||||||
```
|
|
||||||
|
```bash
|
||||||
git config --global user.name "username"
|
git config --global user.name "username"
|
||||||
git config --global user.email "email address"
|
git config --global user.email "email address"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Hashed code-server password
|
||||||
|
|
||||||
|
How to create the [hashed password](https://github.com/cdr/code-server/blob/master/docs/FAQ.md#can-i-store-my-password-hashed).
|
||||||
|
|
||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { date: "04.02.20:", desc: "Allow setting gui password via hash using env var `HASHED_PASSWORD`." }
|
||||||
- { date: "23.12.20:", desc: "Allow setting sudo password via hash using env var `SUDO_PASSWORD_HASH`." }
|
- { date: "23.12.20:", desc: "Allow setting sudo password via hash using env var `SUDO_PASSWORD_HASH`." }
|
||||||
- { date: "29.05.20:", desc: "Add --domain-proxy support." }
|
- { date: "29.05.20:", desc: "Add --domain-proxy support." }
|
||||||
- { date: "21.05.20:", desc: "Shrink images, install via yarn, fix arm32v7 build." }
|
- { date: "21.05.20:", desc: "Shrink images, install via yarn, fix arm32v7 build." }
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
if [ -n "${PASSWORD}" ]; then
|
if [ -n "${PASSWORD}" ] || [ -n "${HASHED_PASSWORD}" ]; then
|
||||||
AUTH="password"
|
AUTH="password"
|
||||||
else
|
else
|
||||||
AUTH="none"
|
AUTH="none"
|
||||||
@@ -9,7 +9,7 @@ fi
|
|||||||
|
|
||||||
if [ -z ${PROXY_DOMAIN+x} ]; then
|
if [ -z ${PROXY_DOMAIN+x} ]; then
|
||||||
PROXY_DOMAIN_ARG=""
|
PROXY_DOMAIN_ARG=""
|
||||||
else
|
else
|
||||||
PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}"
|
PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user