Jeppe Bundgaard ce889053a6 Improve subuser session handling and 2FA logic
- Add fallback logic to resolve subuser sessions via the tokens table when cache is missing or expired, with re-caching for future use.
- Refactor 2FA flow to prioritize subuser over user objects for better clarity and ensure compatibility with TOTP logic.
- Add safeguards to avoid operations on nonexistent users or subusers in 2FA and authentication flows.
2026-02-23 18:57:20 +01:00
2025-01-29 14:27:44 +01:00
2025-01-29 14:27:44 +01:00

Local TLS certificates with Docker Compose

Nginx is configured to terminate TLS using certificates mounted at /etc/letsencrypt inside the container. To use your real Lets Encrypt certificates on the host, the Compose file mounts a configurable path via LETSENCRYPT_PATH.

1) Configure the host certificate path

Copy .env.example to .env in the project root and adjust the path for your environment:

cp .env.example .env
# Edit .env and set one of the following:
# Linux:  LETSENCRYPT_PATH=/etc/letsencrypt
# Windows (WSL Ubuntu): LETSENCRYPT_PATH=//wsl$/Ubuntu/etc/letsencrypt

Ensure the following files exist under the path you set:

  • live/api.truckwash.dk/fullchain.pem
  • live/api.truckwash.dk/privkey.pem
  • live/cloud.truckwash.dk/fullchain.pem
  • live/cloud.truckwash.dk/privkey.pem

If you dont have certs for cloud.truckwash.dk locally, either comment out that TLS server block in services/nginx/nginx.conf or place a temporary selfsigned cert/key at the expected path.

2) Start Nginx

docker compose up -d nginx

Check logs:

docker compose logs -f nginx

3) Troubleshooting

  • “cannot load certificate … no such file or directory”: verify LETSENCRYPT_PATH and that all live/<domain>/ files exist on the host.
  • For purely local testing without HTTPS, you may comment out the HTTPS server blocks and the HTTP→HTTPS redirect in services/nginx/nginx.conf and run on port 80.
S
Description
Staging repo for api (CI + promotion to GitHub)
Readme
40 MiB
Languages
PHP 93.5%
HTML 3.5%
JavaScript 1.9%
Shell 0.4%
Python 0.3%
Other 0.3%