Compare commits

...

42 Commits

Author SHA1 Message Date
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
LinuxServer-CI
6722978e0a Bot Updating Package Versions 2022-09-04 07:36:34 -05:00
LinuxServer-CI
c55fc69b87 Bot Updating Package Versions 2022-07-17 14:32:18 +02:00
LinuxServer-CI
60465428f3 Bot Updating Package Versions 2022-07-10 07:31:19 -05:00
LinuxServer-CI
5851388cf4 Bot Updating Package Versions 2022-07-01 23:48:00 +02:00
LinuxServer-CI
0f0354ded4 Bot Updating Package Versions 2022-06-26 07:30:52 -05:00
LinuxServer-CI
d41e959c3f Bot Updating Package Versions 2022-06-19 14:30:24 +02:00
LinuxServer-CI
393806fd5e Bot Updating Package Versions 2022-06-12 07:28:56 -05:00
LinuxServer-CI
a87b1ef82d Bot Updating Package Versions 2022-05-29 07:32:11 -05:00
LinuxServer-CI
fd84ed821b Bot Updating Package Versions 2022-05-22 14:31:52 +02:00
LinuxServer-CI
a56e57ea9b Bot Updating Package Versions 2022-05-15 07:35:21 -05:00
32 changed files with 392 additions and 386 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 /

30
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}"
@@ -710,7 +710,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 +805,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 +825,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 +977,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,172 @@
adduser3.118ubuntu2 adduser3.118ubuntu5
apt2.0.6 apt2.4.8
apt-utils2.0.6 apt-utils2.4.8
base-files11ubuntu5.5 base-files12ubuntu4.3
base-passwd3.5.47 base-passwd3.5.52build1
bash5.0-6ubuntu1.1 bash5.1-6ubuntu1
bsdutils1:2.34-0.1ubuntu9.3 bsdutils1:2.37.2-4ubuntu3
bzip21.0.8-2 ca-certificates20211016ubuntu0.22.04.1
ca-certificates20210119~20.04.2 coreutils8.32-4.1ubuntu1
coreutils8.30-3ubuntu2 curl7.81.0-1ubuntu1.7
curl7.68.0-1ubuntu2.10 dash0.5.11+git20210903+057cd650a4ed-3build1
dash0.5.10.2-6 debconf1.5.79ubuntu1
debconf1.5.73 debianutils5.5-1ubuntu2
debianutils4.9.1 diffutils1:3.8-0ubuntu2
diffutils1:3.7-3 dirmngr2.2.27-3ubuntu2.1
dirmngr2.2.19-3ubuntu2.1 dpkg1.21.1ubuntu2.1
dpkg1.19.7ubuntu3 e2fsprogs1.46.5-2ubuntu1.1
e2fsprogs1.45.5-2ubuntu1 findutils4.8.0-1ubuntu3
fdisk2.34-0.1ubuntu9.3 gcc-12-base12.1.0-2ubuntu1~22.04
findutils4.7.0-1ubuntu1 git1:2.34.1-1ubuntu1.8
gcc-10-base10.3.0-1ubuntu1~20.04 git-man1:2.34.1-1ubuntu1.8
git1:2.25.1-1ubuntu3.4 gnupg2.2.27-3ubuntu2.1
git-man1:2.25.1-1ubuntu3.4 gnupg-l10n2.2.27-3ubuntu2.1
gnupg2.2.19-3ubuntu2.1 gnupg-utils2.2.27-3ubuntu2.1
gnupg-l10n2.2.19-3ubuntu2.1 gpg2.2.27-3ubuntu2.1
gnupg-utils2.2.19-3ubuntu2.1 gpg-agent2.2.27-3ubuntu2.1
gpg2.2.19-3ubuntu2.1 gpgconf2.2.27-3ubuntu2.1
gpg-agent2.2.19-3ubuntu2.1 gpgsm2.2.27-3ubuntu2.1
gpgconf2.2.19-3ubuntu2.1 gpgv2.2.27-3ubuntu2.1
gpgsm2.2.19-3ubuntu2.1 gpg-wks-client2.2.27-3ubuntu2.1
gpgv2.2.19-3ubuntu2.1 gpg-wks-server2.2.27-3ubuntu2.1
gpg-wks-client2.2.19-3ubuntu2.1 grep3.7-1build1
gpg-wks-server2.2.19-3ubuntu2.1 gzip1.10-4ubuntu4.1
grep3.4-1 hostname3.23ubuntu2
gzip1.10-0ubuntu4 init-system-helpers1.62
hostname3.23 jq1.6-2.1ubuntu3
init-system-helpers1.57 less590-1ubuntu0.22.04.1
jq1.6-1ubuntu0.20.04.1 libacl12.3.1-1
krb5-locales1.17-6ubuntu4.1 libapt-pkg6.02.4.8
less551-1ubuntu0.1 libassuan02.5.5-1build1
libacl12.2.53-6 libatomic112.1.0-2ubuntu1~22.04
libapt-pkg6.02.0.6 libattr11:2.5.1-1build1
libasn1-8-heimdal7.7.0+dfsg-1ubuntu1 libaudit11:3.0.7-1build1
libassuan02.5.3-7ubuntu2 libaudit-common1:3.0.7-1build1
libatomic110.3.0-1ubuntu1~20.04 libblkid12.37.2-4ubuntu3
libattr11:2.4.48-5 libbrotli11.0.9-2build6
libaudit11:2.8.5-2ubuntu6 libbsd00.11.5-1
libaudit-common1:2.8.5-2ubuntu6 libbz2-1.01.0.8-5build1
libblkid12.34-0.1ubuntu9.3 libc62.35-0ubuntu3.1
libbrotli11.0.7-6ubuntu0.1 libcap21:2.44-1build3
libbsd00.10.0-1 libcap-ng00.7.9-2.2build3
libbz2-1.01.0.8-2 libc-bin2.35-0ubuntu3.1
libc62.31-0ubuntu9.7 libcbor0.80.8.0-2ubuntu1
libcap-ng00.7.9-2.1build1 libcom-err21.46.5-2ubuntu1.1
libc-bin2.31-0ubuntu9.7 libcrypt11:4.4.27-1
libcbor0.60.6.0-0ubuntu1 libcurl3-gnutls7.81.0-1ubuntu1.7
libcom-err21.45.5-2ubuntu1 libcurl47.81.0-1ubuntu1.7
libcrypt11:4.4.10-10ubuntu4 libdb5.35.3.28+dfsg1-0.8ubuntu3
libcurl3-gnutls7.68.0-1ubuntu2.10 libdebconfclient00.261ubuntu1
libcurl47.68.0-1ubuntu2.10 libedit23.1-20210910-1build1
libdb5.35.3.28+dfsg1-0.6ubuntu2
libdebconfclient00.251ubuntu1
libedit23.1-20191231-1
liberror-perl0.17029-1 liberror-perl0.17029-1
libexpat12.2.9-1ubuntu0.4 libexpat12.4.7-1ubuntu0.2
libext2fs21.45.5-2ubuntu1 libext2fs21.46.5-2ubuntu1.1
libfdisk12.34-0.1ubuntu9.3 libffi83.4.2-4
libffi73.3-4 libfido2-11.10.0-1
libfido2-11.3.1-1ubuntu2 libgcc-s112.1.0-2ubuntu1~22.04
libgcc-s110.3.0-1ubuntu1~20.04 libgcrypt201.9.4-3ubuntu3
libgcrypt201.8.5-5ubuntu1.1 libgdbm61.23-1
libgdbm61.18.1-5 libgdbm-compat41.23-1
libgdbm-compat41.18.1-5 libgmp102:6.2.1+dfsg-3ubuntu1
libgmp102:6.2.0+dfsg-4 libgnutls303.7.3-4ubuntu1.1
libgnutls303.6.13-2ubuntu1.6 libgpg-error01.43-3
libgpg-error01.37-1 libgssapi-krb5-21.19.2-2ubuntu0.1
libgssapi3-heimdal7.7.0+dfsg-1ubuntu1 libhogweed63.7.3-1build2
libgssapi-krb5-21.17-6ubuntu4.1 libidn2-02.3.2-2build1
libhcrypto4-heimdal7.7.0+dfsg-1ubuntu1 libjq11.6-2.1ubuntu3
libheimbase1-heimdal7.7.0+dfsg-1ubuntu1 libk5crypto31.19.2-2ubuntu0.1
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1 libkeyutils11.6.1-2ubuntu3
libhogweed53.5.1+really3.5.1-2ubuntu0.2 libkrb5-31.19.2-2ubuntu0.1
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1 libkrb5support01.19.2-2ubuntu0.1
libidn2-02.2.0-2 libksba81.6.0-2ubuntu0.2
libjq11.6-1ubuntu0.20.04.1 libldap-2.5-02.5.13+dfsg-0ubuntu0.22.04.1
libk5crypto31.17-6ubuntu4.1 libldap-common2.5.13+dfsg-0ubuntu0.22.04.1
libkeyutils11.6-6ubuntu1 liblz4-11.9.3-2build2
libkrb5-26-heimdal7.7.0+dfsg-1ubuntu1 liblzma55.2.5-2ubuntu1
libkrb5-31.17-6ubuntu4.1 libmd01.0.4-1build1
libkrb5support01.17-6ubuntu4.1 libmount12.37.2-4ubuntu3
libksba81.3.5-2 libncurses66.3-2
libldap-2.4-22.4.49+dfsg-2ubuntu1.8 libncursesw66.3-2
libldap-common2.4.49+dfsg-2ubuntu1.8 libnettle83.7.3-1build2
liblz4-11.9.2-2ubuntu0.20.04.1 libnghttp2-141.43.0-1build3
liblzma55.2.4-1ubuntu1 libnpth01.6-3build2
libmount12.34-0.1ubuntu9.3 libnsl21.3.0-2build2
libncurses66.2-0ubuntu2 libonig56.9.7.1-2build1
libncursesw66.2-0ubuntu2 libp11-kit00.24.0-6build1
libnettle73.5.1+really3.5.1-2ubuntu0.2 libpam0g1.4.0-11ubuntu2.3
libnghttp2-141.40.0-1build1 libpam-modules1.4.0-11ubuntu2.3
libnpth01.6-1 libpam-modules-bin1.4.0-11ubuntu2.3
libonig56.9.4-1 libpam-runtime1.4.0-11ubuntu2.3
libp11-kit00.23.20-1ubuntu0.1 libpcre2-8-010.39-3ubuntu0.1
libpam0g1.3.1-5ubuntu4.3 libpcre32:8.39-13ubuntu0.22.04.1
libpam-modules1.3.1-5ubuntu4.3 libperl5.345.34.0-3ubuntu1.1
libpam-modules-bin1.3.1-5ubuntu4.3 libprocps82:3.3.17-6ubuntu2
libpam-runtime1.3.1-5ubuntu4.3 libpsl50.21.0-1.2build2
libpcre2-8-010.34-7 libreadline88.1.2-1
libpcre32:8.39-12build1 librtmp12.4+20151223.gitfa8646d.1-2build4
libperl5.305.30.0-9ubuntu0.2 libsasl2-22.1.27+dfsg2-3ubuntu1.1
libprocps82:3.3.16-1ubuntu2.3 libsasl2-modules2.1.27+dfsg2-3ubuntu1.1
libpsl50.21.0-1ubuntu1 libsasl2-modules-db2.1.27+dfsg2-3ubuntu1.1
libreadline88.0-4 libseccomp22.5.3-2ubuntu2
libroken18-heimdal7.7.0+dfsg-1ubuntu1 libselinux13.3-1build2
librtmp12.4+20151223.gitfa8646d.1-2build1 libsemanage23.3-1build2
libsasl2-22.1.27+dfsg-2ubuntu0.1 libsemanage-common3.3-1build2
libsasl2-modules2.1.27+dfsg-2ubuntu0.1 libsepol23.3-1build1
libsasl2-modules-db2.1.27+dfsg-2ubuntu0.1 libsmartcols12.37.2-4ubuntu3
libseccomp22.5.1-1ubuntu1~20.04.2 libsqlite3-03.37.2-2ubuntu0.1
libselinux13.0-1build2 libss21.46.5-2ubuntu1.1
libsemanage13.0-1build2 libssh-40.9.6-2build1
libsemanage-common3.0-1build2 libssl33.0.2-0ubuntu1.8
libsepol13.0-1 libstdc++612.1.0-2ubuntu1~22.04
libsmartcols12.34-0.1ubuntu9.3 libsystemd0249.11-0ubuntu3.6
libsqlite3-03.31.1-4ubuntu0.2 libtasn1-64.18.0-4build1
libss21.45.5-2ubuntu1 libtinfo66.3-2
libssh-40.9.3-2ubuntu2.2 libtirpc31.3.2-2ubuntu0.1
libssl1.11.1.1f-1ubuntu2.12 libtirpc-common1.3.2-2ubuntu0.1
libstdc++610.3.0-1ubuntu1~20.04 libudev1249.11-0ubuntu3.6
libsystemd0245.4-4ubuntu3.15 libunistring21.0-1
libtasn1-64.16.0-2 libuuid12.37.2-4ubuntu3
libtinfo66.2-0ubuntu2 libx11-62:1.7.5-1
libudev1245.4-4ubuntu3.15 libx11-data2:1.7.5-1
libunistring20.9.10-2 libxau61:1.0.9-1build5
libuuid12.34-0.1ubuntu9.3 libxcb11.14-3ubuntu3
libwind0-heimdal7.7.0+dfsg-1ubuntu1 libxdmcp61:1.1.3-0ubuntu5
libx11-62:1.6.9-2ubuntu1.2 libxext62:1.3.4-1build1
libx11-data2:1.6.9-2ubuntu1.2 libxmuu12:1.1.3-3
libxau61:1.0.9-0ubuntu1 libxxhash00.8.1-1
libxcb11.14-2 libzstd11.4.8+dfsg-3build1
libxdmcp61:1.1.3-0ubuntu1 locales2.35-0ubuntu3.1
libxext62:1.3.4-0ubuntu1 login1:4.8.1-2ubuntu2.1
libxmuu12:1.1.3-0ubuntu1 logsave1.46.5-2ubuntu1.1
libzstd11.4.4+dfsg-3ubuntu0.1 lsb-base11.1.0ubuntu4
locales2.31-0ubuntu9.7 mawk1.3.4.20200120-3
login1:4.8.1-1ubuntu5.20.04.1 mount2.37.2-4ubuntu3
logsave1.45.5-2ubuntu1 nano6.2-1
lsb-base11.1.0ubuntu2 ncurses-base6.3-2
mawk1.3.4.20200120-2 ncurses-bin6.3-2
mount2.34-0.1ubuntu9.3 netbase6.3
nano4.8-1ubuntu1 netcat1.218-4ubuntu1
ncurses-base6.2-0ubuntu2 netcat-openbsd1.218-4ubuntu1
ncurses-bin6.2-0ubuntu2 net-tools1.60+git20181103.0eebece-1ubuntu5
netbase6.1 openssh-client1:8.9p1-3ubuntu0.1
net-tools1.60+git20180626.aebd88e-1ubuntu1 openssl3.0.2-0ubuntu1.8
openssh-client1:8.2p1-4ubuntu0.4 passwd1:4.8.1-2ubuntu2.1
openssl1.1.1f-1ubuntu2.12 patch2.7.6-7build2
passwd1:4.8.1-1ubuntu5.20.04.1 perl5.34.0-3ubuntu1.1
patch2.7.6-6 perl-base5.34.0-3ubuntu1.1
perl5.30.0-9ubuntu0.2 perl-modules-5.345.34.0-3ubuntu1.1
perl-base5.30.0-9ubuntu0.2 pinentry-curses1.1.1-1build2
perl-modules-5.305.30.0-9ubuntu0.2 procps2:3.3.17-6ubuntu2
pinentry-curses1.1.0-3build1 publicsuffix20211207.1025-1
procps2:3.3.16-1ubuntu2.3 readline-common8.1.2-1
publicsuffix20200303.0012-1 sed4.8-1ubuntu2
readline-common8.0-4 sensible-utils0.0.17
sed4.7-1 sudo1.9.9-1ubuntu2.2
sensible-utils0.0.12+nmu1 sysvinit-utils3.01-1ubuntu1
sudo1.8.31-1ubuntu1.2 tar1.34+dfsg-1build3
sysvinit-utils2.96-2.1ubuntu1 tzdata2022g-0ubuntu0.22.04.1
tar1.30+dfsg-7ubuntu0.20.04.2 ubuntu-keyring2021.03.26
tzdata2022a-0ubuntu0.20.04 usrmerge25ubuntu2
ubuntu-keyring2020.02.11.4 util-linux2.37.2-4ubuntu3
util-linux2.34-0.1ubuntu9.3 xauth1:1.1-1build2
xauth1:1.1-0ubuntu1 zlib1g1:1.2.11.dfsg-2ubuntu9.2
zlib1g1:1.2.11.dfsg-2ubuntu1.2

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}"