Primary Pantheon project repository
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Frey skeleton initialization Sep 9, 2018
.travis.yml Fix CI docker build Aug 30, 2018
TODO.txt PNTN-220 randomize seating at tables checkbox Feb 7, 2018
dbinit_frey.sql Fix large uids sync for container Jun 4, 2018

Mahjong Pantheon: automated statistics & assistance for japanese riichi mahjong sessions.

Build Status

Pantheon project consists of some submodules, each of those might be installed standalone (see instructions in folder of each submodule). To quickly run Pantheon locally using Docker, read further.

Join our Gitter chat for news, announcements and developer conversations.

Also use our Bug tracker for error reports and feature requests.


Pantheon developer environment works on *nix hosts (mac, linux, *bsd). Windows-based systems are not supported (while it still MAY work, it is not tested at all, also you may want to try using it under WSL in Windows 10+).

Make sure you have Docker installed and daemon running on your system. Also Pantheon expects PHP7+ to be installed on your host system for some minor needs.

Running containers

Note: on some linux distros almost every docker-related command should be run as root. If nothing happens, or error is displayed, try adding sudo before make.

  1. make container to build a pantheon container (this should be done every time Dockerfile is changed).
  2. make run to run the container and do all preparations inside of it (this should be done after each container shutdown).
  3. make dev to install dependencies for all projects, run database migrations and start all servers.
  4. Now you can use make logs and make php_logs to view all logs in real-time. Also you may use make shell to get to container shell, if you want to. Notice that killing php-fpm, postgres or nginx will ruin the container entirely. Use Dockerfile to alter their configuration.

To create new empty event, run make empty_event - and you will be able to access event with printed link. Admin password for every generated empty event is password. To create an event and fill it with some data, run make seed or make seed_tournament (with sudo if required). Note: this command will perform a full cleanup of data!

Default ports for services are:

Pull requests

Any pull request should pass all current code style checks; also all unit tests should pass. Don't forget to run make check (with sudo if required) before sending your pull request. To fix all code style issues automatically (in php code only), run make autofix (also sudo may be required).