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 iCreate .env.development and .env.production from .env.template.
cd e2e && npm installThis will setup dev environment normally but run the tests in a bundled frontend.
bin/run-e2e-testsCreate 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 --installFor 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=somethinginvariables: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_VARis 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: ValidationErrorWe 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







