Skip to content

fix: modernize Dockerfiles (fix broken builds, remove deprecated dependencies)#1199

Open
Symlink420 wants to merge 1 commit intoopenbullet:masterfrom
Symlink420:fix/dockerfile-modernize
Open

fix: modernize Dockerfiles (fix broken builds, remove deprecated dependencies)#1199
Symlink420 wants to merge 1 commit intoopenbullet:masterfrom
Symlink420:fix/dockerfile-modernize

Conversation

@Symlink420
Copy link

Summary

Modernizes all three Dockerfiles (Dockerfile, Dockerfile.build, Dockerfile.remote) by replacing deprecated/abandoned tools that cause build failures.

Changes

  • Node.js image updated from 20.9.0 to 22 (current LTS)
  • Removed deprecated NodeSource setup_current.x / setup_lts.x scripts (NodeSource deprecated these setup scripts, breaking Docker builds)
  • Removed abandoned webdrivermanager pip package (last release 2020) — Selenium 4.6+ includes built-in Selenium Manager that auto-downloads browser drivers
  • Removed unstable Debian repo hack (deb.debian.org/debian/ unstable) that could cause unpredictable build breaks
  • Removed deprecated apt-key usage in Dockerfile.remote
  • Consolidated RUN layers to reduce final image size
  • npm installnpm ci for reproducible, faster builds
  • firefoxfirefox-esr (available directly from Debian stable repos, no PPA needed)

Why

Several tools used in the Dockerfiles have been deprecated or abandoned, causing Docker builds to fail:

  1. NodeSource removed their setup_current.x script
  2. The webdrivermanager pip package hasn't been updated since 2020
  3. Adding unstable Debian repos is fragile and can break at any time

These are all resolved by using packages available directly in Debian bookworm repos.

- Update Node.js image from 20.9.0 to 22 (LTS)
- Replace deprecated NodeSource setup scripts with Debian nodejs packages
- Remove abandoned webdrivermanager pip package (Selenium 4.6+ has built-in Selenium Manager)
- Remove unstable Debian repo hack in Dockerfile
- Remove deprecated apt-key usage in Dockerfile.remote
- Consolidate RUN layers to reduce image size
- Use npm ci instead of npm install for reproducible builds
- Switch firefox to firefox-esr (available in Debian stable repos)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant