The goal of this project is to implement a web version of Arkham Horror with as many of the rules implemented as possible.
This is very much a work in progress. Things may break at any time, but if they do, please file a bug.
- Multiplayer up to 4 players
- Multiplayer solitaire
- Tarot Readings
- Deck import from ArkhamDB
- All player cards until The Scarlet Keys (in progress)
- All player cards from the return to boxes
- All the standalone investigator cards
- All the promo investigator cards
- The following parallel investigator cards:
- Daisy Walker
- Night of the Zealot
- Return to Night of the Zealot
- The Dunwich Legacy
- The Path To Carcosa
- The Forgotten Age
- The Circle Undone
- The Dream-Eaters
- The Curse of the Rougarou
- Carnevale of Horrors
- Murder at the Excelsior Hotel
You will need to install Docker.
Afterwards you can run:
docker compose up
And launch http://localhost:3000
If you pull updates in the future make sure to run
docker compose down
docker compose build
docker compose up
- Stack for GHC
- Node
- Postgresql
- Sqitch (optional: for migrations)
The image is setup to use an external database passed via the DATABASE_URL
environment variable. Follow the steps below to setup the database and then run the following commands
docker build -t arkham .
docker run -t -i -e PORT=3000 -e DATABASE_URL="postgres://docker:[email protected]:5432/arkham-horror-backend" -p 3000:3000 arkham
Run stack setup
in the backend
directory, then run stack build --fast
(note: this will still take a long time)
Run npm install
in the frontend
directory
Create the local database:
createdb arkham-horror-backend
cd migrations
sqitch deploy db:pg:arkham-horror-backend
If you do not have sqitch you can cat migrations/deploy/*
to see the create
table statements and run them manually, you will want to specifically run the
users
and arkham_games
create table statements first.
- start the backend with
cd backend && make api.watch
- start the frontend with
cd frontend && npm run serve
The Card Game, both literal and graphical, is copyrighted by Fantasy Flight Games. This application and the corresponding website is not produced, endorsed, supported, or affiliated with Fantasy Flight Games.