Compare commits

6 Commits
Author SHA1 Message Date
sneak 41a1f01bef amend! Add nginx (closes #11)
Add nginx (closes #11)

Install nginx from apt and check nginx -t in the smoke test.

Model: deepseek-v4-pro
2026-11-05 15:44:43 +00:00
sneak 4de7821050 fixup! Add nginx (closes #11)
Model: deepseek-v4-pro
2026-11-05 15:44:32 +00:00
sneak 86f81b7928 fixup! Add Valkey and PostgreSQL (closes #9)
Model: deepseek-v4-pro
2026-11-05 15:44:27 +00:00
sneak 2d6dd84108 Add nginx (closes #11)
Install nginx from apt and check nginx -v in the smoke test.

Model: deepseek-v4-pro
2026-11-05 15:11:57 +00:00
sneak 34b36642d0 Add browsers for tests: Playwright, Firefox, geckodriver, headless Chrome (closes #10)
Firefox comes from Mozilla's own apt repo, pinned above Ubuntu's snap-only
package. geckodriver is at its latest release, independent of the Firefox
version. Playwright installs its Chromium and Firefox; WebKit is skipped
because no repository uses it today. Playwright's Chromium is exposed as
the headless Chrome.

Model: deepseek-v4-pro
2026-11-05 15:11:57 +00:00
sneak cf7254af0c Add Valkey and PostgreSQL (closes #9)
Install valkey-server, valkey-tools and postgresql from apt. Ubuntu
26.04 ships Valkey 9 and PostgreSQL 18, replacing the postgresql16 the
audit pinned.

Model: deepseek-v4-pro
2026-11-05 15:11:57 +00:00
3 changed files with 14 additions and 8 deletions
+4 -6
View File
@@ -1,9 +1,10 @@
# baseimage
A fat Docker base image that trades size for build speed. Everything a
typical Go, Node, Python, or Hugo project needs is preinstalled. Child
images only copy their source and build, without spending the first
minutes of every build on `apt-get install` and toolchain downloads.
typical Go, Node, Python, or Hugo project needs is preinstalled, so child
images only have to copy their source and build, instead of spending the
first few minutes of every build on `apt-get install` and toolchain
downloads.
Image: `git.eeqj.de/sneak/baseimage`, built for `linux/amd64` and
`linux/arm64`.
@@ -139,9 +140,6 @@ exec /usr/local/bin/myapp
Services should log to stdout/stderr; the container's log is the combined
output of all services.
The image installs Valkey, PostgreSQL and nginx but never runs them; a child
image that wants one runs it as a service.
The image sets `CMD ["/usr/local/sbin/runsvinit"]` and no `ENTRYPOINT`, so
a child image that only needs one unsupervised process can override `CMD`
and ignore runit entirely, and `docker run -it image bash` works as
+3
View File
@@ -34,6 +34,9 @@ docker run --rm "$img" bash -ec '
bundle --version
valkey-server --version
valkey-cli --version
valkey-server /etc/valkey/valkey.conf
ok=; for i in $(seq 1 50); do if valkey-cli ping 2>/dev/null | grep -q PONG; then ok=1; break; fi; sleep 0.1; done; [ -n "$ok" ]
valkey-cli shutdown nosave
psql --version
postgres --version
nginx -t
+7 -2
View File
@@ -146,8 +146,8 @@ rm -rf /usr/share/doc /usr/share/man /usr/share/info /usr/share/lintian
find /usr/share/locale -mindepth 1 -maxdepth 1 ! -name 'en*' ! -name 'locale.alias' -exec rm -rf {} +
rm -rf /root/.cache /root/.npm /root/.config /root/go /tmp/* /var/tmp/*
# Recreate the log directories the cleanup above removed, with their package
# owners, so child images have them ready without recreating them at startup.
# nginx and Valkey open their log files at startup; recreate the log
# directories the cleanup above removed, with their package owners.
install -d -o root -g adm /var/log/nginx
install -d -o valkey -g adm -m 2750 /var/log/valkey
@@ -167,6 +167,9 @@ ruby --version
bundle --version
valkey-server --version
valkey-cli --version
valkey-server /etc/valkey/valkey.conf
ok=; for i in $(seq 1 50); do if valkey-cli ping 2>/dev/null | grep -q PONG; then ok=1; break; fi; sleep 0.1; done; [ -n "$ok" ]
valkey-cli shutdown nosave
psql --version
postgres --version
nginx -t
@@ -189,5 +192,7 @@ test -d /etc/service
# The checks above leave caches and log files behind.
rm -rf /tmp/* /var/tmp/* /root/.cache /root/.npm /root/.config
rm -f /var/log/valkey/*
rm -f /var/log/nginx/*
install -d -o valkey -g adm -m 2750 /var/log/valkey
rm -f "$0"