Get a p4d server up and running in no time!
  • Dockerfile 100%
Find a file
2026-04-20 13:34:33 +01:00
.gitignore update gitignore to include new volumes 2026-04-11 21:22:27 +01:00
compose.yml split db, depots, journal, and log to different volumes 2026-04-11 21:18:48 +01:00
Dockerfile allow ssl certificate regeneration 2026-04-11 22:15:49 +01:00
LICENSE initial commit 2026-04-09 19:43:48 +01:00
p4d.env.template move SERVER_NAME to .env file 2026-04-11 14:12:27 +01:00
p4dctl.conf tidy p4dctl config 2026-04-11 22:11:01 +01:00
README.md whale emoji 2026-04-20 13:34:33 +01:00

🐳 Containerised p4d

Get a p4d server up and running in no time!

Caution

Default configuration is insecure, it is up to you to configure appropriately via your p4 client or the P4Admin GUI.

There is no automated backup system included.

Notes

  • Case insensitive mode is enabled
  • Database upgrades are run at every startup, this is not a replacement for reading the change-notes
  • SSL is enabled
  • Unicode mode is enabled

Setup

  1. Make a copy of p4d.env.template called p4d.env, and modify SERVER_NAME to taste
  2. Start the container with docker compose up --build or podman compose up --build
  3. Create a user with your p4 client or via P4V, using P4PORT=ssl:<hostname>:1666
  4. Upload a typemap

Maintenance

Re-generating the SSL certificate

  1. Stop the container
  2. Delete the ./db/ssl folder (or move it elsewhere if you'd like to keep the old cert)
  3. Start the container again

Other

If you need to poke around inside the container such for as backups and upgrades, you'll need to use this command:

<docker/podman> compose run --rm --build --entrypoint /bin/bash p4d

License notes

The LICENSE in this repo only applies to the files within it, (obviously) NOT to P4 Server or any other software that is property of Perforce Software, Inc.