io7m | single-page | multi-page | epub | Idstore User Manual 0.0.8
2. Installation
Previous
2. Installation
Up
2.2. Admin Client Installation
Next

# 2.1. Server Installation

- 2.1.1. Overview
- 2.1.2. PostgreSQL
- 2.1.3. Maven Central
- 2.1.4. Initialization
- 2.1.5. Running

## 2.1.1. Overview

1
The idstore server package is available from the following sources:

### 2.1.1.2. Sources

- Maven Central

3
Regardless of the distribution method, the idstore package will contain a command named idstore that acts as the main entrypoint to all of the server's functionality. The idstore command expects an environment variable named IDSTORE_SERVER_HOME to be defined that points to the installation directory. See the documentation for the installation methods below for details.

## 2.1.2. PostgreSQL

1
The idstore server requires a PostgreSQL server. The idstore server will create the required tables and database objects on first startup, given the name of a running PostgreSQL database, and a PostgreSQL role and password.

## 2.1.3. Maven Central

1
A distribution package can be found at Maven Central.
2
The idstore command requires that a Java 17+ compatible JVM be accessible via /usr/bin/env java.
3
Verify the integrity of the distribution zip file:

### 2.1.3.4. Verify

    $ gpg --verify com.io7m.idstore.server.main-0.0.8-distribution.zip.asc
    gpg: assuming signed data in 'com.io7m.idstore.server.main-0.0.8-distribution.zip.asc'
    gpg: Signature made Tue 28 Jun 2022 15:01:56 GMT
    gpg:                using RSA key 3CCE59428B30462D10459909C5607DA146E128B8
    gpg:                issuer "contact@io7m.com"
    gpg: using pgp trust model
    gpg: Good signature from "io7m.com (2022 maven-rsa-key) <contact@io7m.com>" [unknown]

5
Unzip the zip file, and set up the environment appropriately:

### 2.1.3.6. Extract

    $ unzip com.io7m.idstore.server.main-0.0.8-distribution.zip
    $ export IDSTORE_SERVER_HOME=$(realpath idstore)
    $ ./idstore/bin/idstore
    info: Usage: idstore [options] [command] [command options]
    ...

## 2.1.4. Initialization

1
Given an appropriate configuration file in server.conf, it's necessary to tell idstore to configure the database and create an initial administrator user:

### 2.1.4.2. Initialize

    $ idstore initialize \
      --admin-email 'someone@example.com' \
      --admin-realname 'Someone Else' \
      --admin-username 'someone' \
      --admin-password 12345678 \
      --configuration server.conf

## 2.1.5. Running

1
The server can now be run with idstore server:

### 2.1.5.2. Run

    $ idstore server --configuration server.conf
    info: [localhost/<unresolved>:50000] User API server started
    info: [localhost/<unresolved>:50001] User view server started
    info: [localhost/<unresolved>:51000] Admin API server started

3
The server does not fork into the background and is designed to be run under process supervision.
2. Installation
Previous
2. Installation
Up
2.2. Admin Client Installation
Next
io7m | single-page | multi-page | epub | Idstore User Manual 0.0.8