mirror of
https://github.com/linuxserver/docker-code-server
synced 2025-06-26 18:27:40 +00:00
Compare commits
9 Commits
4.95.3-ls2
...
4.95.3-ls2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d986190b53 | ||
|
|
1de0da63d4 | ||
|
|
f9a2fd5adf | ||
|
|
7141d7b5c7 | ||
|
|
09932d59c7 | ||
|
|
2ab1bf003d | ||
|
|
6605ffcef0 | ||
|
|
d298bf329e | ||
|
|
e9aa49ab57 |
22
.github/workflows/external_trigger.yml
vendored
22
.github/workflows/external_trigger.yml
vendored
@@ -43,16 +43,18 @@ jobs:
|
|||||||
token=$(curl -sX GET \
|
token=$(curl -sX GET \
|
||||||
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fcode-server%3Apull" \
|
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fcode-server%3Apull" \
|
||||||
| jq -r '.token')
|
| jq -r '.token')
|
||||||
multidigest=$(curl -s \
|
multidigest=$(curl -s \
|
||||||
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
|
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
|
||||||
--header "Authorization: Bearer ${token}" \
|
--header "Accept: application/vnd.oci.image.index.v1+json" \
|
||||||
"https://ghcr.io/v2/${image}/manifests/${tag}" \
|
--header "Authorization: Bearer ${token}" \
|
||||||
| jq -r 'first(.manifests[].digest)')
|
"https://ghcr.io/v2/${image}/manifests/${tag}")
|
||||||
digest=$(curl -s \
|
multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}")
|
||||||
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
|
digest=$(curl -s \
|
||||||
--header "Authorization: Bearer ${token}" \
|
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
|
||||||
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
|
--header "Accept: application/vnd.oci.image.manifest.v1+json" \
|
||||||
| jq -r '.config.digest')
|
--header "Authorization: Bearer ${token}" \
|
||||||
|
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
|
||||||
|
| jq -r '.config.digest')
|
||||||
image_info=$(curl -sL \
|
image_info=$(curl -sL \
|
||||||
--header "Authorization: Bearer ${token}" \
|
--header "Authorization: Bearer ${token}" \
|
||||||
"https://ghcr.io/v2/${image}/blobs/${digest}")
|
"https://ghcr.io/v2/${image}/blobs/${digest}")
|
||||||
|
|||||||
274
Jenkinsfile
vendored
274
Jenkinsfile
vendored
@@ -8,7 +8,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
// Input to determine if this is a package check
|
// Input to determine if this is a package check
|
||||||
parameters {
|
parameters {
|
||||||
string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK')
|
string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK')
|
||||||
}
|
}
|
||||||
// Configuration for the variables used for this specific repo
|
// Configuration for the variables used for this specific repo
|
||||||
environment {
|
environment {
|
||||||
@@ -191,6 +191,7 @@ pipeline {
|
|||||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
||||||
|
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -215,6 +216,7 @@ pipeline {
|
|||||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
||||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
|
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
|
||||||
|
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -239,6 +241,7 @@ pipeline {
|
|||||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
||||||
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
|
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
|
||||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
|
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
|
||||||
|
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -335,6 +338,35 @@ pipeline {
|
|||||||
else
|
else
|
||||||
echo "No templates to delete"
|
echo "No templates to delete"
|
||||||
fi
|
fi
|
||||||
|
echo "Starting Stage 2.5 - Update init diagram"
|
||||||
|
if ! grep -q 'init_diagram:' readme-vars.yml; then
|
||||||
|
echo "Adding the key 'init_diagram' to readme-vars.yml"
|
||||||
|
sed -i '\\|^#.*changelog.*$|d' readme-vars.yml
|
||||||
|
sed -i 's|^changelogs:|# init diagram\\ninit_diagram:\\n\\n# changelog\\nchangelogs:|' readme-vars.yml
|
||||||
|
fi
|
||||||
|
mkdir -p ${TEMPDIR}/d2
|
||||||
|
docker run --rm -v ${TEMPDIR}/d2:/output -e PUID=$(id -u) -e PGID=$(id -g) -e RAW="true" ghcr.io/linuxserver/d2-builder:latest ${CONTAINER_NAME}:latest
|
||||||
|
ls -al ${TEMPDIR}/d2
|
||||||
|
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-latest.d2\\")" readme-vars.yml
|
||||||
|
if [[ $(md5sum readme-vars.yml | cut -c1-8) != $(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/readme-vars.yml | cut -c1-8) ]]; then
|
||||||
|
echo "'init_diagram' has been updated. Updating repo and exiting build, new one will trigger based on commit."
|
||||||
|
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 ${WORKSPACE}/readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/readme-vars.yml
|
||||||
|
git add readme-vars.yml
|
||||||
|
git commit -m 'Bot Updating Templated Files'
|
||||||
|
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
|
echo "Updating templates and exiting build, new one will trigger based on commit"
|
||||||
|
rm -Rf ${TEMPDIR}
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
|
echo "Init diagram is unchanged"
|
||||||
|
fi
|
||||||
echo "Starting Stage 3 - Update templates"
|
echo "Starting 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}
|
||||||
@@ -541,10 +573,42 @@ pipeline {
|
|||||||
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Code-server\" \
|
--label \"org.opencontainers.image.title=Code-server\" \
|
||||||
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome.\" \
|
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome. \" \
|
||||||
--no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
|
--no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
|
||||||
--provenance=false --sbom=false \
|
--provenance=false --sbom=false --builder=container --load \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
|
sh '''#! /bin/bash
|
||||||
|
set -e
|
||||||
|
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
|
||||||
|
for i in "${CACHE[@]}"; do
|
||||||
|
docker tag ${IMAGE}:${META_TAG} ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
|
done
|
||||||
|
'''
|
||||||
|
withCredentials([
|
||||||
|
[
|
||||||
|
$class: 'UsernamePasswordMultiBinding',
|
||||||
|
credentialsId: 'Quay.io-Robot',
|
||||||
|
usernameVariable: 'QUAYUSER',
|
||||||
|
passwordVariable: 'QUAYPASS'
|
||||||
|
]
|
||||||
|
]) {
|
||||||
|
retry_backoff(5,5) {
|
||||||
|
sh '''#! /bin/bash
|
||||||
|
set -e
|
||||||
|
echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
|
||||||
|
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
||||||
|
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||||
|
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||||
|
if [[ "${PACKAGE_CHECK}" != "true" ]]; then
|
||||||
|
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
|
||||||
|
for i in "${CACHE[@]}"; do
|
||||||
|
docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} &
|
||||||
|
done
|
||||||
|
wait
|
||||||
|
fi
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Build MultiArch Docker containers for push to LS Repo
|
// Build MultiArch Docker containers for push to LS Repo
|
||||||
@@ -573,10 +637,42 @@ pipeline {
|
|||||||
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Code-server\" \
|
--label \"org.opencontainers.image.title=Code-server\" \
|
||||||
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome.\" \
|
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome. \" \
|
||||||
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
|
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
|
||||||
--provenance=false --sbom=false \
|
--provenance=false --sbom=false --builder=container --load \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
|
sh '''#! /bin/bash
|
||||||
|
set -e
|
||||||
|
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
|
||||||
|
for i in "${CACHE[@]}"; do
|
||||||
|
docker tag ${IMAGE}:amd64-${META_TAG} ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
|
done
|
||||||
|
'''
|
||||||
|
withCredentials([
|
||||||
|
[
|
||||||
|
$class: 'UsernamePasswordMultiBinding',
|
||||||
|
credentialsId: 'Quay.io-Robot',
|
||||||
|
usernameVariable: 'QUAYUSER',
|
||||||
|
passwordVariable: 'QUAYPASS'
|
||||||
|
]
|
||||||
|
]) {
|
||||||
|
retry_backoff(5,5) {
|
||||||
|
sh '''#! /bin/bash
|
||||||
|
set -e
|
||||||
|
echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
|
||||||
|
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
||||||
|
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||||
|
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||||
|
if [[ "${PACKAGE_CHECK}" != "true" ]]; then
|
||||||
|
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
|
||||||
|
for i in "${CACHE[@]}"; do
|
||||||
|
docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} &
|
||||||
|
done
|
||||||
|
wait
|
||||||
|
fi
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('Build ARM64') {
|
stage('Build ARM64') {
|
||||||
@@ -585,10 +681,6 @@ pipeline {
|
|||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
echo "Running on node: ${NODE_NAME}"
|
echo "Running on node: ${NODE_NAME}"
|
||||||
echo 'Logging into Github'
|
|
||||||
sh '''#! /bin/bash
|
|
||||||
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
|
||||||
'''
|
|
||||||
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.aarch64"
|
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.aarch64"
|
||||||
sh "docker buildx build \
|
sh "docker buildx build \
|
||||||
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
||||||
@@ -602,20 +694,49 @@ pipeline {
|
|||||||
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Code-server\" \
|
--label \"org.opencontainers.image.title=Code-server\" \
|
||||||
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome.\" \
|
--label \"org.opencontainers.image.description=[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome. \" \
|
||||||
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
|
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
|
||||||
--provenance=false --sbom=false \
|
--provenance=false --sbom=false --builder=container --load \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh '''#! /bin/bash
|
||||||
retry_backoff(5,5) {
|
set -e
|
||||||
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
|
||||||
|
for i in "${CACHE[@]}"; do
|
||||||
|
docker tag ${IMAGE}:arm64v8-${META_TAG} ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
|
done
|
||||||
|
'''
|
||||||
|
withCredentials([
|
||||||
|
[
|
||||||
|
$class: 'UsernamePasswordMultiBinding',
|
||||||
|
credentialsId: 'Quay.io-Robot',
|
||||||
|
usernameVariable: 'QUAYUSER',
|
||||||
|
passwordVariable: 'QUAYPASS'
|
||||||
|
]
|
||||||
|
]) {
|
||||||
|
retry_backoff(5,5) {
|
||||||
|
sh '''#! /bin/bash
|
||||||
|
set -e
|
||||||
|
echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
|
||||||
|
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
||||||
|
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||||
|
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||||
|
if [[ "${PACKAGE_CHECK}" != "true" ]]; then
|
||||||
|
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
|
||||||
|
for i in "${CACHE[@]}"; do
|
||||||
|
docker push ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} &
|
||||||
|
done
|
||||||
|
wait
|
||||||
|
fi
|
||||||
|
'''
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
containers=$(docker ps -aq)
|
containers=$(docker ps -aq)
|
||||||
if [[ -n "${containers}" ]]; then
|
if [[ -n "${containers}" ]]; then
|
||||||
docker stop ${containers}
|
docker stop ${containers}
|
||||||
fi
|
fi
|
||||||
docker system prune -af --volumes || : '''
|
docker system prune -af --volumes || :
|
||||||
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -765,37 +886,23 @@ pipeline {
|
|||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
withCredentials([
|
retry_backoff(5,5) {
|
||||||
[
|
sh '''#! /bin/bash
|
||||||
$class: 'UsernamePasswordMultiBinding',
|
set -e
|
||||||
credentialsId: 'Quay.io-Robot',
|
for PUSHIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||||
usernameVariable: 'QUAYUSER',
|
[[ ${PUSHIMAGE%%/*} =~ \\. ]] && PUSHIMAGEPLUS="${PUSHIMAGE}" || PUSHIMAGEPLUS="docker.io/${PUSHIMAGE}"
|
||||||
passwordVariable: 'QUAYPASS'
|
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
|
||||||
]
|
for i in "${CACHE[@]}"; do
|
||||||
]) {
|
if [[ "${PUSHIMAGEPLUS}" == "$(cut -d "/" -f1 <<< ${i})"* ]]; then
|
||||||
retry_backoff(5,5) {
|
CACHEIMAGE=${i}
|
||||||
sh '''#! /bin/bash
|
fi
|
||||||
set -e
|
|
||||||
echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
|
|
||||||
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
|
||||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
|
||||||
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
|
||||||
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
|
|
||||||
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
|
||||||
if [ -n "${SEMVER}" ]; then
|
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
|
|
||||||
fi
|
|
||||||
docker push ${PUSHIMAGE}:latest
|
|
||||||
docker push ${PUSHIMAGE}:${META_TAG}
|
|
||||||
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
|
||||||
if [ -n "${SEMVER}" ]; then
|
|
||||||
docker push ${PUSHIMAGE}:${SEMVER}
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
'''
|
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:latest -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
}
|
if [ -n "${SEMVER}" ]; then
|
||||||
|
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -806,57 +913,34 @@ pipeline {
|
|||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
withCredentials([
|
retry_backoff(5,5) {
|
||||||
[
|
sh '''#! /bin/bash
|
||||||
$class: 'UsernamePasswordMultiBinding',
|
set -e
|
||||||
credentialsId: 'Quay.io-Robot',
|
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||||
usernameVariable: 'QUAYUSER',
|
[[ ${MANIFESTIMAGE%%/*} =~ \\. ]] && MANIFESTIMAGEPLUS="${MANIFESTIMAGE}" || MANIFESTIMAGEPLUS="docker.io/${MANIFESTIMAGE}"
|
||||||
passwordVariable: 'QUAYPASS'
|
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
|
||||||
]
|
for i in "${CACHE[@]}"; do
|
||||||
]) {
|
if [[ "${MANIFESTIMAGEPLUS}" == "$(cut -d "/" -f1 <<< ${i})"* ]]; then
|
||||||
retry_backoff(5,5) {
|
CACHEIMAGE=${i}
|
||||||
sh '''#! /bin/bash
|
fi
|
||||||
set -e
|
done
|
||||||
echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
|
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-latest -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-latest -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
if [ -n "${SEMVER}" ]; then
|
||||||
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
if [ "${CI}" == "false" ]; then
|
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64
|
|
||||||
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
|
||||||
fi
|
fi
|
||||||
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
done
|
||||||
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
|
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
|
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
|
||||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
|
||||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
|
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
if [ -n "${SEMVER}" ]; then
|
||||||
if [ -n "${SEMVER}" ]; then
|
docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
|
fi
|
||||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
done
|
||||||
fi
|
'''
|
||||||
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
|
||||||
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
|
||||||
docker push ${MANIFESTIMAGE}:amd64-latest
|
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-latest
|
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
|
||||||
if [ -n "${SEMVER}" ]; then
|
|
||||||
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
|
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
|
||||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
|
|
||||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
|
||||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
|
||||||
if [ -n "${SEMVER}" ]; then
|
|
||||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,11 +78,13 @@ git config --global user.email "email address"
|
|||||||
|
|
||||||
How to create the [hashed password](https://github.com/cdr/code-server/blob/master/docs/FAQ.md#can-i-store-my-password-hashed).
|
How to create the [hashed password](https://github.com/cdr/code-server/blob/master/docs/FAQ.md#can-i-store-my-password-hashed).
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
|
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
|
||||||
|
|
||||||
|
>[!NOTE]
|
||||||
|
>Unless a parameter is flaged as 'optional', it is *mandatory* and a value must be provided.
|
||||||
|
|
||||||
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
|
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@@ -134,7 +136,7 @@ Containers are configured using parameters passed at runtime (such as those abov
|
|||||||
|
|
||||||
| Parameter | Function |
|
| Parameter | Function |
|
||||||
| :----: | --- |
|
| :----: | --- |
|
||||||
| `-p 8443` | web gui |
|
| `-p 8443:8443` | web gui |
|
||||||
| `-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=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
|
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ crypt 0.0.2 npm
|
|||||||
csharp 1.0.0 npm
|
csharp 1.0.0 npm
|
||||||
css 1.0.0 npm
|
css 1.0.0 npm
|
||||||
css-language-features 1.0.0 npm
|
css-language-features 1.0.0 npm
|
||||||
curl 8.5.0-2ubuntu10.4 deb
|
curl 8.5.0-2ubuntu10.5 deb
|
||||||
dart 1.0.0 npm
|
dart 1.0.0 npm
|
||||||
dash 0.5.12-6ubuntu5 deb
|
dash 0.5.12-6ubuntu5 deb
|
||||||
data-uri-to-buffer 6.0.2 npm
|
data-uri-to-buffer 6.0.2 npm
|
||||||
@@ -239,18 +239,18 @@ julia 1.0.0 npm
|
|||||||
just-performance 4.3.0 npm
|
just-performance 4.3.0 npm
|
||||||
kerberos 2.1.1 npm
|
kerberos 2.1.1 npm
|
||||||
keyboxd 2.4.4-2ubuntu17 deb
|
keyboxd 2.4.4-2ubuntu17 deb
|
||||||
krb5-locales 1.20.1-6ubuntu2.1 deb
|
krb5-locales 1.20.1-6ubuntu2.2 deb
|
||||||
latex 1.0.0 npm
|
latex 1.0.0 npm
|
||||||
less 1.0.0 npm
|
less 1.0.0 npm
|
||||||
less 590-2ubuntu2.1 deb
|
less 590-2ubuntu2.1 deb
|
||||||
libacl1 2.3.2-1build1 deb
|
libacl1 2.3.2-1build1.1 deb
|
||||||
libapparmor1 4.0.1really4.0.1-0ubuntu0.24.04.3 deb
|
libapparmor1 4.0.1really4.0.1-0ubuntu0.24.04.3 deb
|
||||||
libapt-pkg6.0t64 2.7.14build2 deb
|
libapt-pkg6.0t64 2.7.14build2 deb
|
||||||
libassuan0 2.5.6-1build1 deb
|
libassuan0 2.5.6-1build1 deb
|
||||||
libatomic1 14.2.0-4ubuntu2~24.04 deb
|
libatomic1 14.2.0-4ubuntu2~24.04 deb
|
||||||
libattr1 1:2.5.2-1build1 deb
|
libattr1 1:2.5.2-1build1 deb
|
||||||
libaudit-common 1:3.1.2-2.1build1 deb
|
libaudit-common 1:3.1.2-2.1build1.1 deb
|
||||||
libaudit1 1:3.1.2-2.1build1 deb
|
libaudit1 1:3.1.2-2.1build1.1 deb
|
||||||
libblkid1 2.39.3-9ubuntu6.1 deb
|
libblkid1 2.39.3-9ubuntu6.1 deb
|
||||||
libbrotli1 1.1.0-2build2 deb
|
libbrotli1 1.1.0-2build2 deb
|
||||||
libbsd0 0.12.1-1build1 deb
|
libbsd0 0.12.1-1build1 deb
|
||||||
@@ -262,13 +262,13 @@ libcap2 1:2.66-5ubuntu2 deb
|
|||||||
libcbor0.10 0.10.2-1.2ubuntu2 deb
|
libcbor0.10 0.10.2-1.2ubuntu2 deb
|
||||||
libcom-err2 1.47.0-2.4~exp1ubuntu4.1 deb
|
libcom-err2 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||||
libcrypt1 1:4.4.36-4build1 deb
|
libcrypt1 1:4.4.36-4build1 deb
|
||||||
libcurl3t64-gnutls 8.5.0-2ubuntu10.4 deb
|
libcurl3t64-gnutls 8.5.0-2ubuntu10.5 deb
|
||||||
libcurl4t64 8.5.0-2ubuntu10.4 deb
|
libcurl4t64 8.5.0-2ubuntu10.5 deb
|
||||||
libdb5.3t64 5.3.28+dfsg2-7 deb
|
libdb5.3t64 5.3.28+dfsg2-7 deb
|
||||||
libdebconfclient0 0.271ubuntu3 deb
|
libdebconfclient0 0.271ubuntu3 deb
|
||||||
libedit2 3.1-20230828-1build1 deb
|
libedit2 3.1-20230828-1build1 deb
|
||||||
liberror-perl 0.17029-2 deb
|
liberror-perl 0.17029-2 deb
|
||||||
libexpat1 2.6.1-2ubuntu0.1 deb
|
libexpat1 2.6.1-2ubuntu0.2 deb
|
||||||
libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb
|
libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||||
libffi8 3.4.6-1build1 deb
|
libffi8 3.4.6-1build1 deb
|
||||||
libfido2-1 1.14.0-1build3 deb
|
libfido2-1 1.14.0-1build3 deb
|
||||||
@@ -279,17 +279,17 @@ libgdbm6t64 1.23-5.1build1 deb
|
|||||||
libgmp10 2:6.3.0+dfsg-2ubuntu6 deb
|
libgmp10 2:6.3.0+dfsg-2ubuntu6 deb
|
||||||
libgnutls30t64 3.8.3-1.1ubuntu3.2 deb
|
libgnutls30t64 3.8.3-1.1ubuntu3.2 deb
|
||||||
libgpg-error0 1.47-3build2 deb
|
libgpg-error0 1.47-3build2 deb
|
||||||
libgssapi-krb5-2 1.20.1-6ubuntu2.1 deb
|
libgssapi-krb5-2 1.20.1-6ubuntu2.2 deb
|
||||||
libhogweed6t64 3.9.1-2.2build1.1 deb
|
libhogweed6t64 3.9.1-2.2build1.1 deb
|
||||||
libidn2-0 2.3.7-2build1 deb
|
libidn2-0 2.3.7-2build1 deb
|
||||||
libjq1 1.7.1-3build1 deb
|
libjq1 1.7.1-3build1 deb
|
||||||
libk5crypto3 1.20.1-6ubuntu2.1 deb
|
libk5crypto3 1.20.1-6ubuntu2.2 deb
|
||||||
libkeyutils1 1.6.3-3build1 deb
|
libkeyutils1 1.6.3-3build1 deb
|
||||||
libkrb5-3 1.20.1-6ubuntu2.1 deb
|
libkrb5-3 1.20.1-6ubuntu2.2 deb
|
||||||
libkrb5support0 1.20.1-6ubuntu2.1 deb
|
libkrb5support0 1.20.1-6ubuntu2.2 deb
|
||||||
libksba8 1.6.6-1build1 deb
|
libksba8 1.6.6-1build1 deb
|
||||||
libldap-common 2.6.7+dfsg-1~exp1ubuntu8 deb
|
libldap-common 2.6.7+dfsg-1~exp1ubuntu8.1 deb
|
||||||
libldap2 2.6.7+dfsg-1~exp1ubuntu8 deb
|
libldap2 2.6.7+dfsg-1~exp1ubuntu8.1 deb
|
||||||
liblz4-1 1.9.4-1build1.1 deb
|
liblz4-1 1.9.4-1build1.1 deb
|
||||||
liblzma5 5.6.1+really5.4.5-1build0.1 deb
|
liblzma5 5.6.1+really5.4.5-1build0.1 deb
|
||||||
libmd0 1.1.0-2build1 deb
|
libmd0 1.1.0-2build1 deb
|
||||||
|
|||||||
@@ -4,13 +4,19 @@
|
|||||||
project_name: code-server
|
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.\n- Code on your Chromebook, tablet, and laptop with a consistent dev environment.\n- If you have a Windows or Mac workstation, more easily develop for Linux.\n- Take advantage of large cloud servers to speed up tests, compilations, downloads, and more.\n- Preserve battery life when you're on the go.\n- All intensive computation runs on your server.\n- You're no longer running excess instances of Chrome."
|
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.
|
||||||
|
- If you have a Windows or Mac workstation, more easily develop for Linux.
|
||||||
|
- Take advantage of large cloud servers to speed up tests, compilations, downloads, and more.
|
||||||
|
- Preserve battery life when you're on the go.
|
||||||
|
- All intensive computation runs on your server.
|
||||||
|
- You're no longer running excess instances of Chrome.
|
||||||
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
|
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
|
||||||
# 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_arm64 }}", tag: "arm64v8-latest"}
|
||||||
|
|
||||||
# container parameters
|
# container parameters
|
||||||
common_param_env_vars_enabled: true
|
common_param_env_vars_enabled: true
|
||||||
param_container_name: "{{ project_name }}"
|
param_container_name: "{{ project_name }}"
|
||||||
@@ -29,7 +35,6 @@ opt_param_env_vars:
|
|||||||
- {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/coder/code-server/blob/main/docs/guide.md#using-a-subdomain)"}
|
- {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/coder/code-server/blob/main/docs/guide.md#using-a-subdomain)"}
|
||||||
- {env_var: "DEFAULT_WORKSPACE", env_value: "/config/workspace", desc: "If this optional variable is set, code-server will open this directory by default"}
|
- {env_var: "DEFAULT_WORKSPACE", env_value: "/config/workspace", desc: "If this optional variable is set, code-server will open this directory by default"}
|
||||||
|
|
||||||
# application setup block
|
# application setup block
|
||||||
app_setup_block_enabled: true
|
app_setup_block_enabled: true
|
||||||
app_setup_block: |
|
app_setup_block: |
|
||||||
@@ -45,6 +50,45 @@ app_setup_block: |
|
|||||||
### Hashed code-server password
|
### 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).
|
How to create the [hashed password](https://github.com/cdr/code-server/blob/master/docs/FAQ.md#can-i-store-my-password-hashed).
|
||||||
|
# init diagram
|
||||||
|
init_diagram: |
|
||||||
|
"code-server:latest": {
|
||||||
|
docker-mods
|
||||||
|
base {
|
||||||
|
fix-attr +\nlegacy cont-init
|
||||||
|
}
|
||||||
|
docker-mods -> base
|
||||||
|
legacy-services
|
||||||
|
custom services
|
||||||
|
init-services -> legacy-services
|
||||||
|
init-services -> custom services
|
||||||
|
custom services -> legacy-services
|
||||||
|
legacy-services -> ci-service-check
|
||||||
|
init-migrations -> init-adduser
|
||||||
|
init-config -> init-code-server
|
||||||
|
init-os-end -> init-config
|
||||||
|
init-code-server -> init-config-end
|
||||||
|
init-config -> init-config-end
|
||||||
|
init-crontab-config -> init-config-end
|
||||||
|
init-config -> init-crontab-config
|
||||||
|
init-mods-end -> init-custom-files
|
||||||
|
base -> init-envfile
|
||||||
|
base -> init-migrations
|
||||||
|
init-config-end -> init-mods
|
||||||
|
init-mods-package-install -> init-mods-end
|
||||||
|
init-mods -> init-mods-package-install
|
||||||
|
init-adduser -> init-os-end
|
||||||
|
init-envfile -> init-os-end
|
||||||
|
init-custom-files -> init-services
|
||||||
|
init-services -> svc-code-server
|
||||||
|
svc-code-server -> legacy-services
|
||||||
|
init-services -> svc-cron
|
||||||
|
svc-cron -> legacy-services
|
||||||
|
}
|
||||||
|
Base Images: {
|
||||||
|
"baseimage-ubuntu:noble"
|
||||||
|
}
|
||||||
|
"code-server:latest" <- Base Images
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
- {date: "13.10.24:", desc: "Only chown config folder when change to ownership or new install is detected."}
|
- {date: "13.10.24:", desc: "Only chown config folder when change to ownership or new install is detected."}
|
||||||
|
|||||||
Reference in New Issue
Block a user