Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/WyattBrashear/CLIF/llms.txt

Use this file to discover all available pages before exploring further.

CLIF is designed to be self-hosted. You can run it on a local machine, a home server, or a cloud VPS. Once the server is running and accessible, any CLIF CLI client can connect to it by pointing at your server’s IP address or domain name.

Deploy the server

1

Install the server package

Install the CLIF server extra on your target machine:
pip install "clifilestor[server]"
2

Create CLIF.json

In the directory where you will run the server, create a CLIF.json file. Set host to "0.0.0.0" so the server accepts connections from remote clients, and choose a port:
CLIF.json
{
  "server_port": "999",
  "host": "0.0.0.0",
  "allocation_limit": "20000"
}
See configuration for all available options.
3

Start the server

Run the server from the directory containing your CLIF.json:
clif-server
The server starts and begins listening on the port you configured.
4

Connect clients

On any machine with the CLIF CLI installed, point commands at your server’s address. Include the full address with port when running clif signup or clif login:
http://YOUR_IP:999
Replace YOUR_IP with your server’s public IP address or domain name, and 999 with whatever port you configured.
Make sure your firewall allows inbound traffic on the port you configured. On most VPS providers this means adding a firewall rule or security group entry for TCP on that port.

Production deployment with gunicorn

The clif-server command uses Flask’s built-in development server, which is not recommended for production use. For a production deployment, run the app directly with gunicorn:
gunicorn server.app:app
Use gunicorn in production for better performance and stability. You can combine it with a process manager like systemd or supervisor to keep the server running after reboots.

Connecting clients

After the server is running, clients authenticate and interact with it using the full server address including the port. When a user runs clif signup or clif login, they supply this address so the CLI knows where to send requests. For example, if your server’s IP is 203.0.113.42 and you configured port 999, clients connect to:
http://203.0.113.42:999

Build docs developers (and LLMs) love