
Cross-posted from "Detalii tehnice - lemmit.ro" by @tlex@lemmit.ro in !noutati@lemmit.ro
---
Hosting
lemmit.ro rulează pe trei servere dedicate, în Helsinki, închiriate de la https://www.hetzner.com/.
Utilizarea hardware
Hardware-ul este închiriat pentru proiecte personale, nu folosit în exclusivitate de lemmit.ro.
Domeniul și DNS
Domeniul a fost cumpărat prin cyberfolks.ro iar DNS-ul este ținut la cloudflare.com.
Sistemul de operare
Toate serverele rulează Ubuntu 20.04. În următoarea lună, vor trebui să fie reinstalate.
Configurația serverelor
Inițial, configurația a fost făcută exclusiv cu Saltstack. Însă, evoluția Saltstack din ultimii ani (de când a fost cumpărat de VMWare și apoi VMWare de Broadcom) m-au făcut să încep migrarea către Ansible.
Monitorizarea
Monitorizarea se face cu Prometheus, alarmele sunt livrate cu Alertmanager. Unele alerte sunt livrate prin e-mail, altele însă, cu alertmanager-notify, la o instanță de Gotify.
Statistici - ultimile 24h
Utilizare RAM (Grafana)
Utilizare procesor (Grafana)
IOPS (Grafana)
Utilizare rețea (Grafana)
Vizitatori (Cloudflare)
Hosting
lemmit.ro rulează pe trei servere dedicate, în Helsinki, închiriate de la https://www.hetzner.com/.
Utilizarea hardware
Hardware-ul este închiriat pentru proiecte personale, nu folosit în exclusivitate de lemmit.ro.
Domeniul și DNS
Domeniul a fost cumpărat prin cyberfolks.ro iar DNS-ul este ținut la cloudflare.com.
Sistemul de operare
Toate serverele rulează Ubuntu 20.04. În următoarea lună, vor trebui să fie reinstalate.
Configurația serverelor
Inițial, configurația a fost făcută exclusiv cu Saltstack. Însă, evoluția Saltstack din ultimii ani (de când a fost cumpărat de VMWare și apoi VMWare de Broadcom) m-au făcut să încep migrarea către Ansible.
Monitorizarea
Monitorizarea se face cu Prometheus, alarmele sunt livrate cu Alertmanager. Unele alerte sunt livrate prin e-mail, altele însă, cu alertmanager-notify, la o instanță de Gotify.
Statistici - ultimile 24h
Utilizare RAM (Grafana)
Utilizare procesor (Grafana)
IOPS (Grafana)
Utilizare rețea (Grafana)
Vizitatori (Cloudflare)
Astăzi am publicat stack-ul folosit pentru a porni lemmit.ro.
Backup-ul bazei de date poate fi pornit cu:
sh docker service update --force --replicas 1 lemmit-ro_postgres-backup
După terminarea backup-ului, așa arată întregul stack:
`$ docker stack ps lemmit-ro`
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS b5jwatff4zup lemmit-ro_lemmy-federation.1 mirror.gcr.io/dessalines/lemmy:0.19.11 docker-b Running Running 29 minutes ago aeklk33gahuv lemmit-ro_lemmy-federation.2 mirror.gcr.io/dessalines/lemmy:0.19.11 docker-a Running Running 31 minutes ago rcox9j7qgf3m lemmit-ro_lemmy-federation.3 mirror.gcr.io/dessalines/lemmy:0.19.11 docker-e Running Running 30 minutes ago 3sgvrh0ymigr lemmit-ro_lemmy-scheduler.1 mirror.gcr.io/dessalines/lemmy:0.19.11 docker-a Running Running 31 minutes ago wmvc77se4s4o lemmit-ro_lemmy-ui.irz20iohv3rppgdwuvn2gb1n0 mirror.gcr.io/dessalines/lemmy-ui:0.19.11 docker-b Running Running 31 minutes ago y099ivsid2xe lemmit-ro_lemmy-ui.oajkpojyim2vslhs7s3tjg4yl mirror.gcr.io/dessalines/lemmy-ui:0.19.11 docker-a Running Running 30 minutes ago yi4gyppv2tpu lemmit-ro_lemmy-ui.trcqggfb9cccfg9ky4dzoakxz mirror.gcr.io/dessalines/lemmy-ui:0.19.11 docker-e Running Running 30 minutes ago s79p4brqzoof lemmit-ro_lemmy-web.irz20iohv3rppgdwuvn2gb1n0 mirror.gcr.io/dessalines/lemmy:0.19.11 docker-b Running Running 31 minutes ago qjjntnu7woon lemmit-ro_lemmy-web.oajkpojyim2vslhs7s3tjg4yl mirror.gcr.io/dessalines/lemmy:0.19.11 docker-a Running Running 31 minutes ago wefphegjhltq lemmit-ro_lemmy-web.trcqggfb9cccfg9ky4dzoakxz mirror.gcr.io/dessalines/lemmy:0.19.11 docker-e Running Running 30 minutes ago xnzs5uf2yf8v lemmit-ro_pictrs.1 mirror.gcr.io/asonix/pictrs:0.5.16 docker-e Running Running 35 minutes ago c9vi10p2xdm2 lemmit-ro_postgres-backup.1 ghcr.io/tiredofit/docker-db-backup:4.1.17 docker-b Shutdown Complete 14 minutes ago 1i610mgjet7k lemmit-ro_postgres.1 mirror.gcr.io/pgautoupgrade/pgautoupgrade:17-alpine docker-a Running Running 31 minutes ago
Adăugat mai târziu:
Dacă vrei sa afli mai multe detalii despre cum rulează lemmit.ro, intră aici: https://lemmit.ro/post/lemmit.ro/123550
Această postare are scopul de a clarifica principiile de administrare și federare pe lemmit.ro. Este menită să fie un ghid, nu un set formal de reguli.
Reguli ale instanței
Această instanță (ca și majoritatea celorlalte instanțe) are un set de reguli care sunt întotdeauna vizibile în bara laterală a paginii principale. Toți utilizatorii acestei instanțe trebuie să respecte aceste reguli în toate activitățile lor, inclusiv:
- Moderarea comunității
- Postarea
- Comentarea
⚠️ Regulile noastre se aplică chiar și atunci când postezi într-o comunitate pe o altă instanță. De exemplu, acest lucru înseamnă că nu îți este permis să postezi spam publicitar folosind contul tău. lemmit.ro pe orice altă instanță (chiar dacă acea altă instanță nu are reguli).
Fiecare comunitate gazduită pe lemmit.ro este liberă să aibă reguli suplimentare în plus față de regulile noastre la nivel de instanță, dar regulile instanței au prioritate față de regulile comunității și trebuie întotdeauna respectate.
Responsabilități
Administratori
- Asigură-te că nu există comunități pe lemmit.ro care încalcă regulile lemmit.ro
- Interzice utilizatorii lemmit.ro care încalcă regulile noastre pe alte instanțe
- Interzice utilizatorii care încalcă în mod constant regulile în mai multe comunități
- Șterge conținutul ilegal de pe lemmit.ro
Moderatori
- Asigură-te că postările și comentariile în comunități nu încalcă regulile
- Interzice utilizatorii din comunități pentru încălcarea în mod constantă a regulilor
- Asigură-te că oferi motive clare și precise pentru acțiunile de moderare
Utilizatori
- Dă vot negativ conținutului de slabă calitate
- Raportează încălcările regulilor
⚠️ Administratorii nu sunt responsabili pentru cenzurarea conținutului de pe alte instanțe.
În cazuri excepționale (conținut ilegal sau extrem de deranjant), administratorii vor interveni și vor șterge conținutul de pe serverele lemmit.ro, dar în general se înțelege că regulile noastre de instanță nu se aplică utilizatorilor externi de pe alte instanțe, și cenzurarea și curățarea instanțelor externe pentru utilizatorii noștri nu este un obiectiv general pentru administratorii lemmit.ro.
Federarea
Lemmy este o rețea federativă, deci o mare parte din conținut va fi postat pe alte instanțe. Este posibil să limităm care instanțe sunt federate cu lemmit.ro, acest lucru se numește defederare.
Defederarea unei alte instanțe are următoarele efecte:
- Utilizatorii noștri vor înceta să vadă postări și comentarii noi de la utilizatorii instanței defederate (pe toate instanțele)
- Utilizatorii instanței defederate vor înceta să vadă postări și comentarii noi de la utilizatorii noștri
- Utilizatorii instanței defederate vor fi împiedicați să participe în comunitățile gazduite pe lemmit.ro
Așa cum s-a menționat mai sus, nu este un obiectiv pentru lemmit.ro să cenzureze și să curețe instanțele externe. Deși există cu siguranță instanțe care au conținut care nu ar fi permis pe această instanță, încălcarea regulilor noastre în afara acestei instanțe nu este în sine un motiv suficient pentru defederația altor instanțe.
Ca urmare, defederarea este relativ rară pe lemmit.ro. Abordarea noastră față de defederare corespunde cu cea de pe lemm.ee. Poți citi mai multe în această postare.
Cu toate acestea, vom defedera orice instanță care prejudiciază direct utilizatorii lemmit.ro. Acest lucru este la discreția administratorilor noaștri. Unele exemple concrete de instanțe pe care le-am defedera:
- O instanță care are un raport de 2:1 dintre boți și utilizatori 🤖
- O instanță care se concentrează pe crearea de spam în rețea
- O instanță care permite în mod sistematic unor grupuri mari de utilizatori să încalce regulile lemmit.ro în comunitățile gazduite pe lemmit.ro
- O instanță care se ocupă în mod conștient de răspândirea CSAM în rețeaua federată
Ce să faceți dacă găsiți conținut pe care nu-l agreați de la o altă instanță
- Dacă este conținut de slabă calitate, ar trebui să dați întotdeauna vot negativ ⬇️
- Dacă credeți că încalcă regulile locale ale comunității sau instanței, atunci raportați și administratorii locali/moderatorii vor lua măsurile necesare
- Rapoartele dvs. vor ajunge și la administratorii lemmit.ro, astfel încât, dacă este vorba de conținut ilegal, putem să-l ștergem de pe serverele lemmit.ro
- Dacă este doar un utilizator care se comportă urât, atunci puteți bloca acel utilizator în mod special (administratorii lemmit.ro nu vor lua măsuri în cazul utilizatorilor externi care postează pe comunități externe)
- Dacă este o comunitate dedicată să fie nesuferită în vreun fel, atunci poți bloca acea comunitate în mod special
Mulțumim lemm.ee pentru că ne-au permis să ne inspirăm din regulile lor.
Oh yeah, because it stands for list block devices
Oh I didn't notice I didn't include the command (twice!).
It's lsblk
without any arguments.
I enjoy the way OpenSuse Tumbleweed set it up:
Laptop:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot/efi
└─nvme0n1p2 259:2 0 475.9G 0 part
└─cr_nvme-eui.044a5011215f41f7-part2 254:0 0 475.9G 0 crypt
├─system-root 254:1 0 168G 0 lvm /var
│ /usr/local
│ /srv
│ /root
│ /opt
│ /boot/grub2/x86_64-efi
│ /boot/grub2/i386-pc
│ /.snapshots
│ /
├─system-swap 254:2 0 2G 0 lvm [SWAP]
└─system-home 254:3 0 305.9G 0 lvm /home
$ sudo fdisk -l
Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: UMIS RPIRJ512VME2OWD
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 2099199 2097152 1G EFI System
/dev/nvme0n1p2 2099200 1000215182 998115983 475.9G Linux LVM
Desktop:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 931.5G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
└─nvme0n1p2 259:2 0 931G 0 part
└─cr-auto-1 254:1 0 931G 0 crypt
├─system-root 254:2 0 610G 0 lvm /var
│ /usr/local
│ /root
│ /srv
│ /opt
│ /boot/grub2/x86_64-efi
│ /boot/grub2/i386-pc
│ /.snapshots
│ /
├─system-swap 254:3 0 62.5G 0 lvm [SWAP]
└─system-home 254:4 0 1.2T 0 lvm /home
nvme1n1 259:3 0 931.5G 0 disk
└─nvme1n1p1 259:4 0 931.5G 0 part
└─cr-auto-2 254:0 0 931.5G 0 crypt
└─system-home 254:4 0 1.2T 0 lvm /home
$ sudo fdisk -l /dev/nvme?n1
Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WD_BLACK SN850X 1000GB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1050623 1048576 512M EFI System
/dev/nvme0n1p2 1050624 1953525134 1952474511 931G Linux LVM
Disk /dev/nvme1n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WD_BLACK SN850X 1000GB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/nvme1n1p1 2048 1953525134 1953523087 931.5G Linux LVM