Skip to content

Commit c124f2c

Browse files
authored
Merge pull request #28 from linuxserver/url
Multi-arch, install via npm
2 parents 84873a6 + 9137da0 commit c124f2c

File tree

8 files changed

+156
-13
lines changed

8 files changed

+156
-13
lines changed

Dockerfile

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,44 @@ LABEL maintainer="aptalca"
1111
ENV HOME="/config"
1212

1313
RUN \
14-
echo "**** install dependencies ****" && \
14+
echo "**** install node repo ****" && \
1515
apt-get update && \
16+
apt-get install -y \
17+
gnupg && \
18+
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
19+
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
20+
> /etc/apt/sources.list.d/nodesource.list && \
21+
echo "**** install build dependencies ****" && \
22+
apt-get update && \
23+
apt-get install -y \
24+
build-essential \
25+
libx11-dev \
26+
libxkbfile-dev \
27+
libsecret-1-dev \
28+
pkg-config && \
29+
echo "**** install runtime dependencies ****" && \
1630
apt-get install -y \
1731
git \
1832
jq \
1933
nano \
2034
net-tools \
35+
nodejs \
2136
sudo && \
2237
echo "**** install code-server ****" && \
2338
if [ -z ${CODE_RELEASE+x} ]; then \
2439
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
2540
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
2641
fi && \
27-
CODE_URL=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/tags/${CODE_RELEASE}" \
28-
| jq -r '.assets[] | select(.browser_download_url | contains("linux-x86_64")) | .browser_download_url') && \
29-
mkdir -p /app/code-server && \
30-
curl -o \
31-
/tmp/code.tar.gz -L \
32-
"${CODE_URL}" && \
33-
tar xzf /tmp/code.tar.gz -C \
34-
/app/code-server --strip-components=1 && \
42+
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
43+
npm install --unsafe-perm -g code-server@"$CODE_VERSION" && \
3544
echo "**** clean up ****" && \
45+
apt-get purge --auto-remove -y \
46+
build-essential \
47+
libx11-dev \
48+
libxkbfile-dev \
49+
libsecret-1-dev \
50+
pkg-config && \
51+
apt-get clean && \
3652
rm -rf \
3753
/tmp/* \
3854
/var/lib/apt/lists/* \

Dockerfile.aarch64

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
FROM lsiobase/ubuntu:arm64v8-bionic
2+
3+
# set version label
4+
ARG BUILD_DATE
5+
ARG VERSION
6+
ARG CODE_RELEASE
7+
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
8+
LABEL maintainer="aptalca"
9+
10+
# environment settings
11+
ENV HOME="/config"
12+
13+
RUN \
14+
echo "**** install node repo ****" && \
15+
apt-get update && \
16+
apt-get install -y \
17+
gnupg && \
18+
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
19+
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
20+
> /etc/apt/sources.list.d/nodesource.list && \
21+
echo "**** install build dependencies ****" && \
22+
apt-get update && \
23+
apt-get install -y \
24+
build-essential \
25+
libx11-dev \
26+
libxkbfile-dev \
27+
libsecret-1-dev \
28+
pkg-config && \
29+
echo "**** install runtime dependencies ****" && \
30+
apt-get install -y \
31+
git \
32+
jq \
33+
nano \
34+
net-tools \
35+
nodejs \
36+
sudo && \
37+
echo "**** install code-server ****" && \
38+
if [ -z ${CODE_RELEASE+x} ]; then \
39+
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
40+
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
41+
fi && \
42+
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
43+
npm install --unsafe-perm -g code-server@"$CODE_VERSION" && \
44+
echo "**** clean up ****" && \
45+
apt-get purge --auto-remove -y \
46+
build-essential \
47+
libx11-dev \
48+
libxkbfile-dev \
49+
libsecret-1-dev \
50+
pkg-config && \
51+
apt-get clean && \
52+
rm -rf \
53+
/tmp/* \
54+
/var/lib/apt/lists/* \
55+
/var/tmp/*
56+
57+
# add local files
58+
COPY /root /
59+
60+
# ports and volumes
61+
EXPOSE 8443

Dockerfile.armhf

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
FROM lsiobase/ubuntu:arm32v7-bionic
2+
3+
# set version label
4+
ARG BUILD_DATE
5+
ARG VERSION
6+
ARG CODE_RELEASE
7+
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
8+
LABEL maintainer="aptalca"
9+
10+
# environment settings
11+
ENV HOME="/config"
12+
13+
RUN \
14+
echo "**** install node repo ****" && \
15+
apt-get update && \
16+
apt-get install -y \
17+
gnupg && \
18+
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
19+
echo 'deb https://deb.nodesource.com/node_12.x bionic main' \
20+
> /etc/apt/sources.list.d/nodesource.list && \
21+
echo "**** install build dependencies ****" && \
22+
apt-get update && \
23+
apt-get install -y \
24+
build-essential \
25+
libx11-dev \
26+
libxkbfile-dev \
27+
libsecret-1-dev \
28+
pkg-config && \
29+
echo "**** install runtime dependencies ****" && \
30+
apt-get install -y \
31+
git \
32+
jq \
33+
nano \
34+
net-tools \
35+
nodejs \
36+
sudo && \
37+
echo "**** install code-server ****" && \
38+
if [ -z ${CODE_RELEASE+x} ]; then \
39+
CODE_RELEASE=$(curl -sX GET "https://api.github.com/repos/cdr/code-server/releases/latest" \
40+
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
41+
fi && \
42+
CODE_VERSION=$(echo "$CODE_RELEASE" | awk '{print substr($1,2); }') && \
43+
npm install --unsafe-perm -g code-server@"$CODE_VERSION" && \
44+
echo "**** clean up ****" && \
45+
apt-get purge --auto-remove -y \
46+
build-essential \
47+
libx11-dev \
48+
libxkbfile-dev \
49+
libsecret-1-dev \
50+
pkg-config && \
51+
apt-get clean && \
52+
rm -rf \
53+
/tmp/* \
54+
/var/lib/apt/lists/* \
55+
/var/tmp/*
56+
57+
# add local files
58+
COPY /root /
59+
60+
# ports and volumes
61+
EXPOSE 8443

Jenkinsfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ pipeline {
2727
DEV_DOCKERHUB_IMAGE = 'lsiodev/code-server'
2828
PR_DOCKERHUB_IMAGE = 'lspipepr/code-server'
2929
DIST_IMAGE = 'ubuntu'
30-
MULTIARCH='false'
30+
MULTIARCH='true'
3131
CI='true'
3232
CI_WEB='true'
3333
CI_PORT='8443'

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ The architectures supported by this image are:
5757
| Architecture | Tag |
5858
| :----: | --- |
5959
| x86-64 | amd64-latest |
60+
| arm64 | arm64v8-latest |
61+
| armhf | arm32v7-latest |
6062

6163
## Version Tags
6264

@@ -234,6 +236,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
234236

235237
## Versions
236238

239+
* **18.05.20:** - Switch to multi-arch images, install via npm.
237240
* **29.04.20:** - Update start arguments.
238241
* **01.04.20:** - Structural changes required for v3.
239242
* **17.01.20:** - Fix artifact url retrieval from github.

jenkins-vars.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ repo_vars:
1818
- DEV_DOCKERHUB_IMAGE = 'lsiodev/code-server'
1919
- PR_DOCKERHUB_IMAGE = 'lspipepr/code-server'
2020
- DIST_IMAGE = 'ubuntu'
21-
- MULTIARCH='false'
21+
- MULTIARCH='true'
2222
- CI='true'
2323
- CI_WEB='true'
2424
- CI_PORT='8443'

readme-vars.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_
2222
# supported architectures
2323
available_architectures:
2424
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
25+
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
26+
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
2527

2628
# development version
2729
development_versions: true
@@ -65,6 +67,7 @@ app_setup_block: |
6567
6668
# changelog
6769
changelogs:
70+
- { date: "18.05.20:", desc: "Switch to multi-arch images, install via npm." }
6871
- { date: "29.04.20:", desc: "Update start arguments." }
6972
- { date: "01.04.20:", desc: "Structural changes required for v3." }
7073
- { date: "17.01.20:", desc: "Fix artifact url retrieval from github." }

root/etc/services.d/code-server/run

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@ fi
99

1010
exec \
1111
s6-setuidgid abc \
12-
/app/code-server/code-server \
12+
/usr/bin/code-server \
1313
--bind-addr 0.0.0.0:8443 \
1414
--user-data-dir /config/data \
1515
--extensions-dir /config/extensions \
1616
--disable-telemetry \
17-
--disable-updates \
1817
--auth "${AUTH}" \
1918
/config/workspace

0 commit comments

Comments
 (0)