Skip to content

Commit b88257b

Browse files
committed
Add dockerfile to build a rootfs for astroarch directly
1 parent 6cdfb34 commit b88257b

File tree

1 file changed

+120
-0
lines changed

1 file changed

+120
-0
lines changed

dockerfiles/Dockerfile.astroarch

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
FROM ghcr.io/devducks/archlinuxarm:latest AS builder
2+
3+
# Push the astromatto repo so we can pull whatever package into docker immediately
4+
RUN sed -i 's|\[core\]|\[astromatto\]\nSigLevel = Optional TrustAll\nServer = http://astroarch.astromatto.com:9000/$arch\n\n\[core\]|' /etc/pacman.conf
5+
6+
# We love candies, don't we?
7+
RUN sed -i 's|ParallelDownloads = 5|ParallelDownloads = 5\nILoveCandy|g' /etc/pacman.conf
8+
9+
# Disable timeouts for slow downloads
10+
RUN sed -i 's|ParallelDownloads = 5|ParallelDownloads = 5\nDisableDownloadTimeout|g' /etc/pacman.conf
11+
12+
RUN pacman-key --init && pacman-key --populate archlinuxarm
13+
14+
RUN pacman -Syu --noconfirm
15+
16+
RUN pacman -Sy \
17+
arandr \
18+
astroarch-onboarding \
19+
astroarch-status-notifications \
20+
astrometry.net \
21+
astromonitor \
22+
astro_dmx \
23+
breeze-icons \
24+
chrony \
25+
cloud-guest-utils \
26+
cowsay \
27+
dhcp \
28+
dhcpcd \
29+
discover \
30+
dnsmasq \
31+
dolphin \
32+
firefox \
33+
flatpak \
34+
fortune-mod \
35+
fuse2 \
36+
glibc \
37+
gnu-free-fonts \
38+
gpsd \
39+
gsc \
40+
hicolor-icon-theme \
41+
i2c-tools \
42+
indiserver-ui \
43+
indi-3rdparty-drivers \
44+
indi-3rdparty-libs \
45+
iw \
46+
jq \
47+
kate \
48+
kdialog \
49+
kgpg \
50+
konsole \
51+
knewstuff \
52+
knotifyconfig \
53+
kplotting \
54+
kscreen \
55+
kstars \
56+
ksystemlog \
57+
kwalletmanager \
58+
neofetch \
59+
networkmanager \
60+
network-manager-applet \
61+
networkmanager-qt \
62+
novnc \
63+
openssh \
64+
openssl-1.1 \
65+
packagekit-qt6 \
66+
pacman-contrib \
67+
paru \
68+
phd2 \
69+
pipewire-jack \
70+
plasma-desktop \
71+
plasma-nm \
72+
plasma-systemmonitor \
73+
plasma-x11-session \
74+
qt6ct \
75+
qt6-datavis3d \
76+
qt6-serialbus \
77+
qt6-serialport \
78+
qt6-websockets \
79+
qtkeychain \
80+
samba \
81+
sddm \
82+
sddm-kcm \
83+
stellarsolver \
84+
tigervnc \
85+
uboot-tools \
86+
udisks2 \
87+
usbutils \
88+
websockify \
89+
wireplumber \
90+
xf86-video-dummy \
91+
xf86-video-fbdev \
92+
xorg \
93+
xorg-fonts-misc \
94+
xplanet \
95+
zsh \
96+
--noconfirm
97+
98+
# Cleanup pacman-key init
99+
RUN rm -rf /etc/pacman.d/gnupg*
100+
101+
####################################
102+
# Only needed to retrieve a rootfs #
103+
####################################
104+
FROM builder AS rootfs-builder
105+
# Create rootfs
106+
RUN tar -cpf /rootfs.tar \
107+
--numeric-owner --xattrs --acls --one-file-system \
108+
--sort=name --mtime='UTC 2020-01-01' \
109+
--exclude=/proc --exclude=/sys --exclude=/dev \
110+
--exclude=/mnt --exclude=/media --exclude=/run \
111+
--exclude=/tmp/* --exclude=/var/tmp/* \
112+
--exclude=/var/cache/pacman/pkg/* \
113+
--exclude=/var/log/* \
114+
/
115+
116+
###############################################
117+
# EXPORT-ONLY: tarball artifact stage
118+
###############################################
119+
FROM scratch AS astroarch-rootfs
120+
COPY --from=rootfs-builder /rootfs.tar /astroarch-rootfs.tar

0 commit comments

Comments
 (0)