Working Group IT: Difference between revisions
No edit summary |
No edit summary |
||
Line 21: | Line 21: | ||
!Notes | !Notes | ||
|- | |- | ||
|SSO | |SSO - Keycloak | ||
| | |||
| | |||
* Test if it's easier to use than authentik | |||
|Phier | |||
| | |||
|- | |||
|SSO - Authentik | |||
|1 | |1 | ||
| | | | ||
Line 81: | Line 88: | ||
|2 | |2 | ||
|Replace external https://tickets.mumalab.org/courses/ with Pretix instance on our server with ticket.munichmakerlab.de | |Replace external https://tickets.mumalab.org/courses/ with Pretix instance on our server with ticket.munichmakerlab.de | ||
*Connect to | *Connect to SSO => TODO | ||
*Setup for production => TODO | *Setup for production => TODO | ||
*Setup Email list/group | *Setup Email list/group | ||
Line 118: | Line 125: | ||
| | | | ||
*Setup Firewall => Done | *Setup Firewall => Done | ||
*Add fail2ban => https://blog.lrvt.de/configuring-fail2ban-with-traefik/ or https://plugins.traefik.io/plugins/628c9ebcffc0cd18356a979f/fail2-ban | *<s>Add fail2ban => https://blog.lrvt.de/configuring-fail2ban-with-traefik/ or https://plugins.traefik.io/plugins/628c9ebcffc0cd18356a979f/fail2-ban</s> | ||
*Add firewall to ansible = done | *Add firewall to ansible = done | ||
*Check Firewall together with docker: https://www.reddit.com/r/docker/s/RyUl8Akhy2 => https://github.com/chaifeng/ufw-docker?tab=readme-ov-file Test manually with nmap before | *Check Firewall together with docker: https://www.reddit.com/r/docker/s/RyUl8Akhy2 => https://github.com/chaifeng/ufw-docker?tab=readme-ov-file Test manually with nmap before | ||
*<s>update docker networks for better separation?</s> | *<s>update docker networks for better separation?</s> | ||
*limit docker daemon with systemd slices to 90% RAM and CPU: https://unix.stackexchange.com/questions/537645/how-to-limit-docker-total-resources => | *limit docker daemon with systemd slices to 90% RAM and CPU: https://unix.stackexchange.com/questions/537645/how-to-limit-docker-total-resources => done | ||
*add docker log rotation => | *Add dynamic blocking mechanism to traefik => check out fail2ban https://blog.lrvt.de/configuring-fail2ban-with-traefik/, https://plugins.traefik.io/plugins/628c9ebcffc0cd18356a979f/fail2-ban or crowdsec: https://www.crowdsec.net/blog/enhance-docker-compose-security => open | ||
*add docker log rotation => done | |||
*Limit all containers e.g. via Docker compose => in progress | *Limit all containers e.g. via Docker compose => in progress | ||
*Check, that no container are exposed without reason (e.g. Authentik and pretix might miss) => done | *Check, that no container are exposed without reason (e.g. Authentik and pretix might miss) => done | ||
Line 137: | Line 145: | ||
Metrics: | Metrics: | ||
*Setup docker compose for Grafana + Prometheus: https://grafana.com/docs/grafana-cloud/send-data/metrics/metrics-prometheus/prometheus-config-examples/docker-compose-linux/ => done | *Setup docker compose for Grafana + Prometheus: https://grafana.com/docs/grafana-cloud/send-data/metrics/metrics-prometheus/prometheus-config-examples/docker-compose-linux/ => done | ||
*Limit Prometheus Storage: https://prometheus.io/docs/prometheus/latest/storage/#right-sizing-retention-size | *Limit Prometheus Storage: https://prometheus.io/docs/prometheus/latest/storage/#right-sizing-retention-size => prometheus | ||
*Setup useful alerts and fix not proplery showing up ones => in progress | *Setup useful alerts and fix not proplery showing up ones => in progress | ||
*Authentication via Authentik | *Authentication via Authentik | ||
Line 158: | Line 166: | ||
|2 | |2 | ||
| | | | ||
*Add adaption for nextcloud OIDC | *Add adaption for nextcloud OIDC? | ||
|Milian | |Milian | ||
| | | |
Revision as of 21:12, 1 April 2025
Group that focus on the IT infrastructure of the lab like the Web Infrastructure
Channel Slack: #IT-Infrastructure
Migration and Optimization 2024/2025
We're planning to consolidate services into a standard deployment model, consolidate external services, and maybe add some new ones.
Next Milestones
- Get server stable
- Setup useable pretix + authentik + nextcloud calender
ToDos
Topic | Prio | Tasks | Who is on it/wants to do it? | Notes |
---|---|---|---|---|
SSO - Keycloak |
|
Phier | ||
SSO - Authentik | 1 |
|
Phier, Milian | |
Wiki | 1 |
|
Severin, Milian | |
Lightburn Remote VM | 2 |
|
Phier | |
Migrate Node Red | 2 | - Remove unused flows | Milian | https://hub.docker.com/r/nodered/node-red |
Migrate Mailsetup | 2 |
|
Severin | |
Migrate Ticket System | 2 | Replace external https://tickets.mumalab.org/courses/ with Pretix instance on our server with ticket.munichmakerlab.de
|
Milian/Phier | Setup new, without migration |
Migrate Token DB | 2 | Existing setup https://github.com/homeofmaking/OpenUnitState/tree/master Migrate existing token from TBD Adjust Lasercutter and door(?) to this DB
... |
open | Contact German for old DB/Automation setup |
Setup Nextcloud | 2 |
|
Phier, Milian | |
Security and stability | 1 |
|
Milian | |
Logging and Monitoring | 1 | Setup Elastic Stack for Logging and Grafana + Prometheus for Metrics
Metrics:
Logs:
Data:
|
Milian | |
IaC | 2 |
|
Milian | |
Cleanup | 2 | Check MQTT and other IT devices. Which are still up to date, which can be fixed and which are not existent anymore.
check remaining stuff in the lab, if something depends on old ports: MuMaBus ; Cleanup also acl.conf |
Adrian | ongoing |
Status | 2 | Fix status page Temperature: https://status.munichmakerlab.de/ | Milian | |
Orga | 2 |
|
Milian |
DONE
Topic | Tasks | Who is on it/wants to do it? | Notes | |
---|---|---|---|---|
Social Media |
|
Adrian, Milian | ||
IaC |
|
Milian | ||
Setup Nextcloud |
|
Phier, Severin | ||
Migrate Ticket System | Replace external https://tickets.mumalab.org/courses/ with Pretix instance on our server with ticket.munichmakerlab.de
|
Milian/Phier | Setup new, without migration | |
Migrate Node Red | Old version 2.0.6
Latest: 4.0.5 - Open firewall (ufw) for - Migrate data to saturn and adjust settings for new version => done - Create systemd for node red for version 4.0.5 => done - Test container with new version - fix broken stuff => done |
Milian | https://hub.docker.com/r/nodered/node-red | |
Wiki |
|
Severin | ||
SSO |
|
Phier, Milian | ||
Update Apps | e.g. Etherpad | Severin | Done | |
MQTT | Migrate to saturn and update to latest version.
Connect with Adrian => https://munichmakerlab.slack.com/archives/C79T8NFU7/p1731197933279969
|
Mili | DONE | |
IoT Setup Lab | Local https://www.home-assistant.io/ setup to have a plattform for additional functions like power monitoring or controlling of the devices in the lab
|
Adrian | Initial setup done | |
Backup | Check Backup of Doorlok DB
=> old local server was removed |
Severin | Done, was setup on proxmox |
Ideas and Notes
Consolidate:
- Wiki: Containerize => Challenges: php modules; updating php/wiki; ggf. make it easier to include the plugins (maybe php compose module handling)
- Mailsystem: ??
Externally hosted, and to be transfered into MuMaLab Infrastructure
- Tickets (https://tickets.mumalab.org/courses/)
- Calendar -> Google Calendar -> NextCloud
- ToolJet (via OpenUnitState)
Planned Services
- NextCloud
- evtl Ticket System
- Single Sign On: e.g. login to wiki either locally or via SSO. Later only SSO. Can be used e.g. for nextcloud or other services as well
Details unclear
- InfoBeamer
Mailsystem
Should support migrating of existing data and maillinglists
- https://docs.mailcow.email/#what-is-mailcow-dockerized => seems to work with postfix and integration with mailman 3 seems to be possible
- Docker Mailserver
* Mailman supported via addon container, but very very old - docker-mailman3
- poste.io
- Mailu
- MailInABox - not dockerized
Lightburn VM
2. Licence for lightburn is already available. Would be nice to give members the chance to prepare Laser stuff remote and just come to the lab to laser.
Challenges: No Linux support https://forum.lightburnsoftware.com/t/linux-support-to-end-after-v1-7/144605; exposing remote desktop in secure way
Remote Systems?
SSO
IDPs
- Option: Authentik
- Option: https://git.cccv.de/uffd/uffd
- Option: ...?
Auth:
Complete guide to Nextcloud OIDC authentication with Authentik
Integrate Authentik and Nextcloud
Wiki Plugins for OIDC etc.: Plugable Auth