Interfata web ArchiveBox afisand o lista de instantanee arhivate
Arhivare

ArchiveBox: arhivarea web self-hosted care bate link rot-ul

Ai avut vreodata un link salvat undeva important, un articol, o dovada intr-un dosar, o resursa citata intr-o lucrare, iar cand ai revenit la el pagina disparuse? Domeniul expirat, articolul sters, site-ul redesenat de trei ori de atunci. Fenomenul are nume: link rot. Un studiu Pew din 2024 arata ca aproape un sfert din paginile web referentiate in 2013-2023 au disparut deja. Bookmark-urile nu sunt un plan de arhivare, sunt doar o promisiune ca pagina va mai exista maine. Deseori nu mai exista.

ArchiveBox (site: archivebox.io ) e un instrument open-source, licentiat MIT, care rezolva exact problema asta: ii dai un URL si el salveaza o copie completa, in mai multe formate simultan, pe serverul tau. Noi rulam ArchiveBox in datacenterul nostru din Bucuresti, ca sa oprim link rot-ul pentru propriile noastre resurse si documentatie interna.

Ce este, mai exact, ArchiveBox

ArchiveBox e construit pe Django si Django-Ninja, cu SQLite ca stocare persistenta pentru metadate. Cand ii dai un URL, nu face o singura captura, ci orchestreaza un set de instrumente consacrate ca sa produca simultan: snapshot HTML complet (original HTML+CSS+JS), pagina “SingleFile” (tot continutul intr-un singur fisier HTML autonom), PDF, screenshot PNG, fisier WARC (formatul standard folosit si de Internet Archive), extragere de text al articolului, favicon, headere HTTP, si media descarcata prin yt-dlp cand pagina contine video sau audio.

Fiecare URL devine un “snapshot” cu propriul folder, index HTML si toate formatele de mai sus alaturi. Nu depinzi de un singur format care sa devina inutilizabil (un PDF care nu se mai deschide corect, un HTML care si-a pierdut CSS-ul extern) pentru ca ai mereu variante redundante.

De ce conteaza asta

Diferenta fata de un simplu wget sau screenshot manual e redundanta si automatizarea. Daca folosesti ArchiveBox ca sa arhivezi surse pentru un articol, dovezi pentru un caz legal, sau pur si simplu istoricul propriu de research, vrei ca peste cinci ani sa poti inca deschide arhiva, indiferent ce s-a schimbat intre timp la nivel de browsere sau formate de fisier. WARC e formatul pe care il foloseste si Wayback Machine-ul Internet Archive, deci ai compatibilitate cu instrumente de replay consacrate. Practic iti construiesti propriul Wayback Machine, dar unul pe care il controlezi tu.

Ce primesti din cutie

  • Multiple metode de adaugare a URL-urilor: CLI (archivebox add <url>), REST API (beta), un bookmarklet de browser, sau import in masa din istoricul browserului, bookmark-uri, Pocket, Pinboard, Reddit sau fluxuri RSS.
  • Cautare full-text peste tot ce ai arhivat, alimentata de Sonic (motor de cautare rapid, usor pe resurse).
  • Interfata web (Django Admin, plus UI proprie) pentru navigare, cautare si gestionarea snapshot-urilor.
  • Import programat: poti configura surse RSS/JSON/CSV care sunt verificate periodic, iar orice URL nou e arhivat automat.
  • Extensie de browser oficiala (ArchiveBox Exporter, disponibila si in Chrome Web Store) pentru arhivare cu un click direct din tab-ul curent.
  • Optional, backup redundant pe archive.org, daca vrei si o copie in afara infrastructurii tale.
  • Interfata client foloseste HTML/CSS/JS simplu, fara framework greu de frontend, deci ruleaza confortabil chiar si pe un VPS modest.

Instalare ArchiveBox pe un VPS

Metoda recomandata oficial e Docker Compose. Un docker-compose.yml minimal arata asa:

mkdir archivebox && cd archivebox
curl -O https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/dev/docker-compose.yml

docker compose run archivebox init --setup
docker compose up -d

Asta creeaza folderul data/ cu arhiva ta si porneste serverul web pe portul 8000 (implicit). Poti crea un cont admin cu:

docker compose run archivebox manage createsuperuser

Daca preferi instalare fara Docker, pachetul e disponibil si prin uv, apt, brew sau pacman, in functie de distributie.

Odata pornit, expune-l public doar printr-un reverse proxy cu TLS (Nginx, Caddy sau Traefik), nu portul brut. Iar la nivel de firewall pe VPS, permite doar 22 (SSH), 80 si 443:

ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Ai nevoie de resurse rezonabile: Chrome/Chromium headless pentru randare, plus spatiu de disc generos daca arhivezi si media video (yt-dlp poate downloada fisiere mari). Un VPS cu minim 2 vCPU si SSD suficient pentru arhiva ta e un punct de plecare solid.

Tipare de configurare care merita stiute

Import automat din surse recurente

In loc sa adaugi manual fiecare URL, poti configura archivebox schedule sau un cron extern care ruleaza archivebox add --index-only peste un feed RSS sau un export de bookmark-uri actualizat periodic. Asta transforma ArchiveBox dintr-un instrument reactiv (arhivezi cand iti amintesti) intr-unul proactiv (arhiveaza tot ce postezi/citesti automat).

Alegerea selectiva a extractoarelor

Nu ai nevoie de toate cele 10+ formate pentru fiecare arhiva. Daca rulezi pe un VPS mic si vrei doar text plus PDF (fara video, fara WARC greu), poti dezactiva extractoare specifice din ArchiveBox.conf (variabile precum SAVE_WARC=False sau SAVE_MEDIA=False). Reduce dramatic spatiul de disc si timpul de procesare per URL.

Separarea arhivelor mari pe storage dedicat

Daca arhiva creste (media, WARC-uri complete), nu vrei sa umpli rootfs-ul VM-ului. Monteaza un disc separat la data/archive/ inainte sa arhivezi volume mari, exact cum ai face pentru orice aplicatie cu date care cresc constant.

Cautare full-text cu Sonic

Sonic ruleaza ca un container separat langa ArchiveBox si indexeaza continutul text extras. Daca ai o arhiva de mii de pagini, cautarea full-text schimba radical utilitatea instrumentului, altfel navighezi doar dupa titlu si data.

Unde ArchiveBox nu e raspunsul potrivit

Daca ai nevoie doar de “salveaza-mi 20 de linkuri o data pe luna”, ArchiveBox e overkill, un simplu bookmark manager sau chiar Wayback Machine-ul public (web.archive.org/save) rezolva fara sa mai administrezi un server. Nu e nici un CMS sau un instrument de publicare, arhivele sunt pentru consultare proprie, nu pentru a fi servite ca site public la trafic mare (desi tehnic poti). Daca scopul e monitorizare de continut in timp real (detectare de schimbari pe o pagina, alerting), cauta un instrument dedicat de change-detection, nu un arhivator. Si daca legal ai nevoie de arhive certificate cu timestamp notarial (evidenta admisibila in instanta cu lant de custodie strict), discuta cu un furnizor specializat in arhivare legala, WARC-ul brut nu vine cu asta din cutie.

Alternative pe care le-am luat in calcul

  • SingleFile : extensie de browser care salveaza o pagina intr-un singur fisier HTML. Excelent pentru capturi punctuale, dar fara orchestrare, cautare sau management central al arhivei.
  • Wayback Machine (archive.org) : serviciul public al Internet Archive. Gratuit si simplu, dar nu ai control asupra retentiei, iar unele pagini refuza crawling-ul lor (robots.txt, geo-blocking).
  • Monolith : CLI minimalist scris in Rust care produce un singur fisier HTML dintr-o pagina. Rapid si usor, dar fara UI, cautare sau formate multiple.

Deci, sa-l rulezi?

Daca produci sau consumi continut care conteaza pe termen lung, articole citate, resurse de research, dovezi, documentatie externa la care faci trimitere, ArchiveBox e un instrument ieftin de rulat (in resurse) care rezolva o problema reala si des ignorata. Noi il rulam pentru asta in datacenterul nostru din Bucuresti si nu am mai avut niciodata surpriza unui link mort la o resursa pe care chiar aveam nevoie sa o recitim.

Ai nevoie de un VPS unde sa il pui la treaba, sau preferi sa nu te ocupi tu de partea de operare zi de zi? Serviciul nostru de administrare servere acopera exact partea asta, de la instalare pana la actualizari si monitorizare.

Avem Incredere & Suntem Membri

Suntem membri ai principalelor organizatii de infrastructura internet.

RIPE NCC MANRS PeeringDB RoTLD DSIX SBIX 4IXP LOCIX Euro-IX RIPE NCC MANRS PeeringDB RoTLD DSIX SBIX 4IXP LOCIX Euro-IX