Compare commits

...

34 Commits

Author SHA1 Message Date
LinuxServer-CI
fed7dcc619 Bot Updating Package Versions 2023-03-04 08:48:24 +01:00
LinuxServer-CI
cca5c601b0 Bot Updating Templated Files 2023-03-04 08:44:49 +01:00
LinuxServer-CI
6b1083a84a Bot Updating Package Versions 2023-02-26 13:29:55 +01:00
LinuxServer-CI
db3e708628 Bot Updating Package Versions 2023-02-15 21:47:41 +01:00
LinuxServer-CI
392976e04b Bot Updating Package Versions 2023-02-12 06:32:41 -06:00
LinuxServer-CI
044bae1e6e Bot Updating Templated Files 2023-02-12 06:29:34 -06:00
LinuxServer-CI
b274d7d4f0 Bot Updating Templated Files 2023-02-12 06:28:11 -06:00
LinuxServer-CI
eda42a9475 Bot Updating Package Versions 2023-01-22 06:27:26 -06:00
LinuxServer-CI
cf0baaa19b Bot Updating Package Versions 2023-01-15 13:27:20 +01:00
LinuxServer-CI
5264ef2d2c Bot Updating Package Versions 2023-01-08 06:28:23 -06:00
LinuxServer-CI
f4ecdc1b24 Bot Updating Package Versions 2022-12-16 18:45:48 +01:00
LinuxServer-CI
8b4f777e07 Bot Updating Package Versions 2022-12-06 10:56:25 -06:00
LinuxServer-CI
59b707226c Bot Updating Templated Files 2022-12-04 06:31:43 -06:00
LinuxServer-CI
37469a7963 Bot Updating Templated Files 2022-12-04 06:30:16 -06:00
LinuxServer-CI
29d0831ced Bot Updating Templated Files 2022-12-04 06:28:47 -06:00
LinuxServer-CI
0030ddc1a2 Bot Updating Package Versions 2022-11-27 13:29:37 +01:00
LinuxServer-CI
f0f3e4d153 Bot Updating Package Versions 2022-11-20 13:31:53 +01:00
LinuxServer-CI
1d88b3ebc1 Bot Updating Package Versions 2022-11-13 13:39:53 +01:00
LinuxServer-CI
7654a42739 Bot Updating Templated Files 2022-11-13 13:34:05 +01:00
LinuxServer-CI
67840bad2e Bot Updating Package Versions 2022-11-02 23:48:57 +01:00
LinuxServer-CI
4d030635a1 Bot Updating Package Versions 2022-10-28 12:05:59 -05:00
LinuxServer-CI
40f7cb1b82 Bot Updating Package Versions 2022-10-25 12:39:07 -05:00
LinuxServer-CI
9d5210b14a Bot Updating Package Versions 2022-10-23 14:40:36 +02:00
LinuxServer-CI
2d0ebfad3b Bot Updating Package Versions 2022-10-05 18:49:43 +02:00
aptalca
3223edf3a6 Merge pull request #128 from linuxserver/recommended
add back recommended deps
2022-10-05 12:44:31 -04:00
aptalca
3be76d82ea add back recommended deps 2022-10-05 12:21:53 -04:00
LinuxServer-CI
ad7b7bfcf6 Bot Updating Package Versions 2022-10-01 19:44:44 +02:00
aptalca
b55b470d99 Merge pull request #125 from linuxserver/jammy
rebase to jammy, switch to s6v3, fix chown
2022-10-01 13:40:31 -04:00
aptalca
300d1a22b3 increase readiness retries 2022-09-29 11:47:53 -04:00
aptalca
9a3c62fd32 add service readiness 2022-09-29 11:37:34 -04:00
aptalca
76b18b2e80 fix .ssh perms 2022-09-29 10:29:16 -04:00
aptalca
04cdba5c2b rebase to jammy, switch to s6v3, fix chown 2022-09-29 09:40:19 -04:00
LinuxServer-CI
c2fa63001f Bot Updating Package Versions 2022-09-25 07:37:42 -05:00
LinuxServer-CI
d0c5345eda Bot Updating Templated Files 2022-09-18 07:35:18 -05:00
32 changed files with 893 additions and 415 deletions

View File

@@ -15,6 +15,6 @@ trim_trailing_whitespace = false
indent_style = space indent_style = space
indent_size = 2 indent_size = 2
[{**.sh,root/etc/cont-init.d/**,root/etc/services.d/**}] [{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space indent_style = space
indent_size = 4 indent_size = 4

View File

@@ -1,40 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
<!--- Provide a general summary of the bug in the Title above -->
------------------------------
## Expected Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Environment
**OS:**
**CPU architecture:** x86_64/arm32/arm64
**How docker service was installed:**
<!--- ie. from the official docker repo, from the distro repo, nas OS provided, etc. -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
## Command used to create docker container (run/create/compose/screenshot)
<!--- Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container -->
## Docker logs
<!--- Provide a full docker log, output of "docker logs code-server" -->

77
.github/ISSUE_TEMPLATE/issue.bug.yml vendored Executable file
View File

@@ -0,0 +1,77 @@
# Based on the issue template
name: Bug report
description: Create a report to help us improve
title: "[BUG] <title>"
labels: [Bug]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Current Behavior
description: Tell us what happens instead of the expected behavior.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: Tell us what should happen.
validations:
required: false
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: true
- type: textarea
attributes:
label: Environment
description: |
examples:
- **OS**: Ubuntu 20.04
- **How docker service was installed**: distro's packagemanager
value: |
- OS:
- How docker service was installed:
render: markdown
validations:
required: false
- type: dropdown
attributes:
label: CPU architecture
options:
- x86-64
- arm64
- armhf
validations:
required: true
- type: textarea
attributes:
label: Docker creation
description: |
Command used to create docker container
Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container
render: bash
validations:
required: true
- type: textarea
attributes:
description: |
Provide a full docker log, output of "docker logs linuxserver.io"
label: Container logs
placeholder: |
Output of `docker logs linuxserver.io`
render: bash
validations:
required: true

View File

@@ -1,25 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
---
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
<!--- If this acts as a feature request please 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/ -->
<!--- Provide a general summary of the request in the Title above -->
------------------------------
## Desired Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Alternatives Considered
<!--- Tell us what other options you have tried or considered -->

31
.github/ISSUE_TEMPLATE/issue.feature.yml vendored Executable file
View File

@@ -0,0 +1,31 @@
# Based on the issue template
name: Feature request
description: Suggest an idea for this project
title: "[FEAT] <title>"
labels: [enhancement]
body:
- type: checkboxes
attributes:
label: Is this a new feature request?
description: Please search to see if a feature request already exists.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Wanted change
description: Tell us what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Reason for change
description: Justify your request, why do you want it, what is the benefit.
validations:
required: true
- type: textarea
attributes:
label: Proposed code change
description: Do you have a potential code change in mind?
validations:
required: false

12
.github/workflows/call_invalid_helper.yml vendored Executable file
View File

@@ -0,0 +1,12 @@
name: Comment on invalid interaction
on:
issues:
types:
- labeled
jobs:
add-comment-on-invalid:
if: github.event.label.name == 'invalid'
permissions:
issues: write
uses: linuxserver/github-workflows/.github/workflows/invalid-interaction-helper.yml@v1
secrets: inherit

View File

@@ -7,7 +7,7 @@ jobs:
external-trigger-master: external-trigger-master:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2.3.3 - uses: actions/checkout@v3.1.0
- name: External Trigger - name: External Trigger
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'
@@ -48,8 +48,12 @@ jobs:
| jq -r '.config.digest') | 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}")
| jq -r '.container_config') if [[ $(echo $image_info | jq -r '.container_config') == "null" ]]; then
image_info=$(echo $image_info | jq -r '.config')
else
image_info=$(echo $image_info | jq -r '.container_config')
fi
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}') IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}') IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
if [ -z "${IMAGE_VERSION}" ]; then if [ -z "${IMAGE_VERSION}" ]; then

View File

@@ -9,7 +9,7 @@ jobs:
external-trigger-scheduler: external-trigger-scheduler:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2.3.3 - uses: actions/checkout@v3.1.0
with: with:
fetch-depth: '0' fetch-depth: '0'

View File

@@ -8,6 +8,6 @@ jobs:
steps: steps:
- uses: actions/first-interaction@v1 - uses: actions/first-interaction@v1
with: with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-code-server/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-code-server/blob/master/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!' issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-code-server/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!' pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-code-server/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -7,7 +7,7 @@ jobs:
package-trigger-master: package-trigger-master:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2.3.3 - uses: actions/checkout@v3.1.0
- name: Package Trigger - name: Package Trigger
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'

View File

@@ -9,7 +9,7 @@ jobs:
package-trigger-scheduler: package-trigger-scheduler:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2.3.3 - uses: actions/checkout@v3.1.0
with: with:
fetch-depth: '0' fetch-depth: '0'

9
.github/workflows/permissions.yml vendored Executable file
View File

@@ -0,0 +1,9 @@
name: Permission check
on:
pull_request:
paths:
- '**/run'
- '**/finish'
jobs:
permission_check:
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1

View File

@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/stale@v3 - uses: actions/stale@v6.0.1
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."

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:focal FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -8,30 +8,24 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
LABEL maintainer="aptalca" LABEL maintainer="aptalca"
# environment settings # environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ENV HOME="/config" ENV HOME="/config"
RUN \ RUN \
echo "**** install node repo ****" && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_14.x focal main' \
> /etc/apt/sources.list.d/nodesource.list && \
echo "**** install build dependencies ****" && \
apt-get update && \
apt-get install -y \
build-essential \
nodejs && \
echo "**** install runtime dependencies ****" && \ echo "**** install runtime dependencies ****" && \
apt-get update && \
apt-get install -y \ apt-get install -y \
git \ git \
jq \ jq \
libatomic1 \ libatomic1 \
nano \ nano \
net-tools \ net-tools \
netcat \
sudo && \ sudo && \
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/coder/code-server/releases/latest \ CODE_RELEASE=$(curl -sX GET https://api.github.com/repos/coder/code-server/releases/latest \
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \ | awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
fi && \ fi && \
mkdir -p /app/code-server && \ mkdir -p /app/code-server && \
curl -o \ curl -o \
@@ -39,22 +33,13 @@ RUN \
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-amd64.tar.gz" && \ "https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-amd64.tar.gz" && \
tar xf /tmp/code-server.tar.gz -C \ tar xf /tmp/code-server.tar.gz -C \
/app/code-server --strip-components=1 && \ /app/code-server --strip-components=1 && \
echo "**** patch 4.0.2 ****" && \
if [ "${CODE_RELEASE}" = "4.0.2" ] && [ "$(uname -m)" != "x86_64" ]; then \
cd /app/code-server && \
npm i --production @node-rs/argon2; \
fi && \
echo "**** clean up ****" && \ echo "**** clean up ****" && \
apt-get purge --auto-remove -y \
build-essential \
nodejs && \
apt-get clean && \ apt-get clean && \
rm -rf \ rm -rf \
/config/* \ /config/* \
/tmp/* \ /tmp/* \
/var/lib/apt/lists/* \ /var/lib/apt/lists/* \
/var/tmp/* \ /var/tmp/*
/etc/apt/sources.list.d/nodesource.list
# add local files # add local files
COPY /root / COPY /root /

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -8,30 +8,24 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
LABEL maintainer="aptalca" LABEL maintainer="aptalca"
# environment settings # environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ENV HOME="/config" ENV HOME="/config"
RUN \ RUN \
echo "**** install node repo ****" && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_14.x focal main' \
> /etc/apt/sources.list.d/nodesource.list && \
echo "**** install build dependencies ****" && \
apt-get update && \
apt-get install -y \
build-essential \
nodejs && \
echo "**** install runtime dependencies ****" && \ echo "**** install runtime dependencies ****" && \
apt-get update && \
apt-get install -y \ apt-get install -y \
git \ git \
jq \ jq \
libatomic1 \ libatomic1 \
nano \ nano \
net-tools \ net-tools \
netcat \
sudo && \ sudo && \
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/coder/code-server/releases/latest \ CODE_RELEASE=$(curl -sX GET https://api.github.com/repos/coder/code-server/releases/latest \
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \ | awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
fi && \ fi && \
mkdir -p /app/code-server && \ mkdir -p /app/code-server && \
curl -o \ curl -o \
@@ -39,22 +33,13 @@ RUN \
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-arm64.tar.gz" && \ "https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-arm64.tar.gz" && \
tar xf /tmp/code-server.tar.gz -C \ tar xf /tmp/code-server.tar.gz -C \
/app/code-server --strip-components=1 && \ /app/code-server --strip-components=1 && \
echo "**** patch 4.0.2 ****" && \
if [ "${CODE_RELEASE}" = "4.0.2" ] && [ "$(uname -m)" != "x86_64" ]; then \
cd /app/code-server && \
npm i --production @node-rs/argon2; \
fi && \
echo "**** clean up ****" && \ echo "**** clean up ****" && \
apt-get purge --auto-remove -y \
build-essential \
nodejs && \
apt-get clean && \ apt-get clean && \
rm -rf \ rm -rf \
/config/* \ /config/* \
/tmp/* \ /tmp/* \
/var/lib/apt/lists/* \ /var/lib/apt/lists/* \
/var/tmp/* \ /var/tmp/*
/etc/apt/sources.list.d/nodesource.list
# add local files # add local files
COPY /root / COPY /root /

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -8,30 +8,24 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
LABEL maintainer="aptalca" LABEL maintainer="aptalca"
# environment settings # environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ENV HOME="/config" ENV HOME="/config"
RUN \ RUN \
echo "**** install node repo ****" && \
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo 'deb https://deb.nodesource.com/node_14.x focal main' \
> /etc/apt/sources.list.d/nodesource.list && \
echo "**** install build dependencies ****" && \
apt-get update && \
apt-get install -y \
build-essential \
nodejs && \
echo "**** install runtime dependencies ****" && \ echo "**** install runtime dependencies ****" && \
apt-get update && \
apt-get install -y \ apt-get install -y \
git \ git \
jq \ jq \
libatomic1 \ libatomic1 \
nano \ nano \
net-tools \ net-tools \
netcat \
sudo && \ sudo && \
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/coder/code-server/releases/latest \ CODE_RELEASE=$(curl -sX GET https://api.github.com/repos/coder/code-server/releases/latest \
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \ | awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
fi && \ fi && \
mkdir -p /app/code-server && \ mkdir -p /app/code-server && \
curl -o \ curl -o \
@@ -39,22 +33,13 @@ RUN \
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-armv7l.tar.gz" && \ "https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-armv7l.tar.gz" && \
tar xf /tmp/code-server.tar.gz -C \ tar xf /tmp/code-server.tar.gz -C \
/app/code-server --strip-components=1 && \ /app/code-server --strip-components=1 && \
echo "**** patch 4.0.2 ****" && \
if [ "${CODE_RELEASE}" = "4.0.2" ] && [ "$(uname -m)" != "x86_64" ]; then \
cd /app/code-server && \
npm i --production @node-rs/argon2; \
fi && \
echo "**** clean up ****" && \ echo "**** clean up ****" && \
apt-get purge --auto-remove -y \
build-essential \
nodejs && \
apt-get clean && \ apt-get clean && \
rm -rf \ rm -rf \
/config/* \ /config/* \
/tmp/* \ /tmp/* \
/var/lib/apt/lists/* \ /var/lib/apt/lists/* \
/var/tmp/* \ /var/tmp/*
/etc/apt/sources.list.d/nodesource.list
# add local files # add local files
COPY /root / COPY /root /

76
Jenkinsfile vendored
View File

@@ -56,7 +56,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 .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' env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.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/call_invalid_helper.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
} }
script{ script{
env.LS_RELEASE_NUMBER = sh( env.LS_RELEASE_NUMBER = sh(
@@ -277,7 +277,7 @@ pipeline {
echo "Jenkinsfile is up to date." echo "Jenkinsfile is up to date."
fi fi
# Stage 2 - Delete old templates # Stage 2 - Delete old templates
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md" OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md\n.github/ISSUE_TEMPLATE/issue.bug.md\n.github/ISSUE_TEMPLATE/issue.feature.md"
for i in ${OLD_TEMPLATES}; do for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -442,7 +442,8 @@ pipeline {
} }
steps { steps {
echo "Running on node: ${NODE_NAME}" echo "Running on node: ${NODE_NAME}"
sh "docker build \ sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile"
sh "docker buildx build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \ --label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \ --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \
@@ -455,7 +456,7 @@ pipeline {
--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} \ --no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
--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} ."
} }
} }
@@ -472,7 +473,8 @@ pipeline {
stage('Build X86') { stage('Build X86') {
steps { steps {
echo "Running on node: ${NODE_NAME}" echo "Running on node: ${NODE_NAME}"
sh "docker build \ sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile"
sh "docker buildx build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \ --label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \ --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \
@@ -485,7 +487,7 @@ pipeline {
--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} \ --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
--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} ."
} }
} }
@@ -499,7 +501,8 @@ pipeline {
sh '''#! /bin/bash sh '''#! /bin/bash
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
''' '''
sh "docker build \ sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf"
sh "docker buildx build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \ --label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \ --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \
@@ -512,7 +515,7 @@ pipeline {
--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.armhf -t ${IMAGE}:arm32v7-${META_TAG} \ --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \
--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}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) { retry(5) {
@@ -533,7 +536,8 @@ pipeline {
sh '''#! /bin/bash sh '''#! /bin/bash
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
''' '''
sh "docker build \ sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.aarch64"
sh "docker buildx build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \ --label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \ --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-code-server/packages\" \
@@ -546,7 +550,7 @@ pipeline {
--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} \ --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
--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 "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) { retry(5) {
@@ -575,26 +579,12 @@ pipeline {
else else
LOCAL_CONTAINER=${IMAGE}:${META_TAG} LOCAL_CONTAINER=${IMAGE}:${META_TAG}
fi fi
if [ "${DIST_IMAGE}" == "alpine" ]; then touch ${TEMPDIR}/package_versions.txt
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\ docker run --rm \
apk info -v > /tmp/package_versions.txt && \ -v /var/run/docker.sock:/var/run/docker.sock:ro \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \ -v ${TEMPDIR}:/tmp \
chmod 777 /tmp/package_versions.txt' ghcr.io/anchore/syft:latest \
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then ${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
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 && \
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
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"
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
@@ -710,7 +700,7 @@ pipeline {
-e DO_REGION="ams3" \ -e DO_REGION="ams3" \
-e DO_BUCKET="lsio-ci" \ -e DO_BUCKET="lsio-ci" \
-t ghcr.io/linuxserver/ci:latest \ -t ghcr.io/linuxserver/ci:latest \
python /ci/ci.py''' python3 test_build.py'''
} }
} }
} }
@@ -805,19 +795,19 @@ pipeline {
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
if [ "${CI}" == "false" ]; then if [ "${CI}" == "false" ]; 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 tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} 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 for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_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 tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER} docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
@@ -825,13 +815,13 @@ pipeline {
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER} docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
fi fi
docker push ${MANIFESTIMAGE}:amd64-${META_TAG} docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then if [ -n "${SEMVER}" ]; then
docker push ${MANIFESTIMAGE}:amd64-${SEMVER} docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
@@ -977,12 +967,12 @@ pipeline {
sh 'echo "build aborted"' sh 'echo "build aborted"'
} }
else if (currentBuild.currentResult == "SUCCESS"){ else if (currentBuild.currentResult == "SUCCESS"){
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\ sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 1681177,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\ "description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} ''' "username": "Jenkins"}' ${BUILDS_DISCORD} '''
} }
else { else {
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\ sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 16711680,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\ "description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} ''' "username": "Jenkins"}' ${BUILDS_DISCORD} '''
} }

View File

@@ -62,17 +62,7 @@ The architectures supported by this image are:
| :----: | :----: | ---- | | :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> | | x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> | | arm64 | ✅ | arm64v8-\<version tag\> |
| armhf| ✅ | arm32v7-\<version tag\> | | armhf | ✅ | arm32v7-\<version tag\> |
## Version Tags
This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.
| Tag | Available | Description |
| :----: | :----: |--- |
| latest | ✅ | Stable releases |
| focal | ✅ | DEPRECATED (no longer updated, `latest` is rebased on focal) - Stable releases, based on Ubuntu Focal |
| development | ✅ | DEPRECATED (no longer updated) - Prereleases from their GitHub |
## Application Setup ## Application Setup
@@ -105,7 +95,7 @@ services:
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=Europe/London - TZ=Etc/UTC
- PASSWORD=password #optional - PASSWORD=password #optional
- HASHED_PASSWORD= #optional - HASHED_PASSWORD= #optional
- SUDO_PASSWORD=password #optional - SUDO_PASSWORD=password #optional
@@ -126,7 +116,7 @@ docker run -d \
--name=code-server \ --name=code-server \
-e PUID=1000 \ -e PUID=1000 \
-e PGID=1000 \ -e PGID=1000 \
-e TZ=Europe/London \ -e TZ=Etc/UTC \
-e PASSWORD=password `#optional` \ -e PASSWORD=password `#optional` \
-e HASHED_PASSWORD= `#optional` \ -e HASHED_PASSWORD= `#optional` \
-e SUDO_PASSWORD=password `#optional` \ -e SUDO_PASSWORD=password `#optional` \
@@ -137,6 +127,7 @@ docker run -d \
-v /path/to/appdata/config:/config \ -v /path/to/appdata/config:/config \
--restart unless-stopped \ --restart unless-stopped \
lscr.io/linuxserver/code-server:latest lscr.io/linuxserver/code-server:latest
``` ```
## Parameters ## Parameters
@@ -148,7 +139,7 @@ Container images are configured using parameters passed at runtime (such as thos
| `-p 8443` | web gui | | `-p 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=Europe/London` | Specify a timezone to use EG Europe/London | | `-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 PASSWORD=password` | Optional web gui password, if `PASSWORD` or `HASHED_PASSWORD` is 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 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. |
@@ -266,6 +257,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **05.10.22:** - Install recommended deps to maintain parity with the older images.
* **29.09.22:** - Rebase to jammy, switch to s6v3. Fix chown logic to skip `/config/workspace` contents.
* **20.02.22:** - Install using the official tarballs. * **20.02.22:** - Install using the official tarballs.
* **29.12.21:** - Add `install-extension` as a helper for mods to install extensions. * **29.12.21:** - Add `install-extension` as a helper for mods to install extensions.
* **06.12.21:** - Add `DEFAULT_WORKSPACE` env var. * **06.12.21:** - Add `DEFAULT_WORKSPACE` env var.

View File

@@ -1,176 +1,654 @@
adduser3.118ubuntu2 NAME VERSION TYPE
apt2.0.9 1to2 1.0.0 npm
apt-utils2.0.9 @babel/runtime 7.20.7 npm
base-files11ubuntu5.5 @coder/logger 3.0.0 npm
base-passwd3.5.47 @google-cloud/common 3.10.0 npm
bash5.0-6ubuntu1.1 @google-cloud/logging 9.9.0 npm
bsdutils1:2.34-0.1ubuntu9.3 @google-cloud/paginator 3.0.7 npm
bzip21.0.8-2 @google-cloud/projectify 2.1.1 npm
ca-certificates20211016~20.04.1 @google-cloud/promisify 2.0.4 npm
coreutils8.30-3ubuntu2 @grpc/grpc-js 1.6.12 npm
curl7.68.0-1ubuntu2.13 @grpc/proto-loader 0.6.13 npm
dash0.5.10.2-6 @grpc/proto-loader 0.7.5 npm
debconf1.5.73 @mapbox/node-pre-gyp 1.0.10 npm
debianutils4.9.1 @microsoft/1ds-core-js 3.2.3 npm
diffutils1:3.7-3 @microsoft/1ds-post-js 3.2.3 npm
dirmngr2.2.19-3ubuntu2.2 @microsoft/applicationinsights-core-js 2.8.4 npm
dpkg1.19.7ubuntu3 @microsoft/applicationinsights-shims 2.0.1 npm
e2fsprogs1.45.5-2ubuntu1 @microsoft/dynamicproto-js 1.1.6 npm
fdisk2.34-0.1ubuntu9.3 @parcel/watcher 2.1.0 npm
findutils4.7.0-1ubuntu1 @phc/format 1.0.0 npm
gcc-10-base10.3.0-1ubuntu1~20.04 @protobufjs/aspromise 1.1.2 npm
git1:2.25.1-1ubuntu3.5 @protobufjs/base64 1.1.2 npm
git-man1:2.25.1-1ubuntu3.5 @protobufjs/codegen 2.0.4 npm
gnupg2.2.19-3ubuntu2.2 @protobufjs/eventemitter 1.1.0 npm
gnupg-l10n2.2.19-3ubuntu2.2 @protobufjs/fetch 1.1.0 npm
gnupg-utils2.2.19-3ubuntu2.2 @protobufjs/float 1.0.2 npm
gpg2.2.19-3ubuntu2.2 @protobufjs/inquire 1.1.0 npm
gpg-agent2.2.19-3ubuntu2.2 @protobufjs/path 1.1.2 npm
gpgconf2.2.19-3ubuntu2.2 @protobufjs/pool 1.1.0 npm
gpgsm2.2.19-3ubuntu2.2 @protobufjs/utf8 1.1.0 npm
gpgv2.2.19-3ubuntu2.2 @tootallnate/once 1.1.2 npm
gpg-wks-client2.2.19-3ubuntu2.2 @tootallnate/once 2.0.0 npm
gpg-wks-server2.2.19-3ubuntu2.2 @types/long 4.0.2 npm
grep3.4-1 @types/node 16.11.41 npm
gzip1.10-0ubuntu4 @vscode/iconv-lite-umd 0.7.0 npm
hostname3.23 @vscode/ripgrep 1.14.2 npm
init-system-helpers1.57 @vscode/vscode-languagedetection 1.0.21 npm
jq1.6-1ubuntu0.20.04.1 abbrev 1.1.1 npm
krb5-locales1.17-6ubuntu4.1 abort-controller 3.0.0 npm
less551-1ubuntu0.1 accepts 1.3.7 npm
libacl12.2.53-6 acorn 8.7.0 npm
libapt-pkg6.02.0.9 acorn-walk 8.2.0 npm
libasn1-8-heimdal7.7.0+dfsg-1ubuntu1 adduser 3.118ubuntu5 deb
libassuan02.5.3-7ubuntu2 agent-base 4.2.0 npm
libatomic110.3.0-1ubuntu1~20.04 agent-base 4.3.0 npm
libattr11:2.4.48-5 agent-base 6.0.2 npm
libaudit11:2.8.5-2ubuntu6 ansi-regex 2.1.1 npm
libaudit-common1:2.8.5-2ubuntu6 ansi-regex 5.0.1 npm
libblkid12.34-0.1ubuntu9.3 ansi-styles 4.3.0 npm
libbrotli11.0.7-6ubuntu0.1 aproba 1.2.0 npm
libbsd00.10.0-1 aproba 2.0.0 npm
libbz2-1.01.0.8-2 apt 2.4.8 deb
libc62.31-0ubuntu9.9 apt-utils 2.4.8 deb
libcap-ng00.7.9-2.1build1 are-we-there-yet 1.1.7 npm
libc-bin2.31-0ubuntu9.7 are-we-there-yet 2.0.0 npm
libcbor0.60.6.0-0ubuntu1 argon2 0.30.3 npm
libcom-err21.45.5-2ubuntu1 argparse 2.0.1 npm
libcrypt11:4.4.10-10ubuntu4 array-flatten 2.1.1 npm
libcurl3-gnutls7.68.0-1ubuntu2.13 arrify 2.0.1 npm
libcurl47.68.0-1ubuntu2.13 ast-types 0.13.4 npm
libdb5.35.3.28+dfsg1-0.6ubuntu2 balanced-match 1.0.2 npm
libdebconfclient00.251ubuntu1 base-files 12ubuntu4.3 deb
libedit23.1-20191231-1 base-passwd 3.5.52build1 deb
liberror-perl0.17029-1 base64-js 1.5.1 npm
libexpat12.2.9-1ubuntu0.4 bash 5.1-6ubuntu1 deb
libext2fs21.45.5-2ubuntu1 bat 1.0.0 npm
libfdisk12.34-0.1ubuntu9.3 beep-boop 1.2.3 npm
libffi73.3-4 bignumber.js 9.1.1 npm
libfido2-11.3.1-1ubuntu2 bindings 1.5.0 npm
libgcc-s110.3.0-1ubuntu1~20.04 bl 4.1.0 npm
libgcrypt201.8.5-5ubuntu1.1 body-parser 1.19.0 npm
libgdbm61.18.1-5 brace-expansion 1.1.11 npm
libgdbm-compat41.18.1-5 braces 3.0.2 npm
libgmp102:6.2.0+dfsg-4 bsdutils 1:2.37.2-4ubuntu3 deb
libgnutls303.6.13-2ubuntu1.6 buffer 5.7.1 npm
libgpg-error01.37-1 buffer-alloc 1.2.0 npm
libgssapi3-heimdal7.7.0+dfsg-1ubuntu1 buffer-alloc-unsafe 1.1.0 npm
libgssapi-krb5-21.17-6ubuntu4.1 buffer-crc32 0.2.13 npm
libhcrypto4-heimdal7.7.0+dfsg-1ubuntu1 buffer-equal-constant-time 1.0.1 npm
libheimbase1-heimdal7.7.0+dfsg-1ubuntu1 buffer-fill 1.0.0 npm
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1 builtin-notebook-renderers 1.0.0 npm
libhogweed53.5.1+really3.5.1-2ubuntu0.2 bytes 3.0.0 npm
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1 bytes 3.1.0 npm
libidn2-02.2.0-2 bytes 3.1.1 npm
libjq11.6-1ubuntu0.20.04.1 ca-certificates 20211016ubuntu0.22.04.1 deb
libk5crypto31.17-6ubuntu4.1 call-bind 1.0.2 npm
libkeyutils11.6-6ubuntu1.1 charenc 0.0.2 npm
libkrb5-26-heimdal7.7.0+dfsg-1ubuntu1 chownr 1.1.4 npm
libkrb5-31.17-6ubuntu4.1 chownr 2.0.0 npm
libkrb5support01.17-6ubuntu4.1 cliui 7.0.4 npm
libksba81.3.5-2 clojure 1.0.0 npm
libldap-2.4-22.4.49+dfsg-2ubuntu1.9 code-point-at 1.1.0 npm
libldap-common2.4.49+dfsg-2ubuntu1.9 code-server 4.10.1 npm
liblz4-11.9.2-2ubuntu0.20.04.1 coffeescript 1.0.0 npm
liblzma55.2.4-1ubuntu1 color-convert 2.0.1 npm
libmount12.34-0.1ubuntu9.3 color-name 1.1.4 npm
libncurses66.2-0ubuntu2 color-support 1.1.3 npm
libncursesw66.2-0ubuntu2 compressible 2.0.18 npm
libnettle73.5.1+really3.5.1-2ubuntu0.2 compression 1.7.4 npm
libnghttp2-141.40.0-1build1 concat-map 0.0.1 npm
libnpth01.6-1 configuration-editing 1.0.0 npm
libonig56.9.4-1 console-control-strings 1.1.0 npm
libp11-kit00.23.20-1ubuntu0.1 content-disposition 0.5.3 npm
libpam0g1.3.1-5ubuntu4.3 content-type 1.0.4 npm
libpam-modules1.3.1-5ubuntu4.3 cookie 0.4.0 npm
libpam-modules-bin1.3.1-5ubuntu4.3 cookie-parser 1.4.5 npm
libpam-runtime1.3.1-5ubuntu4.3 cookie-signature 1.0.6 npm
libpcre2-8-010.34-7 core-util-is 1.0.2 npm
libpcre32:8.39-12build1 core-util-is 1.0.3 npm
libperl5.305.30.0-9ubuntu0.2 coreutils 8.32-4.1ubuntu1 deb
libprocps82:3.3.16-1ubuntu2.3 cpp 1.0.0 npm
libpsl50.21.0-1ubuntu1 crypt 0.0.2 npm
libreadline88.0-4 csharp 1.0.0 npm
libroken18-heimdal7.7.0+dfsg-1ubuntu1 css 1.0.0 npm
librtmp12.4+20151223.gitfa8646d.1-2build1 css-language-features 1.0.0 npm
libsasl2-22.1.27+dfsg-2ubuntu0.1 curl 7.81.0-1ubuntu1.8 deb
libsasl2-modules2.1.27+dfsg-2ubuntu0.1 dart 1.0.0 npm
libsasl2-modules-db2.1.27+dfsg-2ubuntu0.1 dash 0.5.11+git20210903+057cd650a4ed-3build1 deb
libseccomp22.5.1-1ubuntu1~20.04.2 data-uri-to-buffer 3.0.1 npm
libselinux13.0-1build2 debconf 1.5.79ubuntu1 deb
libsemanage13.0-1build2 debianutils 5.5-1ubuntu2 deb
libsemanage-common3.0-1build2 debug 2.6.9 npm
libsepol13.0-1 debug 3.1.0 npm
libsmartcols12.34-0.1ubuntu9.3 debug 4.1.1 npm
libsqlite3-03.31.1-4ubuntu0.3 debug 4.3.1 npm
libss21.45.5-2ubuntu1 debug 4.3.4 npm
libssh-40.9.3-2ubuntu2.2 debug-auto-launch 1.0.0 npm
libssl1.11.1.1f-1ubuntu2.16 debug-server-ready 1.0.0 npm
libstdc++610.3.0-1ubuntu1~20.04 decompress-response 6.0.0 npm
libsystemd0245.4-4ubuntu3.15 deep-extend 0.6.0 npm
libtasn1-64.16.0-2 deep-is 0.1.4 npm
libtinfo66.2-0ubuntu2 degenerator 3.0.1 npm
libudev1245.4-4ubuntu3.15 delegates 1.0.0 npm
libunistring20.9.10-2 depd 1.1.2 npm
libuuid12.34-0.1ubuntu9.3 destroy 1.0.4 npm
libwind0-heimdal7.7.0+dfsg-1ubuntu1 detect-libc 2.0.1 npm
libx11-62:1.6.9-2ubuntu1.2 diff 1.0.0 npm
libx11-data2:1.6.9-2ubuntu1.2 diffutils 1:3.8-0ubuntu2 deb
libxau61:1.0.9-0ubuntu1 dirmngr 2.2.27-3ubuntu2.1 deb
libxcb11.14-2 docker 1.0.0 npm
libxdmcp61:1.1.3-0ubuntu1 dot-prop 6.0.1 npm
libxext62:1.3.4-0ubuntu1 dpkg 1.21.1ubuntu2.1 deb
libxmuu12:1.1.3-0ubuntu1 duplexify 4.1.2 npm
libzstd11.4.4+dfsg-3ubuntu0.1 e2fsprogs 1.46.5-2ubuntu1.1 deb
locales2.31-0ubuntu9.9 ecdsa-sig-formatter 1.0.11 npm
login1:4.8.1-1ubuntu5.20.04.1 ee-first 1.1.1 npm
logsave1.45.5-2ubuntu1 emmet 1.0.0 npm
lsb-base11.1.0ubuntu2 emoji-regex 8.0.0 npm
mawk1.3.4.20200120-2 encodeurl 1.0.2 npm
mount2.34-0.1ubuntu9.3 end-of-stream 1.4.4 npm
nano4.8-1ubuntu1 ent 2.2.0 npm
ncurses-base6.2-0ubuntu2 env-paths 2.2.1 npm
ncurses-bin6.2-0ubuntu2 es6-promise 4.2.4 npm
netbase6.1 es6-promisify 5.0.0 npm
net-tools1.60+git20180626.aebd88e-1ubuntu1 es6-promisify 6.1.1 npm
openssh-client1:8.2p1-4ubuntu0.5 escalade 3.1.1 npm
openssl1.1.1f-1ubuntu2.16 escape-html 1.0.3 npm
passwd1:4.8.1-1ubuntu5.20.04.1 escodegen 1.14.3 npm
patch2.7.6-6 esprima 4.0.1 npm
perl5.30.0-9ubuntu0.2 estraverse 4.3.0 npm
perl-base5.30.0-9ubuntu0.2 esutils 2.0.3 npm
perl-modules-5.305.30.0-9ubuntu0.2 etag 1.8.1 npm
pinentry-curses1.1.0-3build1 event-target-shim 5.0.1 npm
procps2:3.3.16-1ubuntu2.3 eventemitter3 4.0.7 npm
publicsuffix20200303.0012-1 eventid 2.0.1 npm
readline-common8.0-4 expand-template 2.0.3 npm
sed4.7-1 express 5.0.0-alpha.8 npm
sensible-utils0.0.12+nmu1 extend 3.0.2 npm
sudo1.8.31-1ubuntu1.2 extension-editing 1.0.0 npm
sysvinit-utils2.96-2.1ubuntu1 fast-levenshtein 2.0.6 npm
tar1.30+dfsg-7ubuntu0.20.04.2 fast-text-encoding 1.0.6 npm
tzdata2022c-0ubuntu0.20.04.0 fd-slicer 1.1.0 npm
ubuntu-keyring2020.02.11.4 file-uri-to-path 1.0.0 npm
util-linux2.34-0.1ubuntu9.3 file-uri-to-path 2.0.0 npm
xauth1:1.1-0ubuntu1 fill-range 7.0.1 npm
zlib1g1:1.2.11.dfsg-2ubuntu1.2 finalhandler 1.1.2 npm
findutils 4.8.0-1ubuntu3 deb
follow-redirects 1.14.8 npm
forwarded 0.1.2 npm
fresh 0.5.2 npm
fs-constants 1.0.0 npm
fs-extra 8.1.0 npm
fs-minipass 2.1.0 npm
fs.realpath 1.0.0 npm
fsharp 1.0.0 npm
ftp 0.3.10 npm
function-bind 1.1.1 npm
gauge 2.7.4 npm
gauge 3.0.2 npm
gaxios 4.3.3 npm
gcc-12-base 12.1.0-2ubuntu1~22.04 deb
gcp-metadata 4.3.1 npm
get-caller-file 2.0.5 npm
get-intrinsic 1.1.1 npm
get-uri 3.0.2 npm
git 1.0.0 npm
git 1:2.34.1-1ubuntu1.8 deb
git-base 1.0.0 npm
git-man 1:2.34.1-1ubuntu1.8 deb
github 0.0.1 npm
github-authentication 0.0.2 npm
github-from-package 0.0.0 npm
glob 7.2.3 npm
gnupg 2.2.27-3ubuntu2.1 deb
gnupg-l10n 2.2.27-3ubuntu2.1 deb
gnupg-utils 2.2.27-3ubuntu2.1 deb
go 1.0.0 npm
google-auth-library 7.14.1 npm
google-gax 2.30.5 npm
google-p12-pem 3.1.4 npm
gpg 2.2.27-3ubuntu2.1 deb
gpg-agent 2.2.27-3ubuntu2.1 deb
gpg-wks-client 2.2.27-3ubuntu2.1 deb
gpg-wks-server 2.2.27-3ubuntu2.1 deb
gpgconf 2.2.27-3ubuntu2.1 deb
gpgsm 2.2.27-3ubuntu2.1 deb
gpgv 2.2.27-3ubuntu2.1 deb
graceful-fs 4.2.8 npm
grep 3.7-1build1 deb
groovy 1.0.0 npm
grunt 1.0.0 npm
gtoken 5.3.2 npm
gulp 1.0.0 npm
gzip 1.10-4ubuntu4.1 deb
handlebars 1.0.0 npm
has 1.0.3 npm
has-symbols 1.0.2 npm
has-unicode 2.0.1 npm
hlsl 1.0.0 npm
hostname 3.23ubuntu2 deb
html 1.0.0 npm
html-language-features 1.0.0 npm
http-errors 1.7.2 npm
http-errors 1.7.3 npm
http-errors 1.8.1 npm
http-proxy 1.18.1 npm
http-proxy-agent 2.1.0 npm
http-proxy-agent 4.0.1 npm
http-proxy-agent 5.0.0 npm
httpolyglot 0.1.2 npm
https-proxy-agent 2.2.4 npm
https-proxy-agent 5.0.0 npm
i18next 22.4.6 npm
iconv-lite 0.4.24 npm
ieee754 1.2.1 npm
inflight 1.0.6 npm
inherits 2.0.3 npm
inherits 2.0.4 npm
ini 1.0.0 npm
ini 1.3.8 npm
init-system-helpers 1.62 deb
ip 1.1.5 npm
ipaddr.js 1.9.1 npm
ipynb 1.0.0 npm
is-buffer 1.1.6 npm
is-extglob 2.1.1 npm
is-fullwidth-code-point 1.0.0 npm
is-fullwidth-code-point 3.0.0 npm
is-glob 4.0.3 npm
is-number 7.0.0 npm
is-obj 2.0.0 npm
is-stream 2.0.1 npm
is-stream-ended 0.1.4 npm
isarray 0.0.1 npm
isarray 1.0.0 npm
isexe 2.0.0 npm
jake 1.0.0 npm
java 1.0.0 npm
javascript 1.0.0 npm
jq 1.6-2.1ubuntu3 deb
js-debug 1.75.1 npm
js-debug-companion 1.0.18 npm
js-yaml 4.1.0 npm
jschardet 3.0.0 npm
json 1.0.0 npm
json-bigint 1.0.0 npm
json-language-features 1.0.0 npm
jsonfile 4.0.0 npm
julia 1.0.0 npm
just-performance 4.3.0 npm
jwa 2.0.0 npm
jws 4.0.0 npm
keytar 7.9.0 npm
latex 1.0.0 npm
less 1.0.0 npm
less 590-1ubuntu0.22.04.1 deb
levn 0.3.0 npm
libacl1 2.3.1-1 deb
libapt-pkg6.0 2.4.8 deb
libassuan0 2.5.5-1build1 deb
libatomic1 12.1.0-2ubuntu1~22.04 deb
libattr1 1:2.5.1-1build1 deb
libaudit-common 1:3.0.7-1build1 deb
libaudit1 1:3.0.7-1build1 deb
libblkid1 2.37.2-4ubuntu3 deb
libbrotli1 1.0.9-2build6 deb
libbsd0 0.11.5-1 deb
libbz2-1.0 1.0.8-5build1 deb
libc-bin 2.35-0ubuntu3.1 deb
libc6 2.35-0ubuntu3.1 deb
libcap-ng0 0.7.9-2.2build3 deb
libcap2 1:2.44-1build3 deb
libcbor0.8 0.8.0-2ubuntu1 deb
libcom-err2 1.46.5-2ubuntu1.1 deb
libcrypt1 1:4.4.27-1 deb
libcurl3-gnutls 7.81.0-1ubuntu1.8 deb
libcurl4 7.81.0-1ubuntu1.8 deb
libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb
libdebconfclient0 0.261ubuntu1 deb
libedit2 3.1-20210910-1build1 deb
liberror-perl 0.17029-1 deb
libexpat1 2.4.7-1ubuntu0.2 deb
libext2fs2 1.46.5-2ubuntu1.1 deb
libffi8 3.4.2-4 deb
libfido2-1 1.10.0-1 deb
libgcc-s1 12.1.0-2ubuntu1~22.04 deb
libgcrypt20 1.9.4-3ubuntu3 deb
libgdbm-compat4 1.23-1 deb
libgdbm6 1.23-1 deb
libgmp10 2:6.2.1+dfsg-3ubuntu1 deb
libgnutls30 3.7.3-4ubuntu1.1 deb
libgpg-error0 1.43-3 deb
libgssapi-krb5-2 1.19.2-2ubuntu0.1 deb
libhogweed6 3.7.3-1build2 deb
libidn2-0 2.3.2-2build1 deb
libjq1 1.6-2.1ubuntu3 deb
libk5crypto3 1.19.2-2ubuntu0.1 deb
libkeyutils1 1.6.1-2ubuntu3 deb
libkrb5-3 1.19.2-2ubuntu0.1 deb
libkrb5support0 1.19.2-2ubuntu0.1 deb
libksba8 1.6.0-2ubuntu0.2 deb
libldap-2.5-0 2.5.13+dfsg-0ubuntu0.22.04.1 deb
libldap-common 2.5.13+dfsg-0ubuntu0.22.04.1 deb
liblz4-1 1.9.3-2build2 deb
liblzma5 5.2.5-2ubuntu1 deb
libmd0 1.0.4-1build1 deb
libmount1 2.37.2-4ubuntu3 deb
libncurses6 6.3-2 deb
libncursesw6 6.3-2 deb
libnettle8 3.7.3-1build2 deb
libnghttp2-14 1.43.0-1build3 deb
libnpth0 1.6-3build2 deb
libnsl2 1.3.0-2build2 deb
libonig5 6.9.7.1-2build1 deb
libp11-kit0 0.24.0-6build1 deb
libpam-modules 1.4.0-11ubuntu2.3 deb
libpam-modules-bin 1.4.0-11ubuntu2.3 deb
libpam-runtime 1.4.0-11ubuntu2.3 deb
libpam0g 1.4.0-11ubuntu2.3 deb
libpcre2-8-0 10.39-3ubuntu0.1 deb
libpcre3 2:8.39-13ubuntu0.22.04.1 deb
libperl5.34 5.34.0-3ubuntu1.1 deb
libprocps8 2:3.3.17-6ubuntu2 deb
libpsl5 0.21.0-1.2build2 deb
libreadline8 8.1.2-1 deb
librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb
libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb
libsasl2-modules 2.1.27+dfsg2-3ubuntu1.2 deb
libsasl2-modules-db 2.1.27+dfsg2-3ubuntu1.2 deb
libseccomp2 2.5.3-2ubuntu2 deb
libselinux1 3.3-1build2 deb
libsemanage-common 3.3-1build2 deb
libsemanage2 3.3-1build2 deb
libsepol2 3.3-1build1 deb
libsmartcols1 2.37.2-4ubuntu3 deb
libsqlite3-0 3.37.2-2ubuntu0.1 deb
libss2 1.46.5-2ubuntu1.1 deb
libssh-4 0.9.6-2build1 deb
libssl3 3.0.2-0ubuntu1.8 deb
libstdc++6 12.1.0-2ubuntu1~22.04 deb
libsystemd0 249.11-0ubuntu3.6 deb
libtasn1-6 4.18.0-4build1 deb
libtinfo6 6.3-2 deb
libtirpc-common 1.3.2-2ubuntu0.1 deb
libtirpc3 1.3.2-2ubuntu0.1 deb
libudev1 249.11-0ubuntu3.6 deb
libunistring2 1.0-1 deb
libuuid1 2.37.2-4ubuntu3 deb
libx11-6 2:1.7.5-1 deb
libx11-data 2:1.7.5-1 deb
libxau6 1:1.0.9-1build5 deb
libxcb1 1.14-3ubuntu3 deb
libxdmcp6 1:1.1.3-0ubuntu5 deb
libxext6 2:1.3.4-1build1 deb
libxmuu1 2:1.1.3-3 deb
libxxhash0 0.8.1-1 deb
libzstd1 1.4.8+dfsg-3build1 deb
limiter 2.1.0 npm
locales 2.35-0ubuntu3.1 deb
lodash.camelcase 4.3.0 npm
log 1.0.0 npm
login 1:4.8.1-2ubuntu2.1 deb
logsave 1.46.5-2ubuntu1.1 deb
long 4.0.0 npm
long 5.2.1 npm
lru-cache 5.1.1 npm
lru-cache 6.0.0 npm
lsb-base 11.1.0ubuntu4 deb
lua 1.0.0 npm
make 1.0.0 npm
make-dir 3.1.0 npm
markdown 1.0.0 npm
markdown-language-features 1.0.0 npm
markdown-math 1.0.0 npm
mawk 1.3.4.20200120-3 deb
md5 2.3.0 npm
media-preview 1.0.0 npm
media-typer 0.3.0 npm
merge-conflict 1.0.0 npm
merge-descriptors 1.0.1 npm
methods 1.1.2 npm
micromatch 4.0.5 npm
microsoft-authentication 0.0.1 npm
mime 1.6.0 npm
mime-db 1.47.0 npm
mime-types 2.1.30 npm
mimic-response 3.1.0 npm
minimatch 3.1.2 npm
minimist 1.2.6 npm
minipass 3.1.3 npm
minizlib 2.1.2 npm
mkdirp 0.5.5 npm
mkdirp 1.0.4 npm
mkdirp-classic 0.5.3 npm
mount 2.37.2-4ubuntu3 deb
ms 2.0.0 npm
ms 2.1.1 npm
ms 2.1.2 npm
nan 2.15.0 npm
nan 2.17.0 npm
nano 6.2-1 deb
napi-build-utils 1.0.2 npm
native-watchdog 1.4.1 npm
ncurses-base 6.3-2 deb
ncurses-bin 6.3-2 deb
negotiator 0.6.2 npm
net-tools 1.60+git20181103.0eebece-1ubuntu5 deb
netbase 6.3 deb
netcat 1.218-4ubuntu1 deb
netcat-openbsd 1.218-4ubuntu1 deb
netmask 2.0.2 npm
node 16.19.1 binary
node-abi 3.8.0 npm
node-addon-api 3.2.1 npm
node-addon-api 4.3.0 npm
node-addon-api 5.0.0 npm
node-fetch 2.6.7 npm
node-forge 1.3.1 npm
node-forge-flash 0.0.0 npm
node-gyp-build 4.3.0 npm
node-pty 0.11.0-beta27 npm
nopt 5.0.0 npm
npm 1.0.1 npm
npmlog 4.1.2 npm
npmlog 5.0.1 npm
number-is-nan 1.0.1 npm
nw-pre-gyp-module-test 0.0.1 npm
object-assign 4.1.1 npm
object-hash 3.0.0 npm
object-inspect 1.10.2 npm
objective-c 1.0.0 npm
on-finished 2.3.0 npm
on-headers 1.0.2 npm
once 1.4.0 npm
openssh-client 1:8.9p1-3ubuntu0.1 deb
openssl 3.0.2-0ubuntu1.8 deb
optionator 0.8.3 npm
os-tmpdir 1.0.2 npm
pac-proxy-agent 5.0.0 npm
pac-resolver 5.0.0 npm
parseurl 1.3.3 npm
passwd 1:4.8.1-2ubuntu2.1 deb
patch 2.7.6-7build2 deb
path-is-absolute 1.0.1 npm
path-to-regexp 0.1.7 npm
pem 1.14.4 npm
pend 1.2.0 npm
perl 1.0.0 npm
perl 5.34.0-3ubuntu1.1 deb
perl-base 5.34.0-3ubuntu1.1 deb
perl-modules-5.34 5.34.0-3ubuntu1.1 deb
php 1.0.0 npm
php-language-features 1.0.0 npm
picomatch 2.3.1 npm
pinentry-curses 1.1.1-1build2 deb
powershell 1.0.0 npm
prebuild-install 7.0.1 npm
prelude-ls 1.1.2 npm
process-nextick-args 2.0.1 npm
procps 2:3.3.17-6ubuntu2 deb
proto3-json-serializer 0.1.9 npm
protobufjs 6.11.3 npm
protobufjs 7.2.2 npm
proxy-addr 2.0.6 npm
proxy-agent 5.0.0 npm
proxy-from-env 1.1.0 npm
publicsuffix 20211207.1025-1 deb
pug 1.0.0 npm
pump 3.0.0 npm
pumpify 2.0.1 npm
python 1.0.0 npm
qs 6.11.0 npm
qs 6.7.0 npm
r 1.0.0 npm
range-parser 1.2.1 npm
raw-body 2.4.0 npm
raw-body 2.4.2 npm
razor 1.0.0 npm
rc 1.2.8 npm
readable-stream 1.1.14 npm
readable-stream 2.3.7 npm
readable-stream 3.6.0 npm
readable-stream 3.6.1 npm
readline-common 8.1.2-1 deb
references-view 1.0.0 npm
regenerator-runtime 0.13.11 npm
require-directory 2.1.1 npm
requires-port 1.0.0 npm
restructuredtext 1.0.0 npm
retry-request 4.2.2 npm
rimraf 3.0.2 npm
rotating-file-stream 3.0.0 npm
router 2.0.0-alpha.1 npm
ruby 1.0.0 npm
rust 1.0.0 npm
safe-buffer 5.1.2 npm
safe-buffer 5.2.1 npm
safe-compare 1.1.4 npm
safer-buffer 2.1.2 npm
scss 1.0.0 npm
search-result 1.0.0 npm
sed 4.8-1ubuntu2 deb
semver 6.3.0 npm
semver 7.3.5 npm
semver 7.3.8 npm
send 0.17.1 npm
sensible-utils 0.0.17 deb
serve-static 1.14.1 npm
set-blocking 2.0.0 npm
setprototypeof 1.1.0 npm
setprototypeof 1.1.1 npm
setprototypeof 1.2.0 npm
shaderlab 1.0.0 npm
shellscript 1.0.0 npm
side-channel 1.0.4 npm
signal-exit 3.0.6 npm
signal-exit 3.0.7 npm
simple-browser 1.0.0 npm
simple-concat 1.0.1 npm
simple-get 4.0.1 npm
smart-buffer 4.1.0 npm
smart-buffer 4.2.0 npm
socks 2.6.1 npm
socks-proxy-agent 5.0.0 npm
socks-proxy-agent 5.0.1 npm
source-map 0.6.1 npm
spdlog 0.13.6 npm
split2 4.1.0 npm
sql 1.0.0 npm
statuses 1.5.0 npm
stream-events 1.0.5 npm
stream-shift 1.0.1 npm
string-width 1.0.2 npm
string-width 4.2.2 npm
string-width 4.2.3 npm
string_decoder 0.10.31 npm
string_decoder 1.1.1 npm
string_decoder 1.3.0 npm
strip-ansi 3.0.1 npm
strip-ansi 6.0.1 npm
strip-json-comments 2.0.1 npm
stubs 3.0.0 npm
sudo 1.9.9-1ubuntu2.3 deb
swift 1.0.0 npm
sysvinit-utils 3.01-1ubuntu1 deb
tar 1.34+dfsg-1build3 deb
tar 6.1.11 npm
tar-fs 2.1.1 npm
tar-stream 2.2.0 npm
tas-client-umd 0.1.6 npm
teeny-request 7.2.0 npm
theme-abyss 1.0.0 npm
theme-defaults 1.0.0 npm
theme-kimbie-dark 1.0.0 npm
theme-monokai 1.0.0 npm
theme-monokai-dimmed 1.0.0 npm
theme-quietlight 1.0.0 npm
theme-red 1.0.0 npm
theme-solarized-dark 1.0.0 npm
theme-solarized-light 1.0.0 npm
theme-tomorrow-night-blue 1.0.0 npm
to-regex-range 5.0.1 npm
toidentifier 1.0.0 npm
toidentifier 1.0.1 npm
tr46 0.0.3 npm
tslib 2.3.1 npm
tunnel-agent 0.6.0 npm
type-check 0.3.2 npm
type-is 1.6.18 npm
typescript 1.0.0 npm
typescript 4.9.5 npm
typescript-language-features 1.0.0 npm
tzdata 2022g-0ubuntu0.22.04.1 deb
ubuntu-keyring 2021.03.26 deb
universalify 0.1.2 npm
unpipe 1.0.0 npm
usrmerge 25ubuntu2 deb
util-deprecate 1.0.2 npm
util-linux 2.37.2-4ubuntu3 deb
utils-merge 1.0.1 npm
uuid 8.3.2 npm
vary 1.1.2 npm
vb 1.0.0 npm
vm2 3.9.11 npm
vscode-css-languageserver 1.0.0 npm
vscode-extensions 0.0.1 npm
vscode-html-languageserver 1.0.0 npm
vscode-js-profile-table 1.0.3 npm
vscode-json-languageserver 1.3.4 npm
vscode-markdown-languageserver 0.2.0 npm
vscode-oniguruma 1.7.0 npm
vscode-proxy-agent 0.12.0 npm
vscode-regexpp 3.1.0 npm
vscode-reh 1.75.1 npm
vscode-textmate 8.0.0 npm
vscode-theme-seti 1.0.0 npm
webidl-conversions 3.0.1 npm
whatwg-url 5.0.0 npm
which 2.0.2 npm
wide-align 1.1.5 npm
word-wrap 1.2.3 npm
wrap-ansi 7.0.0 npm
wrappy 1.0.2 npm
ws 8.2.0 npm
xauth 1:1.1-1build2 deb
xdg-basedir 4.0.0 npm
xml 1.0.0 npm
xregexp 2.0.0 npm
xterm 5.2.0-beta.21 npm
xterm-addon-canvas 0.4.0-beta.7 npm
xterm-addon-search 0.11.0 npm
xterm-addon-serialize 0.9.0 npm
xterm-addon-unicode11 0.5.0 npm
xterm-addon-webgl 0.15.0-beta.4 npm
xterm-headless 5.2.0-beta.21 npm
y18n 5.0.8 npm
yallist 3.1.1 npm
yallist 4.0.0 npm
yaml 1.0.0 npm
yargs 16.2.0 npm
yargs-parser 20.2.9 npm
yauzl 2.10.0 npm
yazl 2.4.3 npm
zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb

View File

@@ -26,11 +26,9 @@ available_architectures:
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"} - { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
# development version # development version
development_versions: true development_versions: false
development_versions_items: development_versions_items:
- { tag: "latest", desc: "Stable releases" } - { tag: "latest", desc: "Stable releases" }
- { tag: "focal", desc: "DEPRECATED (no longer updated, `latest` is rebased on focal) - Stable releases, based on Ubuntu Focal" }
- { tag: "development", desc: "DEPRECATED (no longer updated) - Prereleases from their GitHub" }
# container parameters # container parameters
common_param_env_vars_enabled: true common_param_env_vars_enabled: true
@@ -77,6 +75,8 @@ app_setup_block: |
# changelog # changelog
changelogs: changelogs:
- { date: "05.10.22:", desc: "Install recommended deps to maintain parity with the older images." }
- { date: "29.09.22:", desc: "Rebase to jammy, switch to s6v3. Fix chown logic to skip `/config/workspace` contents." }
- { date: "20.02.22:", desc: "Install using the official tarballs." } - { date: "20.02.22:", desc: "Install using the official tarballs." }
- { date: "29.12.21:", desc: "Add `install-extension` as a helper for mods to install extensions." } - { date: "29.12.21:", desc: "Add `install-extension` as a helper for mods to install extensions." }
- { date: "06.12.21:", desc: "Add `DEFAULT_WORKSPACE` env var." } - { date: "06.12.21:", desc: "Add `DEFAULT_WORKSPACE` env var." }

View File

@@ -22,21 +22,10 @@ fi
[[ ! -f /config/.profile ]] && \ [[ ! -f /config/.profile ]] && \
cp /root/.profile /config/.profile cp /root/.profile /config/.profile
# permissions # fix permissions (ignore contents of /config/workspace)
if [ -f "/usr/bin/find" ] && [ -f "/usr/bin/xargs" ]; then find /config -path /config/workspace -prune -o -exec chown abc:abc {} +
CORES=$(nproc --all) chown abc:abc /config/workspace
chmod 700 /config/.ssh
# Split workload between config and workspace if [ -n "$(ls -A /config/.ssh)" ]; then
echo "setting permissions::configuration" chmod 600 /config/.ssh/*
find /config -path /config/workspace -prune -false -o -type d -print0 | \
xargs --null -r --max-args=1 --max-procs=$((CORES*2*8)) \
chown -R abc:abc
echo "setting permissions::workspace"
chown abc:abc /config/workspace
else
# Set permissions on data mount
# do not decend into the workspace
chown -R abc:abc "$(ls /config -I workspace)"
chown abc:abc /config/workspace
fi fi

View File

@@ -0,0 +1 @@
oneshot

View File

@@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-code-server/run

View File

@@ -0,0 +1 @@
3

View File

@@ -0,0 +1,26 @@
#!/usr/bin/with-contenv bash
if [ -n "${PASSWORD}" ] || [ -n "${HASHED_PASSWORD}" ]; then
AUTH="password"
else
AUTH="none"
echo "starting with no password"
fi
if [ -z ${PROXY_DOMAIN+x} ]; then
PROXY_DOMAIN_ARG=""
else
PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}"
fi
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z 127.0.0.1 8443" \
s6-setuidgid abc \
/app/code-server/bin/code-server \
--bind-addr 0.0.0.0:8443 \
--user-data-dir /config/data \
--extensions-dir /config/extensions \
--disable-telemetry \
--auth "${AUTH}" \
"${PROXY_DOMAIN_ARG}" \
"${DEFAULT_WORKSPACE:-/config/workspace}"

View File

@@ -0,0 +1 @@
longrun

View File

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