For the complete documentation index, see llms.txt. This page is also available as Markdown.

Building your First App

Structure of the app meta file, and how to build the app

The auterion-app.yml file

The auterion-app.yml file has to be in the apps root directory. In its most basic form it is structured like this:

auterion-api-version: 2  # The auterion API version this app is targeting
auterion-app-base: none  # Can be set to a version of the auterion/app-base 
                         # docker image, if it is used as a base image in the app. 
                         # This makes the tooling remove all the layers from the 
                         # respective base image to reduce the app size. 

app-name: example-webservice          # The name of your app
app-version: 0.0.1                    # The version of your app
app-author: com.auterion              # The authoring entity. 
                                      # Has to be reverse-domain name notation
target-platform: [skynode, ainode]    # Supported platforms of this app.
                                      # Can be skynode or ainode


# Like in docker-compose, your app can consist of multiple docker containers. 
# In 'services' you list all the containers that make up your app. In most 
# cases, this is just one service
services:
  example-webservice:                     # name of this service
    build: services/example-webservice    # location of the Dockerfile of the service
    # .... Additional API configurations .....
  existing-docker-image:                  # name of another service
    image: ubuntu:22.04                   # Auterion-cli can include existing images

Each AuterionOS app targets a specific API level. The API level an app targets, is specified in the auterion-app.yml file like so:

For a full comparison of the available API versions see Apps API.

Building the app

What does auterion-cli app build really do? It performs the following tasks

  1. For all the services with a build directive, it builds the image using docker build --platform=linux/arm64. If the auterion-cli command is invoked with the --simulation flag, it will instead execute docker build --platform=linux/amd64.

  2. For all services with a image directive it pulls them from docker hub

  3. It packages the built image into a .auterionos file

Last updated