# CMR Scanner — Debian / Ubuntu package

> **Private registry** — a personal access token is required to install or upgrade this package via `apt`.

## Supported distributions

| Distribution         | Architecture |
| -------------------- | ------------ |
| Debian 12 (Bookworm) | amd64        |
| Ubuntu 22.04 LTS     | amd64        |
| Ubuntu 24.04 LTS     | amd64        |

## Getting a personal access token

1. Sign in to [git.araliasoftware.com](https://git.araliasoftware.com)
2. Go to **Settings → Applications → Access tokens**
3. Create a token with **`read:package`** scope
4. Copy and save the token — it is only shown once

## Install via apt (recommended)

Configuring apt as a repository means `apt upgrade` handles future updates automatically.

```bash
# 1. Download the repository signing key (requires your token)
curl -fsSL \
  -u "YOUR_USERNAME:YOUR_TOKEN" \
  "https://git.araliasoftware.com/api/packages/athan/debian/repository.key" \
  | sudo gpg --dearmor -o /etc/apt/keyrings/aralia-cmr-scanner.gpg
sudo chmod 644 /etc/apt/keyrings/aralia-cmr-scanner.gpg

# 2. Add the repository
#    Replace "postgresql" with mysql, mariadb, or sqlserver if needed
echo "deb [signed-by=/etc/apt/keyrings/aralia-cmr-scanner.gpg] https://git.araliasoftware.com/api/packages/athan/debian any postgresql" \
  | sudo tee /etc/apt/sources.list.d/cmr-scanner.list

# 3. Store credentials so apt can reach the private registry
#    (keeps your token out of sources.list)
printf 'machine git.araliasoftware.com login YOUR_USERNAME password YOUR_TOKEN\n' \
  | sudo tee /etc/apt/auth.conf.d/aralia.conf
sudo chmod 0600 /etc/apt/auth.conf.d/aralia.conf

# 4. Install
sudo apt-get update
sudo apt-get install cmr-scanner-postgresql
```

Replace `postgresql` with `mysql`, `mariadb`, or `sqlserver` throughout if using a different database provider.

### Updating

```bash
sudo apt-get update && sudo apt-get upgrade cmr-scanner-postgresql
```

## Install manually from a release file

Download the `.deb` from the [releases page](https://git.araliasoftware.com/athan/cmr-scanner/releases) — a token is needed to access that page too.

```bash
sudo dpkg -i cmr-scanner-postgresql_VERSION_amd64.deb
```

## After installing

Edit the configuration file, run migrations, then start the service:

```bash
sudo nano /etc/cmr-scanner/env

sudo -u cmr-scanner /opt/cmr-scanner/node/bin/node \
  /opt/cmr-scanner/app/node_modules/.bin/prisma migrate deploy

sudo systemctl start cmr-scanner
sudo systemctl enable cmr-scanner
```

## Full deployment guide

See [DEPLOY.md](https://git.araliasoftware.com/athan/cmr-scanner/raw/branch/main/DEPLOY.md) for complete
configuration, database migration, NGINX reverse-proxy, and CAC/PIV smart-card setup instructions.
