Skip to main content

Start a project

The recipe below installs the engine and starts a project. Once started you can explore the project via http://127.0.0.1:3113. Select llm to let the installer set up the harness for you, or select no llm.
# Install iii
# Open your browser to http://127.0.0.1:3113
# Create a project
$iii project init my-app && cd my-app
# Start your project
$
# Open your browser to http://127.0.0.1:3113
# You can also check out iii.dev/docs/quickstart to learn more about iii

Installer options

The installer takes its options after sh -s --. To see them all:

Run the setup against an installed engine

--skip-bin-download skips the download and the install, and runs the setup offer against the iii that is on the machine already. Use it to repeat the setup, or when you build the engine yourself:

Install a pre-release

Use --next for the latest next pre-release, or --rc for the latest release candidate:
To install one exact version, give the version as the last argument:

Install without questions

The installer asks nothing when no terminal is attached. A docker build step, a CI job, and a plain curl ... | sh in a script are already non-interactive, and they do the install and then print the setup command. --non-interactive makes that behavior explicit, and keeps it when a terminal is attached. The effect is the same as an answer of n at the prompt: the installer does the install, does not run the setup, and prints the setup command. Use it when a terminal is attached but you want the install only, for example docker run -it, docker compose run, or a wrapper that gives the command a terminal:
A non-empty III_NON_INTERACTIVE does the same:

Start the harness with your workers

--start-with takes a comma-separated worker list. The setup offer at the end of the install scaffolds a harness project named after the first worker in the list, starts it, and adds every worker in the list with compose::add:
This example creates iii-database, starts it, then adds the database and storage workers. Each added worker reads the project .env file. Put onboarding in the list to also get the guided tour that the plain install offers.

Ask for more environment variables

--need-envs takes a comma-separated list of variable names. The setup asks for each one after the inference provider key, writes the answers to the project .env file, and puts them in the environment of the iii compose --up process. Use it for a worker that needs its own key:
--need-envs is only valid together with --start-with.
Every worker in the --start-with list receives the full project .env file. Use these flags with workers you trust.

Control the install with environment variables

Next Steps

Quickstart

Follow the Quickstart and explore a live iii application.

Use iii

Learn how to use iii in production.