- Install necessary dependencies:
- docker with
docker compose
plugin - nodejs with npm
- Install dependencies
You need to do it only once unless you change something in
package.json
npm install
- Build the module at least once
npm run build
This populates ./dist
folder with built SyrinControl
- Download foundry - Latest release for Linux/NodeJS.
- Go to
docs/foundry
cd docs/foundry
- Copy
FoundryVTT-12.xxx.zip
todocs/foundry
cp ~/Downloads/FoundryVTT-12.xxx.zip .
- Create a new folder called
foundryvtt-v12
inside ofdocs/foundry
mkdir foundryvtt-v12
- unpack zip to this new folder:
unzip ./FoundryVTT-12.xxx.zip -d foundryvtt-v12
- Remove zip file
rm ./FoundryVTT-12.xxx.zip
- Build the docker image.
docker compose build
- Now you can run foundry in docker!
docker compose up -d
- Setup license and create a world
e2e
Go to http://localhost:3000/ Admin password:1
(just number one) Install any preferable system Install socketlib module Run the world Enable socketlib and syrincontrol Add your personal auth key in syrincontrol settings
Requirements: running docker with foundry.
- Run the module dev Run dev server in root of the project
npm run dev
-
From now on you want to access the foundry by this address: https://localhost:9443/join
-
The server will automatically refresh page as well as recompile SyrinControl when you save changes. The server requires foundry running on http://localhost:3000 so make sure you ran
docker compose up -d
in docs/foundry
folder.
If not sure check docker ps
if the foundry is running.
- To stop the server just press CTRL+C in terminal where you ran
npm run dev
. - to stop foundry go to
docs/foundry
and rundocker compose down
Requirements: running docker with foundry & running dev server
- Run cypress open Run cypress e2e tests in root of the project
npm run cypress open --e2e -b chrome
- Run all specs at least once
- When developing feature focus only on spec describing the feature.
To make it even simpler I prepared couple of scripts:
./scripts/dev.sh
- it will run docker compose with foundry and then callnpm run dev
../scripts/e2e.sh
- it will run E2E tests in Firefox