38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
|
|
---
|
||
|
|
name: laser
|
||
|
|
kind: web-app
|
||
|
|
status: staging
|
||
|
|
host: makerfloss.eu
|
||
|
|
url: https://laser.makerfloss.eu
|
||
|
|
upstream: https://forgejo.nyumbani.baobab.band/sjat/AnsibleBaobabV4
|
||
|
|
tech: Python (Flask + Gunicorn)
|
||
|
|
tls: letsencrypt
|
||
|
|
---
|
||
|
|
|
||
|
|
## Notes
|
||
|
|
|
||
|
|
Course site for the laser cutting intro course ("Introkursus til lille laser"),
|
||
|
|
in Danish. Serves the course materials (slides, plancher, worked examples) for
|
||
|
|
download and takes participant file uploads during the course.
|
||
|
|
|
||
|
|
Behind Traefik basicAuth — the credentials are handed out in class. Uploads are
|
||
|
|
restricted to laser-relevant formats (SVG, DXF, PDF, common raster, archives),
|
||
|
|
capped at 20 MB, and stored as `<participant>_<timestamp>_<filename>` under
|
||
|
|
`/srv/laser_course/uploads`.
|
||
|
|
|
||
|
|
Deployed from the `baobab.laser-course` role in AnsibleBaobabV4 (the app source
|
||
|
|
and the course materials both live in that role):
|
||
|
|
|
||
|
|
```bash
|
||
|
|
ansible-playbook play_containers.yml --limit makerfloss -t laser-course
|
||
|
|
```
|
||
|
|
|
||
|
|
Two things worth knowing before a course:
|
||
|
|
|
||
|
|
- **Uploads are not backed up.** `backup_enabled` is false on this VPS, and
|
||
|
|
`laser_course_clean_uploads_on_deploy` is set to false here so that an
|
||
|
|
unrelated deploy does not delete them. Collect anything worth keeping and
|
||
|
|
clear the directory by hand between courses.
|
||
|
|
- The site moved here from `laser.baobab.band` on the home estate in August
|
||
|
|
2026; `laser.makerfloss.eu` is the canonical address.
|