Getting phpBB 1.4.4 working in Docker

Source: thran.uk
45 points by HeckFeck a day ago on hackernews | 33 comments

phpBB 1.4.4 was the last release of the ubiquitous message board script, before it got famous. It was designed for a world 21 years ago - PHP 3, Apache, register_globals and a high-trust online environment - passing user input directly to SQL was not frowned upon.

Let's say you want to go back to 2001 and experience the glorious days of the early forum-sphere. You can now do that!

The arcane scripture required a few patches to get working in PHP5 and MySQL 4, but not as many as you'd think:

Namely, some of the DB seeding commands were rejected by MySQL 4 (you don't need to say NOT NULL for auto increment!), the login cookie wasn't being set in functions.php (PHP5 actually had higher type safety than PHP3 and wouldn't coerce "" to 0), and the index page tried to parse empty strings trying to determine last post time when there were no posts. But with these fixed, and a few changes to php.ini that would make your heart stop (remember register_globals?), it works.

img

phpBB 1.4.4 board index in 2026!

Curiously, a lot of the features we love today are present:

  • You can choose from any of three themes.
  • You can give out ranks for regular posters.
  • BBcode and smilies are usable.
  • Moderation, IP inspections and bans.

What more do you need?

Detailed Guide: How To Get phpBB 1.4.4 running in Docker

First, the obvious: Don't use this in a public-facing server, you're asking for trouble.

You can jump straight back to 2001 with (almost) a single command:

curl -O https://raw.githubusercontent.com/lordfeck/phpBB-1.4.4-Docker/refs/heads/master/docker-compose.yml
docker compose pull
docker compose up -d

Then open:

http://localhost:8080/phpBB/install.php

Installer database settings

Use:

  • Database server: db
  • Database name: phpbb
  • Database username: phpbb
  • Database password: phpbb

The hostname is db, not localhost, because MySQL is running in the other Compose service.

After installation

phpBB 1.4.4 requires config.php to be writable during installation. The Dockerfile sets it to mode 666 for this reason.

After the installer has completed, lock it back down:

docker compose exec phpbb chmod 444 /www/phpBB/config.php

The original phpBB documentation also recommends removing or renaming the installer and upgrade scripts:

docker compose exec phpbb rm -f \
  /www/phpBB/install.php \
  /www/phpBB/upgrade_12.php \
  /www/phpBB/upgrade_14.php

Reset everything

To throw away the database and start again:

docker compose down -v
docker compose up --build

Good luck & happy flaming!

phpBB 1.4.4 screenshots

phpbb 1.4.4 light theme

Light mode in 2001.

phpbb 1.4.4 topic view

Topic view.

phpbb 1.4.4 admin panel

Admin panel.

phpbb 1.4.4 user edit

Want to give the Anonymous user admin rights? You can do that. This is truly "a forum that's free".

Source Repo & Docker Package