Files
internalai-setup/README.md
Jose B ba786115ad chore: add initial InternalAI platform installer setup
Add installer scripts and documentation for the InternalAI platform setup repository. This provides a streamlined installation process for the private InternalAI monorepo platform.

+ Add .gitignore with macOS, editor, and temporary file exclusions
+ Add comprehensive README.md with installation instructions, prerequisites, CLI commands, and troubleshooting guide
+ Add install.sh one-liner script that downloads and executes the main setup
2025-12-04 12:35:25 -05:00

6.8 KiB

InternalAI Platform Setup

Official installer for the InternalAI Platform - a multi-service monorepo platform combining Python backends and TypeScript frontends for internal tools.

Quick Start

Run this one-liner to install the InternalAI platform:

bash <(curl -fsSL https://gitea.app.monadical.io/monadical/internalai-setup/raw/branch/main/install.sh)

This will:

  1. Check system dependencies
  2. Prompt for Gitea authentication
  3. Clone the InternalAI platform repository
  4. Install the internalai command-line tool

Prerequisites

Before installing, ensure you have:

  • Git - Version control system
  • Docker - Container runtime (v20.10+)
  • Docker Compose - Container orchestration (v2.0+)
  • Just - Command runner (will auto-install if missing)

Platform Requirements

  • macOS 10.15+ or Linux (Ubuntu 20.04+, Debian 11+, etc.)
  • 4GB RAM minimum (8GB+ recommended)
  • 10GB disk space for platform and data
  • Ports available: 42000 (or custom port)

Authentication

The InternalAI platform repository is private. You'll need one of:

  1. Go to Gitea Token Settings
  2. Click "Generate New Token"
  3. Give it a name (e.g., "InternalAI Setup")
  4. Select the repo scope
  5. Click "Generate Token" and copy it
  6. Enter the token when prompted by the installer

Option 2: SSH Key

  1. Generate an SSH key if you don't have one:

    ssh-keygen -t ed25519 -C "your.email@monadical.com"
    
  2. Add your SSH key to Gitea SSH Settings

  3. Select SSH authentication when prompted by the installer

Installation Steps

1. Run the Installer

bash <(curl -fsSL https://gitea.app.monadical.io/monadical/internalai-setup/raw/branch/main/install.sh)

2. Follow the Prompts

The installer will guide you through:

  • Dependency checking
  • Authentication setup
  • Repository cloning
  • CLI installation

3. Configure the Platform

After installation, run:

internalai install

This will:

  • Set up environment configuration
  • Configure API keys (Hunter.io, Apollo.io, LLM)
  • Set up Caddy reverse proxy with authentication
  • Optionally configure HTTPS with a custom domain
  • Create data directories
  • Build and start all services

4. Verify Installation

Check the platform status:

internalai status

Default Installation Location

The platform installs to: $HOME/internalai

You can change this during setup or set the PLATFORM_ROOT environment variable.

CLI Commands

After installation, use these commands:

internalai install       # Full platform setup
internalai start         # Start all services
internalai stop          # Stop all services
internalai restart       # Restart services
internalai status        # Show service status
internalai logs [svc]    # View logs
internalai upgrade       # Upgrade platform
internalai caddy         # Manage Caddy proxy
internalai help          # Show all commands

Services

The platform includes:

  • ContactDB - Unified contact management with relationship tracking
  • DataIndex - Data aggregation and semantic search engine
  • Meeting Prep - AI-powered meeting preparation assistant
  • Caddy - Reverse proxy with authentication

Accessing the Platform

Once started, access services at:

Default credentials (if authentication is enabled):

  • Username: admin
  • Password: Generated during setup (saved in cache)

Configuration

Environment Variables

Configuration is stored in $HOME/internalai/.env

Key variables:

  • PLATFORM_BASE_URL - Base URL for the platform
  • CONTACTDB_SELF_EMAIL - Your email for contact management
  • SHARED_HUNTER_API_KEY - Hunter.io API key
  • SHARED_APOLLO_API_KEY - Apollo.io API key
  • SHARED_LLM_API_KEY - LLM API key

Credential Cache

Credentials are cached in $HOME/internalai/.credentials.cache

You can optionally encrypt this cache with AES-256-CBC during installation.

View or edit the cache:

internalai cache show
internalai cache edit

Updating the CLI

To update the CLI tool to the latest version:

internalai update

This will re-download and reinstall the CLI from the latest version in the repository.

Troubleshooting

Dependencies Not Found

If the installer can't find Docker, Just, or other dependencies:

macOS:

brew install docker just

Linux:

# Docker (Ubuntu/Debian)
curl -fsSL https://get.docker.com | sh

# Just
cargo install just  # Or download from releases

Authentication Failed

If git clone fails with authentication error:

  1. For Token auth: Verify your token has repo scope
  2. For SSH auth: Test connection with ssh -T git@gitea.app.monadical.io
  3. Check you're a member of the Monadical organization on Gitea

Port Already in Use

If port 42000 is already in use, you can change it:

  1. Edit $HOME/internalai/.env
  2. Change PLATFORM_BASE_URL=http://localhost:YOURPORT
  3. Restart: internalai restart

Services Won't Start

Check logs for specific services:

internalai logs contactdb
internalai logs dataindex

Common issues:

  • Docker not running: docker info should work
  • Port conflicts: Check with lsof -i :42000
  • Permission issues: Ensure Docker doesn't require sudo

Manual Installation

If the automated installer doesn't work, you can install manually:

  1. Clone the repository:

    git clone git@gitea.app.monadical.io:monadical/internalai.git ~/internalai
    cd ~/internalai
    
  2. Install the CLI:

    ./scripts/install.sh
    
  3. Configure the platform:

    internalai install
    

Uninstallation

To remove the InternalAI platform:

cd ~/internalai
just down              # Stop services
cd ~
rm -rf ~/internalai    # Remove platform files
sudo rm /usr/local/bin/internalai  # Remove CLI

Development

Repository Structure

internalai-setup/
├── install.sh         # One-liner installer
├── setup.sh          # Main setup script
└── README.md         # This file

The actual platform code is in the private internalai repository.

Contributing

To contribute to the installer:

  1. Fork the internalai-setup repository
  2. Make your changes
  3. Test thoroughly
  4. Submit a pull request

Support

For issues or questions:

  • Platform Issues: Check ~/internalai/docs/
  • CLI Issues: Run internalai help
  • Setup Issues: Create an issue in this repository

License

Copyright © 2024 Monadical SAS. All rights reserved.