Features:
- 🔄 Live Reload
- 🛠️ PhpMyAdmin for DB inspection
- Create
.docker/local/.envbased on.docker/local/.env.example. - Prepare your local database (credentials, schema, etc.) as per the
.env. - Start the containers:
./env.sh local up - Stop the containers:
./env.sh local down
- Make sure
src/test/resources/tests.propertiesexists.- If missing, create it by copying from
src/test/resources/tests.properties.example. - Fill in the required test credentials (e.g., for LDAP).
- If missing, create it by copying from
- Run the app container:
docker exec -it bankid-app bash - Run all tests inside the container:
./mvnw test
The Playwright suite in e2e/ covers complete registration and membership-renewal journeys, including Bank iD verification, employee registrations, vouchers, Comgate payments, payment failures and retries, and admin-dashboard checks.
- Make sure the application is running in a configured local or testing environment.
- Install the E2E dependencies and Chromium:
cd e2e npm install npx playwright install chromium - Create the E2E environment file and fill in the required application, admin, Bank iD sandbox, patron, and employee-test values:
cp .env.example .env
- Run the complete suite from the
e2e/directory:npm test
Useful commands:
# Run one specification
npx playwright test tests/registration/normal-no-discount.spec.ts
# Run with a visible browser
npm run test:headed
# Open the latest HTML report
npm run reportTests run sequentially because customer journeys modify shared Aleph state. Fine-dependent renewal scenarios require patrons with manually prepared fines; their optional environment blocks and bootstrap workflow are documented in e2e/.env.example.
Features:
- ❌ No Live Reload
- ❌ No PhpMyAdmin
⚠️ Database only accessible from within the container
- SSH into the testing server:
ssh username@your-server
- Navigate to the project directory. If not cloned yet:
git clone https://github.com/your-username/bankid-registrator.git cd bankid-registrator - Pull the latest code (do this regularly):
git pull
- Create
.docker/testing/.envbased on.docker/testing/.env.example. - Start the containers:
./env.sh testing up
- Stop the containers:
./env.sh testing down
- List running containers:
docker ps
- Enter the DB container:
docker exec -it bankid-database bash - Access MySQL:
mysql -u root -p
- Run your queries:
SHOW DATABASES;
⚠️ Ensure that sensitive.envfiles are securely stored and never committed to the repository.
- SSH into the production server.
- Clone the repo or pull latest changes:
git pull
- Create the environment file:
cp .docker/production/.env.example .docker/production/.env
- Fill in all production secrets: database credentials, JWT secret, BankID client ID/secret, etc.
- Start the app:
./env.sh production up
- To stop:
./env.sh production down
- Check logs:
docker logs bankid-app