docker compose wrapper to quickly run a local arkhamdb instance.
Warning
This is tailored to previewing the card database and images. This is not a production-ready setup, nor does it currently support developing arkhamdb itself.
- install docker and git.
- run the following commands in a shell. If your system does not have
makeinstalled (e.g. on Windows), copy the referenced commands from theMakefileand run them manually instead when approriate.
# 1. clone this git repository to a folder and change to it.
git clone https://github.com/fspoettel/arkhamdb-docker && cd arkhamdb-docker
# 2. Clone arkhamdb and arkhamdb-json-data repositories.
# If you want to use a fork of the data repository, adjust the command to use your fork.
make setup
# 3. Start the containers in one terminal.
docker compose up
# 4. In a second terminal, initialize the database.
# You only need to do this once on first run.
make init-db
# 5. Import card data.
make import-cards✨ You can now access the application at http://localhost:8000.
The folders <repo>/arkhamdb-json-data and <repo>/images are mounted into the running docker container.
Changes to files in the images folder will be visible in the "Browse" view immediately.
In order to update card data or images in the deck builder view, run make import-cards again after making changes and confirm the new card data version in the application UI.
type: mysql or mariadb
host: 127.0.0.1
port: 3307
database: symfony
user: symfony_user
password: symfony_password
- Register via the application user interface.
- Connect to the database with a SQL editor (e.g. TablePlus), using the credentials referenced above.
- Navigate to the
userstable and find the record pointing to the user you registered. - Set the
enabledfield to1. - You can now login.
If you need to develop against ArkhamDB's OAuth gateway, you can create an oauth client by running the following command. By default, this will create a client with grant_types set to ["authorization_code", "refresh_token"].
make redirect_uri="<url>" name="<name>" create-oauth-appThe command will output the client_id and client_secret.
Authorization endpoint: http://localhost:8000/oauth/v2/auth