pokerogue/docs/podman.md
Domagoj 65c72c65b9
[Dev] Add Podman support (#6150)
* Add Dockerfile

* Refactor for improved podman support

* Podman support + docs

* Update documentation for podman usage

* Update docs/podman.md with working podman run command

* Add package manager constraint to package.json and Dockerfile
Update podman.md docs

* Remove package manager constraints from github workflows per DayKev
Update podman.md docs with extra steps for locales and testing command
Remove missleading comment from Dockerfile

* Remove Dockerfile comment

* Re-add `pnpm` version to Github Pages workflow

* Mention podman in CONTRIBUTING.md
Fix typo in docs/podman.md test command

* Fix path to docs/podman.md

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-09-10 14:23:13 -05:00

914 B

Using Podman

Requirements

  • podman >=5.x

Steps

  1. podman build -t pokerogue -f Dockerfile .
  2. podman create --name temp-pokerogue localhost/pokerogue
  3. podman cp temp-pokerogue:/app/node_modules ./
  4. podman cp temp-pokerogue:/app/public/locales ./public/
  5. podman rm temp-pokerogue
  6. podman run --rm -p 8000:8000 -v $(pwd):/app:Z --userns=keep-id -u $(id -u):$(id -g) localhost/pokerogue
  7. Visit http://localhost:8000/

Note:

  1. Steps 2,3,4 are required because mounting working directory without installed node_modules/ and assets locally will be empty, this way we prevent it by copying them from the container itself to local directory

  2. podman run may take a couple of minutes to mount the working directory

Running tests inside container

podman run --rm -p 8000:8000 -v $(pwd):/app:Z --userns=keep-id -u $(id -u):$(id -g) localhost/pokerogue pnpm test:silent