Remote Approver

A One-Time setup of a docker through inabit CLI, which facilitates remote transaction signing.

 /$$                     /$$       /$$   /$$       
|__/                    | $$      |__/  | $$       
 /$$ /$$$$$$$   /$$$$$$ | $$$$$$$  /$$ /$$$$$$     
| $$| $$__  $$ |____  $$| $$__  $$| $$|_  $$_/     
| $$| $$  \ $$  /$$$$$$$| $$  \ $$| $$  | $$       
| $$| $$  | $$ /$$__  $$| $$  | $$| $$  | $$ /$$   
| $$| $$  | $$|  $$$$$$$| $$$$$$$/| $$  |  $$$$//$$
|__/|__/  |__/ \_______/|_______/ |__/   \___/ |__/

Production-ready CLI for configuring and running the Inabit Remote Approver with Docker and nginx.

Current version: v0.1.3

What you get

  • Guided setup wizard (validates token, configures URL/ports, generates nginx.conf)

  • Automatic nginx and Docker Compose configuration

  • HTTPS support with auto-detected certificates (PEM or CRT/KEY)

  • Health checks and smart troubleshooting

  • One-command cleanup and uninstall

Install (production)

Clone the release repository on your remote instance and run the installer:

After installation, the global command inabit is available.

Quick start

Setup flow (overview)

1

Start setup

Run:

This begins the guided wizard.

2

Validate login token

The wizard validates the provided token and obtains an access token.

3

Configure service port

Default approver service port: 3020.

4

Choose network approach

Select one of:

  • Domain

  • IP + Port

5

Domain flow

When using a domain:

  • Choose HTTP (80) or HTTPS (443)

  • Generates nginx.conf

  • Auto-updates docker-compose ports

  • Detects SSL files in ./ssl (PEM or CRT/KEY)

6

IP + Port flow

When using IP + Port:

  • Generates nginx.conf with a single server { listen <custom>; }

  • Proxy to approver:${APPROVER_PORT}

  • Compose port exposed automatically: <custom>:<custom>

7

Validate external URL

Wizard performs a health check to validate external accessibility.

8

Create directories and configuration

Wizard creates required directories and configuration files.

9

Start services

Starts nginx, then starts the approver service.

10

Verify accessibility

Wizard verifies the service is reachable and healthy.

11

Pairing

Shows pairing code and instructions to complete setup.

During setup, HTTP 403 from curl can be normal if Cloudflare or similar blocks non-browser requests; browsers should still work. The wizard treats 403/502/503 as acceptable during early startup while the approver initializes.

Nginx in production (what the wizard configures)

  • Domain

    • Port 80 (HTTP): server { listen 80; } that proxies to approver:${APPROVER_PORT}

    • Port 443 (HTTPS):

      • listen 80; redirects HTTP to HTTPS

      • listen 443 ssl; http2 on; uses detected cert/key under /etc/nginx/ssl/

    • Docker Compose ports exposed automatically: 80:80 and 443:443

  • IP + Port

    • Single server { listen <custom>; } with proxy to approver:${APPROVER_PORT}

    • Compose port exposed automatically: <custom>:<custom>

Supported certificate pairs to place in local ssl/:

  • cert.pem + key.pem

  • cert.crt + key.key

  • server.crt + server.key

  • domain.crt + domain.key

Project structure (for reference)

Prerequisites

Troubleshooting

Common commands (click to expand)

License

This project is part of the Inabit Remote Approver service.

Was this helpful?