Skip to content

If you have the server, you have the system

Orpyca is free software under the AGPL-3.0 licence. It can be downloaded, installed and used without paying anything: no licences, no seat counts, no expiry date and no need to ask anyone for permission.

This is not a cut-down edition or a thirty-day trial. It is the complete system, artificial intelligence included. The only condition is having somewhere to run it.

What hardware you need

These figures correspond to an institution of fewer than five thousand users. An archive digitising at high volume will need more space, not more processor.

Processor
4 cores, x86-64 or ARM64
Memory
16 GB
System disk
500 GB solid state, for the database
Document disk
1 to 5 TB for the document store
Network
100 Mbps
Operating system
Linux with Docker 24 or later, or Kubernetes

What hardware the artificial intelligence needs

Two things are worth separating here, because they are usually conflated and their requirements are very different.

Search by meaning and cited precedents

These use no generative model: they turn text into vectors and compare them. The model doing that conversion is small and runs on the processor, inside the container itself.

Works on the base server, with no graphics card.

Conversational assistant and drafted answers

Here a language model really is generating text. It can run on the processor, but at two to four words per second: an answer takes over a minute and nobody waits for it. With a graphics card it drops to a few seconds.

Needs a graphics card to be usable in practice.

Video memory by what you want to run

ConfigurationVRAMModel that fitsSearchAssistant
No graphics card Search by meaning and cited precedents work just the same. The assistant does answer, but takes over a minute per reply. It is a legitimate choice if you only want the search.No generative modelYesNot viable in practice
Minimum for the assistant This is the real entry point. The default model fits with room for the context of a query carrying several retrieved documents. Mid-range desktop cards already cover it.8 GBllama3.1 8B, 8-thousand-token contextYesYes, a few seconds per answer
Comfortable Lets you put more documents into each query, which is what genuinely improves the quality of a cited answer, and serve several queries at once without them queuing.16 GBllama3.1 8B with 32-thousand-token context, or a 12B–14B modelYesYes, with a wide context
High quality The difference shows in texts using regulatory language, where a small model gets the nuance wrong. This is what we would recommend to an institution planning to rely on the assistant daily.24 GBQuantised 27B–32B modelYesYes, with better legal drafting
Large institution Only worth it with many users on the assistant at the same time. Below that, the money goes further on disk and backups than on video memory.48 GB, or two 24 GB cardsQuantised 70B modelYesYes, several concurrent queries

The memory that counts is the card’s (VRAM), not the system’s. If the model does not fit entirely, Ollama splits layers between card and processor and speed collapses: a smaller model that fits whole beats a large one running half off-card.

Ollama is not started for you

The system ships with semantic search ready to go, but the model server is brought up separately, as an optional profile. That is deliberate: most installations start without generation and add it later.

The default model can be changed

The system points at llama3.1 unless you say otherwise. You can point it at any model Ollama serves, or at a compatible service your institution already runs. The figures in this table move with the model you pick.

Renting the card is not the easy way out

You can point at an external provider and buy no hardware, but then the classification boundary applies: restricted material will not be sent, and those queries fall back to retrieval mode. If your holdings are mostly restricted, your own card is not a luxury: it is the only way the feature is of any use.

Sovereign artificial intelligence

What you need besides the server

Hardware is half the answer. This is the other half, and it is best sorted out before you start.

Required

A domain with three names

The system is published at three separate addresses: the application, the programming interface and the identity server. All three must resolve in DNS and be covered by the same certificate.

Required

A TLS certificate

It can be free through Let’s Encrypt, which requires port 80 reachable from the internet, or the one from your institution’s certification authority.

Required

Your own reverse proxy

The system publishes no ports externally and does not terminate encryption: in front of it you need an Nginx, Traefik or equivalent to receive traffic and route it. It is not included, and it is the piece most often forgotten.

Required

An outbound mail server

This is mandatory, not optional: without it the system does not start in production. It also carries the second-factor code for the act of signing, so no mail means no personal signature either.

Required

A configured firewall

Only ports 80 and 443 should be open, plus remote administration. The database, the object store and the cache must not be reachable from outside.

Feature-dependent

An accredited certification authority

Needed if you are going to sign with full evidentiary effect. The one included is good for testing the system, not for attesting: you must connect an authority accredited before ONAC and install the institution’s own seal.

Feature-dependent

A mailbox for ingestion

Only if you want email arriving at an institutional address to be registered automatically. Left unconfigured, that feature stays off.

Feature-dependent

Postal operator credentials

Only if you want automatic tracking of physical dispatches. Without them, the correspondence module works with manually recorded tracking numbers.

Who should carry out the installation

Free does not mean trivial. These are the skills the documentation requires of whoever deploys it.

  • Linux and container administration
  • Network security: firewall, reverse proxy, certificates
  • PostgreSQL administration
  • Backups and recovery testing

And afterwards, what has to be kept up

Backups, and not only of the database

You must back up the database, the document store and — this is always forgotten — the signing and encryption keys. Losing the database is recoverable from backup; losing the keys leaves historical signatures nobody can verify. The system documents how to do it, but does not ship the tooling: your team schedules it.

Updates need manual steps

Database migrations do not apply themselves: they must be run service by service when updating, and again whenever a new institution is added. There is no automatic rollback, so it is done with a recent backup and an agreed window.

Monitoring and restart

Logs should be reviewed, and container auto-restart and disk-space alerts configured. It is ordinary operations work, but somebody has to own it.

If your institution does not have that team, or has it and it is busy elsewhere, that is exactly what we offer as a service. The software remains free: what you buy is someone to set it up and answer for it.

Services

What your institution must have in place, archivally

This part is not solved by the software, nor by us. Without it the system runs, but it will not get you into compliance.

  1. 01

    An approved retention schedule

    With its series, subseries, terms in the active and central archive, and final disposition. It must be approved by the corresponding evaluating committee: it is an administrative act, not a spreadsheet.

  2. 02

    A documentary classification scheme

    The hierarchy everything else hangs from. It must match the institution’s current organisational structure.

  3. 03

    A documentary inventory

    In the single official format, with storage units identified. It is the bridge between what is in the boxes and what the system says, and it is mandatory for transfers and disposition.

  4. 04

    Defined digitisation criteria

    If you are going to bring in images of physical documents, they must arrive at the quality and format the regulation requires, with their per-batch record. The system validates the format, but cannot improve a badly captured image.

  5. 05

    Unit structure and responsibilities

    Who registers, who processes, who signs, who takes custody. This is the system’s initial configuration and is better decided beforehand than during.

If those instruments are not ready, that is a place to start: we do the diagnosis and the accompanying work as part of the implementation. But it is worth knowing that work exists and that it comes first.

How to install it

Three commands and the system is up with all its services.

  1. 1. Clone the repository

    git clone https://gitlab.com/orpyca/orpyca-mcp.git
  2. 2. Copy and adjust the configuration

    cp infra/.env.example infra/.env
  3. 3. Bring the system up

    docker compose up -d

The sample configuration file is documented line by line. The values shipped in the templates are for development and must be changed before exposing the system: the documentation states which ones.

Documentation

And after installing it

Load your archival instruments

Your institution’s classification scheme and retention schedule, and the unit structure. Without them the system runs, but it is of no use to you.

Connect an accredited certification authority

The one shipped with the system is local and good for testing, not for attesting. If you are going to sign with full evidentiary effect, you need an authority accredited before ONAC.

Ask for help if you need it

Free does not mean trivial. Rolling out a records management system in a public body is a project, not an installation. If you would rather we did it, that is what the services are for.

Services