Hejmpaĝo Instalado Trajtoj Agordo Kondiĉoj Privateco Leĝa
Lingvo / Language
v2.2.0

Gvidilo pri instalado kaj deplojo

Instala kaj deploja gvidilo por MILITANT, la memstara militanta socia reto.

Instalado kaj Deplojo

Disvolviĝo (Loka)

Por kontribui aŭ testi kun disvolvaj iloj (Mailpit, Hot-reload...) :

git clone https://gitlab.com/militant1/millitant.git
cd millitant
docker compose up -d --build

Profesia Mem-gastigado (Rekomendata)

La plej simpla kaj rapida metodo. Uzas la oficialan antaŭkonstruitan bildon.

1. Elŝuti dosierojn:

curl -O https://gitlab.com/militant1/millitant/-/raw/main/docker-compose.hosting.yml
curl -O https://gitlab.com/militant1/millitant/-/raw/main/.env.template

2. Agordi:

cp .env.template .env
nano .env # Plenigu viajn alirojn (DB, SMTP...)

3. Lanĉi:

docker compose -f docker-compose.hosting.yml up -d

Klasika Instalado (Fonto)

Por tiuj, kiuj deziras mem kompili la bildon el la fontkodo:

1. Elŝuti la dosieron:

curl -O https://gitlab.com/militant1/millitant/-/raw/main/docker-compose.prod.yml

2. Agordi la medion: Kreu .env dosieron:

DB_PASS=via_sql_pasvorto
SMTP_HOST=smtp.via-provizanto.com
SMTP_USER=kontakto@via-domajno.com
SMTP_PASS=via_smtp_pasvorto
APP_URL=https://via-domajno.com

3. Lanĉi:

docker compose -f docker-compose.prod.yml up -d

Progresinta Reta Agordo

Se vi uzas Cloudflare aŭ inversan prokurilon, MILITANT aŭtomate detektas la realan IP de viaj uzantoj.

Ĉiu kofiguro de Apache (`mod_remoteip`) estas administrata per nia varma ĝisdatiga skripto.

# Apliki la Cloudflare-agordon al via servilo
sudo ./hot_update.sh

La platformo nuntempe estas atingebla ĉe http://localhost:9000 (aŭ la URL agordita en via .env).

4. Komenca agordo

Post la unua lanĉo, vi devas krei la unuan administran konton.

  1. Iru al /register.php por krei konton.
  2. Uzu la skripton setup_admin.php (en la radiko) por doni administrajn rajtojn al via uzanto.

Grava: Ne forgesu forigi setup_admin.php post la uzo pro sekurecaj kialoj.

Instalado per CasaOS

  1. Malfermu la App Center kaj alklaku Custom Install (supre dekstre)
  2. Alklaku la ikonon Docker Compose (supre dekstre de la modalo)
  3. Algluu la enhavon de la dosiero docker-compose.casaos.yml
  4. Alklaku Install
  5. Iru al http://IP-CASAOS:8080
  6. Krei la administran konton: http://IP-CASAOS:8080/setup_admin.php

Sistempostuloj: ~512 Mo RAM minimuma, ~5 Go disko (laŭ alŝutoj)

Protekto Fail2Ban

MILITANT inkluzivas protekton kontraŭ brutfortaj atakoj (brute-force).

Agordo:

# La dosiero jail.local estas aŭtomate generita
# Ĝi analizas la protokolojn en logs/auth.log

Vérifier le statut

# Voir si Fail2Ban tourne
docker ps | grep fail2ban

# Statut des jails
docker exec militant-fail2ban fail2ban-client status

# Détails de la jail militant-auth
docker exec militant-fail2ban fail2ban-client status militant-auth

Configuration par défaut

Paramètre Valeur
Tentatives max 5
Durée du ban 1 heure
Fenêtre de détection 5 minutes

Aŭtomata Rezervkopio

Rezervkopia skripto de la datumbazo MySQL (dump) estas inkluzivita.

# Lanĉu mane:
./scripts/backup.sh

Vi povas aldoni cron-taskon por aŭtomatigi la rezervkopiojn ĉiutage.

Noto: Semajnaj rezervkopioj estas agorditaj per cron dimanĉe je la 3-a matene.

🏥 Sankontrola Finpunktoj

MILITANT malkaŝas sankontrola finpunktojn por monitori la staton de servoj realtempe.

Publikaj Finpunktoj (Stata Paĝo)

Ĉi tiuj finpunktoj estas publike alireblaj kaj ne malkaŝas sentemajn informojn:

https://militant.revlibertaire.com/health-public.php
https://api.militant.revlibertaire.com/health-public.php

JSON Respondo:

{
  "status": "ok",
  "timestamp": 1771206234
}

Eblaj Valoroj:

  • ok - Servo funkcianta ✅
  • degraded - Servo degradita ⚠️
  • partial_outage - Parta interrompo 🔴

Privataj Finpunktoj (Interna Monitorado)

Ĉi tiuj finpunktoj estas limigitaj al loka aliro (localhost kaj internaj retoj) kaj provizas infrastrukturajn detalojn:

https://militant.revlibertaire.com/health.php
https://api.militant.revlibertaire.com/health.php

Detala Respondo (nur localhost):

{
  "status": "ok",
  "timestamp": 1771206234,
  "services": {
    "database": "ok",
    "storage": "ok",
    "php": "ok"
  }
}

Ekstera Aliro:

{
  "error": "Access denied",
  "status": "forbidden"
}

Sekureco: Privataj finpunktoj nur akceptas konektojn de 127.0.0.1, ::1 kaj privataj retoj (10.x.x.x, 172.16-31.x.x, 192.168.x.x).

Publika Stata Paĝo

Kontrolu la staton de servoj realtempe:

https://militant.revlibertaire.com/status.html

La paĝo aŭtomate demandas publikajn finpunktojn ĉiujn 30 sekundojn.

Trajtoj

Sekureco & Konto

  • Du faza aŭtentigo (2FA) per TOTP (Google Authenticator, Authy...)
  • Passkeys (WebAuthn): Biometrika ensaluto (fingrospuro, vizaĝo)
  • Pasvortoj ĉifritaj per Argon2ID
  • Fail2Ban integrita (protekto kontraŭ brutforto)
  • Strikta protekto kontraŭ CSRF, XSS kaj Rate Limiting

Publikaĵoj

  • Afiŝoj kun fotoj/videoj (ĝis 500MB)
  • Riĉaj ligantaj antaŭrigardoj (aŭtomataj)
  • Emoji-reagoj
  • Enmetitaj komentoj kun respondoj
  • @mencioj kun sciigoj

Socia

  • Privataj mesaĝoj kun baza ĉifrado
  • Efemera historioj (24h) kun tuŝa navigado
  • Kronologia fluo "Por vi" / "Sekvatoj"
  • Sistemo de amikoj kaj sekvanto
  • Unuigita tutmonda serĉo

Grupoj & Kolektivoj (Mesaĝado V2)

Kompleta integra tuŝmesaĝilo, desegnita por kolektiva organizado.

  • Horizontala regado: Ĉiuj membroj estas administrantoj defaŭlte. Kolegia administrado de membroj kaj agordoj.
  • Efemera mesaĝoj: Agordu aŭtomatan memdetruon (de 1 minuto ĝis 7 tagoj) por viaj sentemaj diskutoj.
  • Aŭdio kaj Medioj: Rekta voĉregistrilo (kongrua kun iOS/Android), sendado de fotoj kaj videoj kun integra rigardilo.
  • Sekureco de interŝanĝoj: Strikta izolado de mesaĝaj datumoj kaj avertoj okaze de provoj de seancokapto.
  • Aliĝpetoj: Validsistemo por privataj grupoj kun agordeblaj demandaroj.

Internaciigo

  • Interfaco tradukita en la francan, anglan, hispanan, esperanton
  • Aŭtomata tradukado de afiŝoj kaj mesaĝoj (LibreTranslate)
  • Aŭtomata lingvodekto

📱 Poŝtelefona Interfaco

Optimumigita sperto por saĝtelefonoj sen bezono de plia aplikaĵo.

  • Malsupra navigadstrio: Rapida aliro al Hejmpaĝo, Serĉo, Mesaĝoj, Profilo.
  • Flanka menuo (Offcanvas): Aliro al ĉiuj progresintaj trajtoj.
  • Adapta kaplinio: Logoo kaj esencaj agoj ĉiam videblaj.
  • PWA Insigno: Subteno de nativaj sciigoj en Android.

Agordo (.env)

Variablo Priskribo Defaŭlto (Dev)
DB_HOST MySQL Gastiganto db
DB_NAME Nomo de la bazo militant
DB_USER MySQL Uzanto militant
DB_PASS MySQL Pasvorto militant123
SMTP_HOST SMTP Servilo mailpit
SMTP_PORT SMTP Pordo 1025
APP_URL Publika URL http://localhost:9000
HCAPTCHA_SITE_KEY hCaptcha Reteja Ŝlosilo -
HCAPTCHA_SECRET_KEY hCaptcha Sekreta Ŝlosilo -

Komunuma Moderigado

Neniu hierarkio. Decidoj per konsento.

  • Raportoj traktitaj per komunuma voĉdono
  • 70% de konsento postulata
  • Moderigantoj elektitaj kaj malofteblaj de ĉiuj

Lingvoj

Disponebla en: Français, English, Español, Esperanto

Aldoni lingvon: krei lang/xx.php

PWA Aplikaĵo

MILITANT estas Progresema Reta Apo (PWA) instalebla sur poŝtelefono kaj komputilo. Ĝi funkcias eĉ senrete.

En Android

  1. Malfermu militant.revlibertaire.com en Chrome
  2. Premu la menuon (tri punktoj supre dekstre)
  3. Elektu "Instali aplikaĵon" aŭ "Aldoni al la hejma ekrano"
  4. Konfirmu premante "Instali"
  5. La ikono de MILITANT aperos sur via hejma ekrano

En iPhone / iPad

  1. Malfermu militant.revlibertaire.com en Safari
  2. Premu la butonon Kundividi (malsupre de la ekrano)
  3. Rulumu kaj elektu "Aldoni al la hejma ekrano"
  4. Premu "Aldoni" supre dekstre
  5. La ikono de MILITANT aperos sur via hejma ekrano

En komputilo (Chrome, Edge)

  1. Malfermu militant.revlibertaire.com
  2. Alklaku la instalan ikonon en la adrestuŝo
  3. Aŭ iru al la menuo "Instali MILITANT"
  4. La aplikaĵo malfermiĝos en sia propra fenestro

Avantaĝoj de PWA: Rapida aliro de la hejma ekrano, puŝ-sciigoj, funkcias senrete, ne bezonas trapasi aplikaĵon.