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
Retejo
Retpoŝtoj (Mailpit)
Administrado
Gvidata Instalo (Rekomendata)
La plej simpla maniero por deploji la ĉefan retan aplikaĵon per la oficiala antaŭkonstruita bildo.
1. Elŝuti la necesajn dosierojn:
mkdir militant-install
cd militant-install
curl -fsSLO https://gitlab.com/militant1/militant-server-installer/-/raw/main/militant
curl -fsSLO https://gitlab.com/militant1/millitant/-/raw/main/docker-compose.prod.yml
curl -fsSLO https://gitlab.com/militant1/millitant/-/raw/main/.env.template
chmod +x militant
2. Lanĉi la instalilon:
./militant
La skripto aŭtomate kreas .env, elŝutas la Docker-bildon de la ĉefa reta aplikaĵo,
validigas la agordon, povas aktivigi fail2ban kaj la realan IP tra prokurilo, poste
lanĉas docker compose.
Mana Deplojo per Compose
Alternativo se vi preferas mem administri la dosieron .env.
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
Minimuma Varianto
Vi ankaŭ povas rekte uzi la produktan compose-dosieron:
1. Elŝuti dosierojn:
curl -O https://gitlab.com/militant1/millitant/-/raw/main/docker-compose.prod.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.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.
- Iru al
/register.phppor krei konton. - 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
- Malfermu la App Center kaj alklaku Custom Install (supre dekstre)
- Alklaku la ikonon Docker Compose (supre dekstre de la modalo)
- Algluu la enhavon de la dosiero
docker-compose.casaos.yml - Alklaku Install
- Iru al
http://IP-CASAOS:8080 - 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
Federacio (Fediverso)
MILITANT estas konektita al la Fediverso! Interagu kun uzantoj de Mastodon, Bluesky kaj aliaj malcentralizitaj platformoj rekte de via reto.
- Sekvu forajn kontojn facile per serĉo de handles
- Dediĉita federacia fluo por sekvi la ĝisdatigojn de viaj eksteraj abonantoj
- Asinkrona kunhavigo por senjunta interaga kapablo kun aliaj serviloj
📱 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 | - |
Kolektiva Moderigado
Neniu hierarkio. Decidoj per konsento.
- Raportoj traktitaj per kolektiva 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
- Malfermu militant.revlibertaire.com en Chrome
- Premu la menuon ⋮ (tri punktoj supre dekstre)
- Elektu "Instali aplikaĵon" aŭ "Aldoni al la hejma ekrano"
- Konfirmu premante "Instali"
- La ikono de MILITANT aperos sur via hejma ekrano
En iPhone / iPad
- Malfermu militant.revlibertaire.com en Safari
- Premu la butonon Kundividi (malsupre de la ekrano)
- Rulumu kaj elektu "Aldoni al la hejma ekrano"
- Premu "Aldoni" supre dekstre
- La ikono de MILITANT aperos sur via hejma ekrano
En komputilo (Chrome, Edge)
- Malfermu militant.revlibertaire.com
- Alklaku la instalan ikonon en la adrestuŝo
- Aŭ iru al la menuo ⋮ → "Instali MILITANT"
- 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.