De server installeren
De File-server draait in Docker, op een NAS, een kleine server of een Raspberry Pi.
De serversoftware is nog niet openbaar beschikbaar. Deze stappen zijn voor mensen die toegang hebben gekregen tot de release en de installatiebestanden. Mail voor toegang naar archive@metron-apps.eu.
Wat je nodig hebt
- Een computer met Docker en Docker Compose, op 64-bit Intel/AMD of ARM. 2 GB geheugen is genoeg; meer helpt bij grote imports.
- Schijfruimte voor je pdf's, plus ruimte voor de database.
- Een iPhone met iOS 26 of nieuwer voor de app. De website werkt in elke moderne browser.
- Om het archief buitenshuis te bereiken: een eigen domeinnaam, met poorten 80 en 443 open naar de server.
1. Kies hoe je de server bereikt
| Profiel | Voor |
|---|---|
lan | Alleen op je thuisnetwerk, via gewone HTTP op poort 8080. Stuur deze poort nooit door op je router. |
public | Overal, via HTTPS op je eigen domein, met een gratis certificaat dat zichzelf vernieuwt. |
2. Maak een back-up van je documenten
Heb je al een map met pdf's, maak dan eerst een back-up of snapshot. De eerste import hernoemt bestanden waarvan de naam niet aan de titelregels voldoet.
3. Zet de bestanden klaar
Maak een map voor de server, met daarin de datamappen, en zet de installatiebestanden ernaast in een map deploy: compose.yaml, Caddyfile, Caddyfile.lan en .env.example.
mkdir -p data/pgdata data/inbox
cd deploy
cp .env.example .env
4. Vul de instellingen in
Open .env en vul in elk geval deze in. Gebruik volledige paden.
ARCHIVE_PATH=/volume1/archive # je pdf's
DATA_PATH=/volume1/docker/archive # database en uploads
PUID=1026 # eigenaar van de archiefmap: id <gebruiker>
PGID=100
POSTGRES_PASSWORD= # een lang willekeurig wachtwoord
JWT_SECRET= # openssl rand -base64 48
ADMIN_USERNAME= # je eerste account
ADMIN_PASSWORD= # minstens 10 tekens
COMPOSE_PROFILES=lan # of public
IMAGE=ghcr.io/metron-analytics/archiveapp-server
IMAGE_TAG= # de release die je hebt gekregen
Vul voor het profiel public ook PUBLIC_DOMAIN en ACME_EMAIL in, en laat het A-record van je domein naar de server wijzen.
5. Start de server
Log één keer in bij de registry met het token dat je hebt gekregen en start dan de server. Zet op een Synology NAS sudo voor elke opdracht.
docker login ghcr.io
docker compose pull
docker compose up -d --no-build
docker compose logs -f worker
De worker leest je pdf's. Bestanden met tekst gaan snel; gescande pagina's zonder tekst duren langer, omdat de server de tekst herkent. Druk op Ctrl+C om te stoppen met meekijken.
6. Controleer de server
Open dit op je telefoon, met je eigen adres. Het antwoord is {"ok":true} met een versie.
http://<serveradres>:8080/api/health
https://<jouw domein>/api/health
7. Log in
Vul in de app het adres en het beheerdersaccount uit .env in. Haal daarna ADMIN_PASSWORD uit .env en voer opnieuw docker compose up -d --no-build uit. Accounts voor anderen maak je op de website, onder Admin. De handleiding legt de rest uit.
Geef de server bij het profiel lan een vast adres in je router, zodat het adres in de app blijft werken.
Bijwerken
Zet de nieuwe release in IMAGE_TAG en voer dit uit:
docker compose pull
docker compose up -d --no-build
De database werkt zichzelf bij als de server start. Teruggaan naar een oudere release kan niet altijd, dus maak eerst een back-up.
Back-ups
Maak een back-up van de archiefmap en de map data. De pdf's staan in de archiefmap; notities, herinneringen, tags en accounts staan alleen in de database.
Pushmeldingen
Pushmeldingen hebben een sleutel van Apple nodig die bij de app hoort, dus die werken nog niet op je eigen server. De app zet in plaats daarvan zelf herinneringen op de iPhone.