Skip to content

In-a-bit/inabit-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Inabit Remote Approver CLI

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

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:

# Clone the release bundle (contains installer + docker-compose.yml)
git clone https://your-release-repo-url.git approver-cli
cd approver-cli

# Install as current user (no sudo needed)
bash inabit-cli-installation-v1.0.sh

# Or system-wide (requires sudo)
# sudo bash inabit-cli-installation-v1.0.sh

After installation, the global command inabit is available.

Quick start

# Run the guided setup
inabit setup

# Check status / logs
inabit status
inabit logs

# Manage services
inabit restart
inabit stop
inabit start

# Cleanup everything created by setup (keeps Docker images)
inabit cleanup

# Uninstall the CLI and remove the global "inabit" command
inabit uninstall
# For system-wide installs, use: sudo inabit uninstall

Setup flow (overview)

1) Start setup
2) Validate login token → obtain access token
3) Configure service port (default 3020)
4) Choose network approach
   4.1) Domain → choose 80 (HTTP) or 443 (HTTPS)
        - Generate nginx.conf
        - Auto-update docker-compose ports
        - Detect SSL files in ./ssl (PEM or CRT/KEY)
   4.2) IP + Port → generate nginx.conf and map chosen port
5) Validate external URL (health check)
6) Create directories and configuration
7) Start nginx → start approver
8) Verify accessibility
9) Show pairing code and instructions

Notes:

  • During setup, HTTP 403 from curl can be normal if Cloudflare blocks non-browser requests; browsers should 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)

release/
├── inabit-cli-installation-v1.0.sh   # Installer
├── docker-compose.yml                # Docker services configuration
└── README.md

Prerequisites

  • Docker
  • Docker Compose
  • Bash shell

Troubleshooting

# Status / Logs
inabit status
inabit logs

# Restart / Cleanup
inabit restart
inabit cleanup

License

This project is part of the Inabit Remote Approver service.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages