4248de1d7d9b8e5b192617ba5fda7ede00be19c7
- Introduce `generatePasswordResetLink` method in `users_o` for creating secure password reset links. - Add `sendWelcomeEmailToCustomer` method to `email` class with support for attachments. - Update `authRoute.php` to send welcome emails when creating new customers. - Extend `sendEmail` to handle optional attachments and references. - Disable PHP entrypoint in Dockerfile for improved flexibility.
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 Let’s 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.pemlive/api.truckwash.dk/privkey.pemlive/cloud.truckwash.dk/fullchain.pemlive/cloud.truckwash.dk/privkey.pem
If you don’t have certs for cloud.truckwash.dk locally, either comment out that TLS server block in services/nginx/nginx.conf or place a temporary self‑signed 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_PATHand that alllive/<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.confand run on port 80.
Languages
PHP
93.5%
HTML
3.5%
JavaScript
1.9%
Shell
0.4%
Python
0.3%
Other
0.3%