mirror of
https://github.com/linuxserver/docker-code-server
synced 2025-06-26 18:27:40 +00:00
Compare commits
10 Commits
v3.9.3-ls7
...
v3.10.2-ls
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34f67cb087 | ||
|
|
dcd097edab | ||
|
|
0d50ead3d7 | ||
|
|
fa2f58a1b0 | ||
|
|
37c1090ee6 | ||
|
|
df8bcc62c3 | ||
|
|
e297fb283c | ||
|
|
22f3d0e08b | ||
|
|
b53518422b | ||
|
|
37b68259e2 |
20
.editorconfig
Executable file
20
.editorconfig
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
# This file is globally distributed to all container image projects from
|
||||||
|
# https://github.com/linuxserver/docker-jenkins-builder/blob/master/.editorconfig
|
||||||
|
|
||||||
|
# top-most EditorConfig file
|
||||||
|
root = true
|
||||||
|
|
||||||
|
# Unix-style newlines with a newline ending every file
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
# trim_trailing_whitespace may cause unintended issues and should not be globally set true
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
|
||||||
|
[{Dockerfile*,**.yml}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[{**.sh,root/etc/cont-init.d/**,root/etc/services.d/**}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
* While contributing make sure to make all your changes before creating a Pull Request, as our pipeline builds each commit after the PR is open.
|
* While contributing make sure to make all your changes before creating a Pull Request, as our pipeline builds each commit after the PR is open.
|
||||||
* Read, and fill the Pull Request template
|
* Read, and fill the Pull Request template
|
||||||
* If this is a fix for a typo in code or documentation in the README please file an issue
|
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
|
||||||
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
|
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
|
||||||
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn)
|
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn)
|
||||||
|
|
||||||
|
|||||||
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<!--- Before submitting a pull request please check the following -->
|
<!--- Before submitting a pull request please check the following -->
|
||||||
|
|
||||||
<!--- If this is a fix for a typo in code or documentation in the README please file an issue and let us sort it out we do not need a PR -->
|
<!--- If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR -->
|
||||||
<!--- Ask yourself if this modification is something the whole userbase will benefit from, if this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
|
<!--- Ask yourself if this modification is something the whole userbase will benefit from, if this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
|
||||||
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
|
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
|
||||||
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
|
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
|
||||||
|
|||||||
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v1
|
- uses: actions/stale@v3
|
||||||
with:
|
with:
|
||||||
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
||||||
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
||||||
|
|||||||
96
Dockerfile
96
Dockerfile
@@ -11,54 +11,54 @@ LABEL maintainer="aptalca"
|
|||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install node repo ****" && \
|
echo "**** install node repo ****" && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
gnupg && \
|
gnupg && \
|
||||||
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
||||||
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
||||||
> /etc/apt/sources.list.d/nodesource.list && \
|
> /etc/apt/sources.list.d/nodesource.list && \
|
||||||
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
||||||
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
|
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
|
||||||
> /etc/apt/sources.list.d/yarn.list && \
|
> /etc/apt/sources.list.d/yarn.list && \
|
||||||
echo "**** install build dependencies ****" && \
|
echo "**** install build dependencies ****" && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
libx11-dev \
|
libx11-dev \
|
||||||
libxkbfile-dev \
|
libxkbfile-dev \
|
||||||
libsecret-1-dev \
|
libsecret-1-dev \
|
||||||
pkg-config && \
|
pkg-config && \
|
||||||
echo "**** install runtime dependencies ****" && \
|
echo "**** install runtime dependencies ****" && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
git \
|
git \
|
||||||
jq \
|
jq \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
nodejs \
|
nodejs \
|
||||||
sudo \
|
sudo \
|
||||||
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://registry.yarnpkg.com/code-server \
|
CODE_RELEASE=$(curl -sX GET https://registry.yarnpkg.com/code-server \
|
||||||
| jq -r '."dist-tags".latest' | sed 's|^|v|'); \
|
| 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 && \
|
||||||
yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \
|
yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \
|
||||||
yarn cache clean && \
|
yarn cache clean && \
|
||||||
echo "**** clean up ****" && \
|
echo "**** clean up ****" && \
|
||||||
apt-get purge --auto-remove -y \
|
apt-get purge --auto-remove -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
libx11-dev \
|
libx11-dev \
|
||||||
libxkbfile-dev \
|
libxkbfile-dev \
|
||||||
libsecret-1-dev \
|
libsecret-1-dev \
|
||||||
pkg-config && \
|
pkg-config && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf \
|
rm -rf \
|
||||||
/tmp/* \
|
/tmp/* \
|
||||||
/var/lib/apt/lists/* \
|
/var/lib/apt/lists/* \
|
||||||
/var/tmp/*
|
/var/tmp/*
|
||||||
|
|
||||||
# add local files
|
# add local files
|
||||||
COPY /root /
|
COPY /root /
|
||||||
|
|||||||
@@ -11,54 +11,54 @@ LABEL maintainer="aptalca"
|
|||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install node repo ****" && \
|
echo "**** install node repo ****" && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
gnupg && \
|
gnupg && \
|
||||||
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
||||||
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
||||||
> /etc/apt/sources.list.d/nodesource.list && \
|
> /etc/apt/sources.list.d/nodesource.list && \
|
||||||
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
||||||
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
|
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
|
||||||
> /etc/apt/sources.list.d/yarn.list && \
|
> /etc/apt/sources.list.d/yarn.list && \
|
||||||
echo "**** install build dependencies ****" && \
|
echo "**** install build dependencies ****" && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
libx11-dev \
|
libx11-dev \
|
||||||
libxkbfile-dev \
|
libxkbfile-dev \
|
||||||
libsecret-1-dev \
|
libsecret-1-dev \
|
||||||
pkg-config && \
|
pkg-config && \
|
||||||
echo "**** install runtime dependencies ****" && \
|
echo "**** install runtime dependencies ****" && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
git \
|
git \
|
||||||
jq \
|
jq \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
nodejs \
|
nodejs \
|
||||||
sudo \
|
sudo \
|
||||||
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://registry.yarnpkg.com/code-server \
|
CODE_RELEASE=$(curl -sX GET https://registry.yarnpkg.com/code-server \
|
||||||
| jq -r '."dist-tags".latest' | sed 's|^|v|'); \
|
| 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 && \
|
||||||
yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \
|
yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \
|
||||||
yarn cache clean && \
|
yarn cache clean && \
|
||||||
echo "**** clean up ****" && \
|
echo "**** clean up ****" && \
|
||||||
apt-get purge --auto-remove -y \
|
apt-get purge --auto-remove -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
libx11-dev \
|
libx11-dev \
|
||||||
libxkbfile-dev \
|
libxkbfile-dev \
|
||||||
libsecret-1-dev \
|
libsecret-1-dev \
|
||||||
pkg-config && \
|
pkg-config && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf \
|
rm -rf \
|
||||||
/tmp/* \
|
/tmp/* \
|
||||||
/var/lib/apt/lists/* \
|
/var/lib/apt/lists/* \
|
||||||
/var/tmp/*
|
/var/tmp/*
|
||||||
|
|
||||||
# add local files
|
# add local files
|
||||||
COPY /root /
|
COPY /root /
|
||||||
|
|||||||
@@ -11,54 +11,54 @@ LABEL maintainer="aptalca"
|
|||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install node repo ****" && \
|
echo "**** install node repo ****" && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
gnupg && \
|
gnupg && \
|
||||||
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
||||||
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
|
||||||
> /etc/apt/sources.list.d/nodesource.list && \
|
> /etc/apt/sources.list.d/nodesource.list && \
|
||||||
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
curl -s https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
||||||
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
|
echo 'deb https://dl.yarnpkg.com/debian/ stable main' \
|
||||||
> /etc/apt/sources.list.d/yarn.list && \
|
> /etc/apt/sources.list.d/yarn.list && \
|
||||||
echo "**** install build dependencies ****" && \
|
echo "**** install build dependencies ****" && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
libx11-dev \
|
libx11-dev \
|
||||||
libxkbfile-dev \
|
libxkbfile-dev \
|
||||||
libsecret-1-dev \
|
libsecret-1-dev \
|
||||||
pkg-config && \
|
pkg-config && \
|
||||||
echo "**** install runtime dependencies ****" && \
|
echo "**** install runtime dependencies ****" && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
git \
|
git \
|
||||||
jq \
|
jq \
|
||||||
nano \
|
nano \
|
||||||
net-tools \
|
net-tools \
|
||||||
nodejs \
|
nodejs \
|
||||||
sudo \
|
sudo \
|
||||||
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://registry.yarnpkg.com/code-server \
|
CODE_RELEASE=$(curl -sX GET https://registry.yarnpkg.com/code-server \
|
||||||
| jq -r '."dist-tags".latest' | sed 's|^|v|'); \
|
| 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 && \
|
||||||
yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \
|
yarn --production --verbose --frozen-lockfile global add code-server@"$CODE_VERSION" && \
|
||||||
yarn cache clean && \
|
yarn cache clean && \
|
||||||
echo "**** clean up ****" && \
|
echo "**** clean up ****" && \
|
||||||
apt-get purge --auto-remove -y \
|
apt-get purge --auto-remove -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
libx11-dev \
|
libx11-dev \
|
||||||
libxkbfile-dev \
|
libxkbfile-dev \
|
||||||
libsecret-1-dev \
|
libsecret-1-dev \
|
||||||
pkg-config && \
|
pkg-config && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf \
|
rm -rf \
|
||||||
/tmp/* \
|
/tmp/* \
|
||||||
/var/lib/apt/lists/* \
|
/var/lib/apt/lists/* \
|
||||||
/var/tmp/*
|
/var/tmp/*
|
||||||
|
|
||||||
# add local files
|
# add local files
|
||||||
COPY /root /
|
COPY /root /
|
||||||
|
|||||||
12
Jenkinsfile
vendored
12
Jenkinsfile
vendored
@@ -55,7 +55,7 @@ pipeline {
|
|||||||
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
|
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
|
||||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
|
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
|
||||||
env.PULL_REQUEST = env.CHANGE_ID
|
env.PULL_REQUEST = env.CHANGE_ID
|
||||||
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
|
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
|
||||||
}
|
}
|
||||||
script{
|
script{
|
||||||
env.LS_RELEASE_NUMBER = sh(
|
env.LS_RELEASE_NUMBER = sh(
|
||||||
@@ -260,7 +260,6 @@ pipeline {
|
|||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||||
git checkout -f master
|
git checkout -f master
|
||||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
|
||||||
for i in ${TEMPLATES_TO_DELETE}; do
|
for i in ${TEMPLATES_TO_DELETE}; do
|
||||||
git rm "${i}"
|
git rm "${i}"
|
||||||
done
|
done
|
||||||
@@ -521,6 +520,15 @@ pipeline {
|
|||||||
apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
|
apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
|
||||||
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
||||||
chmod 777 /tmp/package_versions.txt'
|
chmod 777 /tmp/package_versions.txt'
|
||||||
|
elif [ "${DIST_IMAGE}" == "fedora" ]; then
|
||||||
|
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
||||||
|
rpm -qa > /tmp/package_versions.txt && \
|
||||||
|
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
||||||
|
chmod 777 /tmp/package_versions.txt'
|
||||||
|
elif [ "${DIST_IMAGE}" == "arch" ]; then
|
||||||
|
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
||||||
|
pacman -Q > /tmp/package_versions.txt && \
|
||||||
|
chmod 777 /tmp/package_versions.txt'
|
||||||
fi
|
fi
|
||||||
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
||||||
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -33,7 +33,6 @@ Find us at:
|
|||||||
[](https://github.com/linuxserver/docker-code-server/releases)
|
[](https://github.com/linuxserver/docker-code-server/releases)
|
||||||
[](https://github.com/linuxserver/docker-code-server/packages)
|
[](https://github.com/linuxserver/docker-code-server/packages)
|
||||||
[](https://gitlab.com/linuxserver.io/docker-code-server/container_registry)
|
[](https://gitlab.com/linuxserver.io/docker-code-server/container_registry)
|
||||||
[](https://microbadger.com/images/linuxserver/code-server "Get your own version badge on microbadger.com")
|
|
||||||
[](https://hub.docker.com/r/linuxserver/code-server)
|
[](https://hub.docker.com/r/linuxserver/code-server)
|
||||||
[](https://hub.docker.com/r/linuxserver/code-server)
|
[](https://hub.docker.com/r/linuxserver/code-server)
|
||||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/)
|
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-code-server/job/master/)
|
||||||
@@ -91,9 +90,7 @@ How to create the [hashed password](https://github.com/cdr/code-server/blob/mast
|
|||||||
|
|
||||||
Here are some example snippets to help you get started creating a container.
|
Here are some example snippets to help you get started creating a container.
|
||||||
|
|
||||||
### docker-compose ([recommended](https://docs.linuxserver.io/general/docker-compose))
|
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
|
||||||
|
|
||||||
Compatible with docker-compose v2 schemas.
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
---
|
---
|
||||||
@@ -118,7 +115,7 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
```
|
```
|
||||||
|
|
||||||
### docker cli
|
### docker cli ([click here for more info](https://docs.docker.com/engine/reference/commandline/cli/))
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -d \
|
docker run -d \
|
||||||
@@ -151,7 +148,7 @@ Container images are configured using parameters passed at runtime (such as thos
|
|||||||
| `-e HASHED_PASSWORD=` | Optional web gui password, overrides `PASSWORD`, instructions on how to create it is below. |
|
| `-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/docs/FAQ.md#sub-domains) |
|
||||||
| `-v /config` | Contains all relevant configuration files. |
|
| `-v /config` | Contains all relevant configuration files. |
|
||||||
|
|
||||||
## Environment variables from files (Docker secrets)
|
## Environment variables from files (Docker secrets)
|
||||||
@@ -263,6 +260,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **08.05.21:** - Fix doc link
|
||||||
* **04.02.20:** - Allow setting gui password via hash using env var `HASHED_PASSWORD`.
|
* **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.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
adduser3.116ubuntu1
|
adduser3.116ubuntu1
|
||||||
apt1.6.13
|
apt1.6.14
|
||||||
apt-utils1.6.13
|
apt-utils1.6.14
|
||||||
base-files10.1ubuntu2.10
|
base-files10.1ubuntu2.10
|
||||||
base-passwd3.5.44
|
base-passwd3.5.44
|
||||||
bash4.4.18-2ubuntu1.2
|
bash4.4.18-2ubuntu1.2
|
||||||
@@ -40,8 +40,8 @@ jq1.5+dfsg-2
|
|||||||
krb5-locales1.16-2ubuntu0.2
|
krb5-locales1.16-2ubuntu0.2
|
||||||
less487-0.1
|
less487-0.1
|
||||||
libacl12.2.52-3build1
|
libacl12.2.52-3build1
|
||||||
libapt-inst2.01.6.13
|
libapt-inst2.01.6.14
|
||||||
libapt-pkg5.01.6.13
|
libapt-pkg5.01.6.14
|
||||||
libasn1-8-heimdal7.5.0+dfsg-1
|
libasn1-8-heimdal7.5.0+dfsg-1
|
||||||
libassuan02.5.1-2
|
libassuan02.5.1-2
|
||||||
libattr11:2.4.47-2build1
|
libattr11:2.4.47-2build1
|
||||||
@@ -76,7 +76,7 @@ libgssapi-krb5-21.16-2ubuntu0.2
|
|||||||
libhcrypto4-heimdal7.5.0+dfsg-1
|
libhcrypto4-heimdal7.5.0+dfsg-1
|
||||||
libheimbase1-heimdal7.5.0+dfsg-1
|
libheimbase1-heimdal7.5.0+dfsg-1
|
||||||
libheimntlm0-heimdal7.5.0+dfsg-1
|
libheimntlm0-heimdal7.5.0+dfsg-1
|
||||||
libhogweed43.4-1
|
libhogweed43.4.1-0ubuntu0.18.04.1
|
||||||
libhx509-5-heimdal7.5.0+dfsg-1
|
libhx509-5-heimdal7.5.0+dfsg-1
|
||||||
libidn2-02.0.4-1.1ubuntu0.2
|
libidn2-02.0.4-1.1ubuntu0.2
|
||||||
libjq11.5+dfsg-2
|
libjq11.5+dfsg-2
|
||||||
@@ -88,22 +88,22 @@ libkrb5support01.16-2ubuntu0.2
|
|||||||
libksba81.3.5-2
|
libksba81.3.5-2
|
||||||
libldap-2.4-22.4.45+dfsg-1ubuntu1.10
|
libldap-2.4-22.4.45+dfsg-1ubuntu1.10
|
||||||
libldap-common2.4.45+dfsg-1ubuntu1.10
|
libldap-common2.4.45+dfsg-1ubuntu1.10
|
||||||
liblz4-10.0~r131-2ubuntu3
|
liblz4-10.0~r131-2ubuntu3.1
|
||||||
liblzma55.2.2-1.3
|
liblzma55.2.2-1.3
|
||||||
libmagic11:5.32-2ubuntu0.4
|
libmagic11:5.32-2ubuntu0.4
|
||||||
libmagic-mgc1:5.32-2ubuntu0.4
|
libmagic-mgc1:5.32-2ubuntu0.4
|
||||||
libmount12.31.1-0.4ubuntu3.7
|
libmount12.31.1-0.4ubuntu3.7
|
||||||
libncurses56.1-1ubuntu1.18.04
|
libncurses56.1-1ubuntu1.18.04
|
||||||
libncursesw56.1-1ubuntu1.18.04
|
libncursesw56.1-1ubuntu1.18.04
|
||||||
libnettle63.4-1
|
libnettle63.4.1-0ubuntu0.18.04.1
|
||||||
libnghttp2-141.30.0-1ubuntu1
|
libnghttp2-141.30.0-1ubuntu1
|
||||||
libnpth01.5-3
|
libnpth01.5-3
|
||||||
libonig46.7.0-1
|
libonig46.7.0-1
|
||||||
libp11-kit00.23.9-2ubuntu0.1
|
libp11-kit00.23.9-2ubuntu0.1
|
||||||
libpam0g1.1.8-3.6ubuntu2.18.04.2
|
libpam0g1.1.8-3.6ubuntu2.18.04.3
|
||||||
libpam-modules1.1.8-3.6ubuntu2.18.04.2
|
libpam-modules1.1.8-3.6ubuntu2.18.04.3
|
||||||
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.2
|
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.3
|
||||||
libpam-runtime1.1.8-3.6ubuntu2.18.04.2
|
libpam-runtime1.1.8-3.6ubuntu2.18.04.3
|
||||||
libpcre32:8.39-9
|
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
|
||||||
@@ -117,7 +117,7 @@ librtmp12.4+20151223.gitfa8646d.1-1
|
|||||||
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.3
|
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.3
|
||||||
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.3
|
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.3
|
||||||
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.3
|
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.3
|
||||||
libseccomp22.4.3-1ubuntu3.18.04.3
|
libseccomp22.5.1-1ubuntu1~18.04.1
|
||||||
libselinux12.7-2build2
|
libselinux12.7-2build2
|
||||||
libsemanage12.7-2build2
|
libsemanage12.7-2build2
|
||||||
libsemanage-common2.7-2build2
|
libsemanage-common2.7-2build2
|
||||||
@@ -128,15 +128,15 @@ libss21.44.1-1ubuntu1.3
|
|||||||
libssl1.0.01.0.2n-1ubuntu5.6
|
libssl1.0.01.0.2n-1ubuntu5.6
|
||||||
libssl1.11.1.1-1ubuntu2.1~18.04.9
|
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.45
|
libsystemd0237-3ubuntu10.48
|
||||||
libtasn1-64.13-2
|
libtasn1-64.13-2
|
||||||
libtinfo56.1-1ubuntu1.18.04
|
libtinfo56.1-1ubuntu1.18.04
|
||||||
libudev1237-3ubuntu10.45
|
libudev1237-3ubuntu10.48
|
||||||
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
|
||||||
libx11-62:1.6.4-3ubuntu0.3
|
libx11-62:1.6.4-3ubuntu0.4
|
||||||
libx11-data2:1.6.4-3ubuntu0.3
|
libx11-data2:1.6.4-3ubuntu0.4
|
||||||
libxau61:1.0.8-1ubuntu1
|
libxau61:1.0.8-1ubuntu1
|
||||||
libxcb11.13-2~ubuntu18.04
|
libxcb11.13-2~ubuntu18.04
|
||||||
libxdmcp61:1.1.2-3
|
libxdmcp61:1.1.2-3
|
||||||
@@ -155,7 +155,7 @@ 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.22.1-1nodesource1
|
nodejs12.22.2-1nodesource1
|
||||||
openssh-client1:7.6p1-4ubuntu0.3
|
openssh-client1:7.6p1-4ubuntu0.3
|
||||||
openssl1.1.1-1ubuntu2.1~18.04.9
|
openssl1.1.1-1ubuntu2.1~18.04.9
|
||||||
passwd1:4.5-1ubuntu2
|
passwd1:4.5-1ubuntu2
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ opt_param_env_vars:
|
|||||||
- { env_var: "HASHED_PASSWORD", env_value: "", desc: "Optional web gui password, overrides `PASSWORD`, instructions on how to create it is below." }
|
- { 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/docs/FAQ.md#sub-domains)" }
|
||||||
|
|
||||||
optional_block_1: false
|
optional_block_1: false
|
||||||
optional_block_1_items: ""
|
optional_block_1_items: ""
|
||||||
@@ -75,6 +75,7 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { date: "08.05.21:", desc: "Fix doc link" }
|
||||||
- { date: "04.02.20:", desc: "Allow setting gui password via hash using env var `HASHED_PASSWORD`." }
|
- { 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." }
|
||||||
|
|||||||
@@ -3,20 +3,20 @@
|
|||||||
mkdir -p /config/{extensions,data,workspace,.ssh}
|
mkdir -p /config/{extensions,data,workspace,.ssh}
|
||||||
|
|
||||||
if [ -n "${SUDO_PASSWORD}" ] || [ -n "${SUDO_PASSWORD_HASH}" ]; then
|
if [ -n "${SUDO_PASSWORD}" ] || [ -n "${SUDO_PASSWORD_HASH}" ]; then
|
||||||
echo "setting up sudo access"
|
echo "setting up sudo access"
|
||||||
if ! grep -q 'abc' /etc/sudoers; then
|
if ! grep -q 'abc' /etc/sudoers; then
|
||||||
echo "adding abc to sudoers"
|
echo "adding abc to sudoers"
|
||||||
echo "abc ALL=(ALL:ALL) ALL" >> /etc/sudoers
|
echo "abc ALL=(ALL:ALL) ALL" >> /etc/sudoers
|
||||||
fi
|
fi
|
||||||
if [ -n "${SUDO_PASSWORD_HASH}" ]; then
|
if [ -n "${SUDO_PASSWORD_HASH}" ]; then
|
||||||
echo "setting sudo password using sudo password hash"
|
echo "setting sudo password using sudo password hash"
|
||||||
sed -i "s|^abc:\!:|abc:${SUDO_PASSWORD_HASH}:|" /etc/shadow
|
sed -i "s|^abc:\!:|abc:${SUDO_PASSWORD_HASH}:|" /etc/shadow
|
||||||
else
|
else
|
||||||
echo "setting sudo password using SUDO_PASSWORD env var"
|
echo "setting sudo password using SUDO_PASSWORD env var"
|
||||||
echo -e "${SUDO_PASSWORD}\n${SUDO_PASSWORD}" | passwd abc
|
echo -e "${SUDO_PASSWORD}\n${SUDO_PASSWORD}" | passwd abc
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# permissions
|
# permissions
|
||||||
chown -R abc:abc \
|
chown -R abc:abc \
|
||||||
/config
|
/config
|
||||||
|
|||||||
@@ -1,25 +1,25 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
if [ -n "${PASSWORD}" ] || [ -n "${HASHED_PASSWORD}" ]; then
|
if [ -n "${PASSWORD}" ] || [ -n "${HASHED_PASSWORD}" ]; then
|
||||||
AUTH="password"
|
AUTH="password"
|
||||||
else
|
else
|
||||||
AUTH="none"
|
AUTH="none"
|
||||||
echo "starting with no password"
|
echo "starting with no password"
|
||||||
fi
|
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
|
||||||
|
|
||||||
exec \
|
exec \
|
||||||
s6-setuidgid abc \
|
s6-setuidgid abc \
|
||||||
/usr/local/bin/code-server \
|
/usr/local/bin/code-server \
|
||||||
--bind-addr 0.0.0.0:8443 \
|
--bind-addr 0.0.0.0:8443 \
|
||||||
--user-data-dir /config/data \
|
--user-data-dir /config/data \
|
||||||
--extensions-dir /config/extensions \
|
--extensions-dir /config/extensions \
|
||||||
--disable-telemetry \
|
--disable-telemetry \
|
||||||
--auth "${AUTH}" \
|
--auth "${AUTH}" \
|
||||||
"${PROXY_DOMAIN_ARG}" \
|
"${PROXY_DOMAIN_ARG}" \
|
||||||
/config/workspace
|
/config/workspace
|
||||||
|
|||||||
Reference in New Issue
Block a user