Create and fill in .env
, .env.dev
and .env.prod
from .env.template
.
Run the installation scripts in /docs
.
Create .env.dev
and .env.prod
from .env.template
.
cd frontend && pnpm i
Create .env.development
and .env.production
from .env.template
.
cd e2e && npm install
This will setup dev environment normally but run the tests in a bundled frontend.
bin/run-e2e-tests
Create certificates with mkcert
.
For linux
VM:
mkdir traefik/certificates
cd traefik/certificates
sudo apt install libnss3-tools
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64 -O mkcert
chmod +x mkcert
sudo mv mkcert /usr/bin/
source ~/.bashrc
mkcert --cert-file localhost.pem --key-file localhost-key.pem "dev.localhost" "*.dev.localhost" "prod.localhost" "*.prod.localhost" "e2e.localhost" "*.e2e.localhost" "e2e.localhost" "*.e2e.localhost" "wiki.localhost"
mkcert --install
For Windows
:
Copy the CAROOT from the virtualmachine:
cat "$(mkcert -CAROOT)/rootCA.pem"
over to windows:
code "$(.\mkcert.exe -CAROOT)/rootCA.pem"
Run mkcert --install
for the first time to create a CAROOT. Then replace the contents and run mkcert -install
again to update the CAROOT.
-
Variables named "*secret*" in
.env*
files are ignored, andSECRET_KEY=something
invariables:
key won't be parsed either and yieldSECRET_KEY=
. They have to be set in Azure Devops and mapped in pipeline tasks with theenv:
key. -
If
ENV_VAR
is set as an azure pipeline variable at the top level, it's available as${ENV_VAR}
in compose.
Fastapi won't give a meaningful error when the response model typing in a route does not match the return value.
if errors:
> raise ValidationError(errors, field.type_)
E pydantic.error_wrappers.ValidationError: <unprintable ValidationError object>
/usr/local/lib/python3.9/site-packages/fastapi/routing.py:138: ValidationError
We should always look into the response_model
of the route first of all to ensure it's correct.
- Ensure different routers
traefik.http.routers.<my-router>
are used for different environments. Else we get a 404 when the service container is actually running