FileDocument archiving
EN

Install the server

The File server runs in Docker, on a NAS, a small server or a Raspberry Pi.

The server software isn't publicly available yet. These steps are for people who have been given access to the release and its setup files. For access, e-mail archive@metron-apps.eu.

What you need

1. Choose how you reach it

ProfileFor
lanOnly on your home network, over plain HTTP on port 8080. Never forward this port on your router.
publicFrom anywhere, over HTTPS on your own domain, with a free certificate that renews by itself.

2. Back up your documents

If you already have a folder of PDFs, make a backup or snapshot first. The first import renames files whose names don't fit the title rules.

3. Put the files in place

Create a folder for the server, with the data folders inside it, and put the setup files in a deploy folder next to them: compose.yaml, Caddyfile, Caddyfile.lan and .env.example.

mkdir -p data/pgdata data/inbox
cd deploy
cp .env.example .env

4. Fill in the settings

Open .env and fill in at least these. Use full paths.

ARCHIVE_PATH=/volume1/archive     # your PDFs
DATA_PATH=/volume1/docker/archive  # database and uploads
PUID=1026                          # owner of the archive folder: id <user>
PGID=100
POSTGRES_PASSWORD=                 # a long random password
JWT_SECRET=                        # openssl rand -base64 48
ADMIN_USERNAME=                    # your first account
ADMIN_PASSWORD=                    # at least 10 characters
COMPOSE_PROFILES=lan               # or public
IMAGE=ghcr.io/metron-analytics/archiveapp-server
IMAGE_TAG=                         # the release you were given

For the public profile, also fill in PUBLIC_DOMAIN and ACME_EMAIL, and point your domain's A record to the server.

5. Start it

Sign in to the registry once with the token you were given, then start the server. On a Synology NAS, put sudo before each command.

docker login ghcr.io
docker compose pull
docker compose up -d --no-build
docker compose logs -f worker

The worker reads your PDFs. Files with text go quickly; scanned pages without text take longer, because the server recognises the text. Press Ctrl+C to stop watching.

6. Check it

Open this on your phone, with your own address. It should answer {"ok":true} and a version.

http://<server address>:8080/api/health
https://<your domain>/api/health

7. Sign in

In the app, enter the address and the admin account from .env. Then remove ADMIN_PASSWORD from .env and run docker compose up -d --no-build again. Create accounts for other people in the website, under Admin. The user guide explains the rest.

With the lan profile, give the server a fixed address in your router, so the address in the app keeps working.

Updating

Set the new release in IMAGE_TAG and run:

docker compose pull
docker compose up -d --no-build

The database updates itself when the server starts. Going back to an older release isn't always possible, so make a backup first.

Backups

Back up the archive folder and the data folder. The PDFs are in the archive folder; notes, reminders, tags and accounts are only in the database.

Push notifications

Push notifications need a key from Apple that belongs to the app, so they don't work on your own server yet. The app sets its own reminders on the iPhone instead.