Skip to content

Commit b087315

Browse files
aptalcathelamer
authored andcommitted
use official tarballs and patch arm builds
1 parent 29c8610 commit b087315

File tree

7 files changed

+100
-17
lines changed

7 files changed

+100
-17
lines changed

Dockerfile

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,50 @@ LABEL maintainer="aptalca"
1111
ENV HOME="/config"
1212

1313
RUN \
14+
echo "**** install node repo ****" && \
15+
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
16+
echo 'deb https://deb.nodesource.com/node_14.x focal main' \
17+
> /etc/apt/sources.list.d/nodesource.list && \
18+
echo "**** install build dependencies ****" && \
19+
apt-get update && \
20+
apt-get install -y \
21+
build-essential \
22+
nodejs && \
23+
echo "**** install runtime dependencies ****" && \
24+
apt-get install -y \
25+
git \
26+
jq \
27+
libatomic1 \
28+
nano \
29+
net-tools \
30+
sudo && \
1431
echo "**** install code-server ****" && \
1532
if [ -z ${CODE_RELEASE+x} ]; then \
1633
CODE_RELEASE=$(curl -sX GET https://api.github.com/repos/coder/code-server/releases/latest \
1734
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
1835
fi && \
36+
mkdir -p /app/code-server && \
1937
curl -o \
20-
/tmp/code-server.deb -L \
21-
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server_${CODE_RELEASE}_amd64.deb" && \
22-
dpkg -i /tmp/code-server.deb && \
38+
/tmp/code-server.tar.gz -L \
39+
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-armv7l.tar.gz" && \
40+
tar xf /tmp/code-server.tar.gz -C \
41+
/app/code-server --strip-components=1 && \
42+
echo "**** patch 4.0.2 ****" && \
43+
if [ "${CODE_RELEASE}" = "4.0.2" ] && [ "$(uname -m)" != "x86_64" ]; then \
44+
cd /app/code-server && \
45+
npm i --production @node-rs/argon2; \
46+
fi && \
2347
echo "**** clean up ****" && \
48+
apt-get purge --auto-remove -y \
49+
build-essential \
50+
nodejs && \
51+
apt-get clean && \
2452
rm -rf \
2553
/config/* \
2654
/tmp/* \
2755
/var/lib/apt/lists/* \
28-
/var/tmp/*
56+
/var/tmp/* \
57+
/etc/apt/sources.list.d/nodesource.list
2958

3059
# add local files
3160
COPY /root /

Dockerfile.aarch64

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,50 @@ LABEL maintainer="aptalca"
1111
ENV HOME="/config"
1212

1313
RUN \
14+
echo "**** install node repo ****" && \
15+
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
16+
echo 'deb https://deb.nodesource.com/node_14.x focal main' \
17+
> /etc/apt/sources.list.d/nodesource.list && \
18+
echo "**** install build dependencies ****" && \
19+
apt-get update && \
20+
apt-get install -y \
21+
build-essential \
22+
nodejs && \
23+
echo "**** install runtime dependencies ****" && \
24+
apt-get install -y \
25+
git \
26+
jq \
27+
libatomic1 \
28+
nano \
29+
net-tools \
30+
sudo && \
1431
echo "**** install code-server ****" && \
1532
if [ -z ${CODE_RELEASE+x} ]; then \
1633
CODE_RELEASE=$(curl -sX GET https://api.github.com/repos/coder/code-server/releases/latest \
1734
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
1835
fi && \
36+
mkdir -p /app/code-server && \
1937
curl -o \
20-
/tmp/code-server.deb -L \
21-
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server_${CODE_RELEASE}_arm64.deb" && \
22-
dpkg -i /tmp/code-server.deb && \
38+
/tmp/code-server.tar.gz -L \
39+
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-armv7l.tar.gz" && \
40+
tar xf /tmp/code-server.tar.gz -C \
41+
/app/code-server --strip-components=1 && \
42+
echo "**** patch 4.0.2 ****" && \
43+
if [ "${CODE_RELEASE}" = "4.0.2" ] && [ "$(uname -m)" != "x86_64" ]; then \
44+
cd /app/code-server && \
45+
npm i --production @node-rs/argon2; \
46+
fi && \
2347
echo "**** clean up ****" && \
48+
apt-get purge --auto-remove -y \
49+
build-essential \
50+
nodejs && \
51+
apt-get clean && \
2452
rm -rf \
2553
/config/* \
2654
/tmp/* \
2755
/var/lib/apt/lists/* \
28-
/var/tmp/*
56+
/var/tmp/* \
57+
/etc/apt/sources.list.d/nodesource.list
2958

3059
# add local files
3160
COPY /root /

Dockerfile.armhf

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

1313
RUN \
14+
echo "**** install node repo ****" && \
15+
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
16+
echo 'deb https://deb.nodesource.com/node_14.x focal main' \
17+
> /etc/apt/sources.list.d/nodesource.list && \
18+
echo "**** install build dependencies ****" && \
1419
apt-get update && \
1520
apt-get install -y \
16-
libatomic1 && \
21+
build-essential \
22+
nodejs && \
23+
echo "**** install runtime dependencies ****" && \
24+
apt-get install -y \
25+
git \
26+
jq \
27+
libatomic1 \
28+
nano \
29+
net-tools \
30+
sudo && \
1731
echo "**** install code-server ****" && \
1832
if [ -z ${CODE_RELEASE+x} ]; then \
1933
CODE_RELEASE=$(curl -sX GET https://api.github.com/repos/coder/code-server/releases/latest \
2034
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \
2135
fi && \
36+
mkdir -p /app/code-server && \
2237
curl -o \
23-
/tmp/code-server.deb -L \
24-
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server_${CODE_RELEASE}_armhf.deb" && \
25-
dpkg -i /tmp/code-server.deb && \
38+
/tmp/code-server.tar.gz -L \
39+
"https://github.com/coder/code-server/releases/download/v${CODE_RELEASE}/code-server-${CODE_RELEASE}-linux-armv7l.tar.gz" && \
40+
tar xf /tmp/code-server.tar.gz -C \
41+
/app/code-server --strip-components=1 && \
42+
echo "**** patch 4.0.2 ****" && \
43+
if [ "${CODE_RELEASE}" = "4.0.2" ] && [ "$(uname -m)" != "x86_64" ]; then \
44+
cd /app/code-server && \
45+
npm i --production @node-rs/argon2; \
46+
fi && \
2647
echo "**** clean up ****" && \
48+
apt-get purge --auto-remove -y \
49+
build-essential \
50+
nodejs && \
2751
apt-get clean && \
2852
rm -rf \
2953
/config/* \
3054
/tmp/* \
3155
/var/lib/apt/lists/* \
32-
/var/tmp/*
56+
/var/tmp/* \
57+
/etc/apt/sources.list.d/nodesource.list
3358

3459
# add local files
3560
COPY /root /

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
266266

267267
## Versions
268268

269-
* **20.02.22:** - Install using the official debs.
269+
* **20.02.22:** - Install using the official tarballs.
270270
* **29.12.21:** - Add `install-extension` as a helper for mods to install extensions.
271271
* **06.12.21:** - Add `DEFAULT_WORKSPACE` env var.
272272
* **29.11.21:** - Rebase to Ubuntu focal.

readme-vars.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ app_setup_block: |
7777
7878
# changelog
7979
changelogs:
80-
- { date: "20.02.22:", desc: "Install using the official debs." }
80+
- { date: "20.02.22:", desc: "Install using the official tarballs." }
8181
- { date: "29.12.21:", desc: "Add `install-extension` as a helper for mods to install extensions." }
8282
- { date: "06.12.21:", desc: "Add `DEFAULT_WORKSPACE` env var." }
8383
- { date: "29.11.21:", desc: "Rebase to Ubuntu focal." }

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ fi
1515

1616
exec \
1717
s6-setuidgid abc \
18-
/usr/lib/code-server/bin/code-server \
18+
/app/code-server/bin/code-server \
1919
--bind-addr 0.0.0.0:8443 \
2020
--user-data-dir /config/data \
2121
--extensions-dir /config/extensions \

root/usr/local/bin/install-extension

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/with-contenv bash
22
# shellcheck shell=bash
33

4-
_install=(/usr/local/bin/code-server "--extensions-dir" "/config/extensions" "--install-extension")
4+
_install=(/app/code-server/bin/code-server "--extensions-dir" "/config/extensions" "--install-extension")
55

66
if [ "$(whoami)" == "abc" ]; then
77
"${_install[@]}" "$@"

0 commit comments

Comments
 (0)