Install Atesor
You can install Eclipse Atesor™ in two ways: from the .deb package on the release page, or from a source checkout. After the install, you build a riscv64 sandbox image one time. Check the requirements first.
Which install method should I use?
Section titled “Which install method should I use?”| Method | Use it when | Command name |
|---|---|---|
.deb package |
You port packages on an Ubuntu 22.04 amd64 host |
atesor-ai |
| Source checkout | You use another distribution or Python version, you run batch ports, or you change the code | python3 main.py |
In these docs, python3 main.py and atesor-ai are the same command. The two methods take the same flags, with the exception in the next note.
Install the .deb package
Section titled “Install the .deb package”-
Open the release page.
-
Download
atesor-ai_<version>_amd64.debandatesor-ai_<version>_amd64.deb.sha256from the assets of a release. -
Calculate the checksum of the package:
Terminal window sha256sum atesor-ai_<version>_amd64.deb -
Compare the result with the first field of the
.sha256file, or with theSHA256line in the release notes. Do not continue if they are different. -
Install the package:
Terminal window sudo apt-get install ./atesor-ai_<version>_amd64.debaptalso installs the dependencies:python3, a Docker engine (docker.io,docker-ceordocker-engine),qemu-user-static,binfmt-supportandca-certificates. It recommendsgit. -
Add your user to the
dockergroup, then log out and log in again:Terminal window sudo usermod -aG docker "$USER" -
Check the install:
Terminal window atesor-ai --versionatesor-ai --help
What does the package install?
Section titled “What does the package install?”| Path | Content |
|---|---|
/opt/atesor-ai/app/ |
The application code, the Dockerfiles and the seed data |
/opt/atesor-ai/app/.env-example |
The reference list of supported environment variables |
/opt/atesor-ai/app/BUILD_INFO |
The build date and the versions of the bundled Python packages |
/opt/atesor-ai/venv/ |
The bundled Python virtual environment |
/usr/bin/atesor-ai |
The launcher |
Atesor never writes to /opt. It writes its runtime state to $ATESOR_HOME if you set it, or else to ~/.local/share/atesor-ai. On the first run, it copies the bundled recipe cache and few-shot examples into that folder.
To remove the package, run sudo dpkg -r atesor-ai. The package scripts then remove /opt/atesor-ai. Your state folder stays.
Build the .deb yourself
Section titled “Build the .deb yourself”To make a package for another base image or another architecture, build it from a source checkout. The build needs Docker on the host.
packaging/deb/build_deb.sh # ubuntu:22.04 basepackaging/deb/build_deb.sh debian:12 # another base imageThe script writes dist/atesor-ai_<version>_<arch>.deb and a build log, dist/atesor-ai_<version>_build.log. To check the package in a clean container, run packaging/deb/validate_deb.sh [image].
Install from source
Section titled “Install from source”-
Clone the repository:
Terminal window git clone https://github.com/eclipse-atesor/atesorcd atesor -
Install the Python dependencies:
Terminal window pip install -r requirements.txtThe list includes
langchain-anthropic, which the Anthropic provider needs. -
Make your
.envfile from the template:Terminal window cp .env-example .env -
Add your API key to
.env. See Configure the LLM provider.
Unless you set ATESOR_HOME, a source checkout keeps its runtime state inside the checkout. The workspace is in workspace/, and the recipe cache and the examples are in data/. If you plan to contribute, also read Development setup.
Build the sandbox image
Section titled “Build the sandbox image”A sandbox is the riscv64 container where Atesor builds packages. Build the image one time before your first port:
python3 main.py --setup-only # Alpine (musl), the defaultpython3 main.py --setup-only --platform debian # Debian/Ubuntu (glibc)With the .deb, use atesor-ai --setup-only and atesor-ai --setup-only --platform debian.
--setup-only needs no API key. It does these steps:
- It checks that
qemu-riscv64is registered in binfmt_misc, and tries to register it if not. - It looks for the image. If the image does not exist, it builds it for
linux/riscv64from the Dockerfile of the platform. - It starts the container and mounts the workspace at
/workspace. - It checks that the distribution in the container matches the platform and that
uname -mreportsriscv64. - It prints
Setup complete!.
| Platform | Dockerfile | Image | Container |
|---|---|---|---|
alpine |
Dockerfile |
atesor-ai-sandbox:latest |
atesor-ai-sandbox |
debian or ubuntu |
Dockerfile.debian |
atesor-ai-sandbox-debian:latest |
atesor-ai-sandbox-debian |
The image builds under QEMU emulation. The setup message of Atesor tells you to expect 15 to 45 minutes for the first build. Later runs use the cached image.
Rebuild or remove the sandbox
Section titled “Rebuild or remove the sandbox”| Command | Effect |
|---|---|
--rebuild |
Builds the image again before the run. Without --repo, --platform and --container, it rebuilds both the Alpine and the Debian sandbox. |
--cleanup |
Stops and removes the sandbox container |
--clean-image |
Also removes the sandbox image |
--clean-workspace |
Shows the size of the workspace folders and asks which ones to empty: repos/, output/, logs/, .cache/, or all |