# AIL-framework-LXD This installer is based on the [LXD](https://canonical.com/lxd) container manager and can be used to install AIL on Linux. It also supports the installation of [Lacus](https://github.com/ail-project/lacus) a crawler for the AIL framework. ## Requirements - [LXD](https://canonical.com/lxd) 5.19 - jq 1.6 ## Usage Make sure you have all the requirements installed on your system. ### Interactive mode Run the INSTALL.sh script with the --interactive flag to enter the interactive mode, which guides you through the configuration process: ```bash bash INSTALL.sh --interactive ``` ### Non-interactive mode If you want to install AIL without the interactive mode, you can use the following command: ```bash bash INSTALL.sh [OPTIONS] ``` The following options are available: | Flag | Default Value | Description | | ------------------------------- | ----------------------- | ------------------------------------------------------------------------ | | `-i`, `--interactive` | N/A | Activates an interactive installation process. | | `--project ` | `AIL-` | Name of the LXD project for organizing and running the containers. | | `--ail-name ` | `AIL-` | The name of the container responsible for running the AIL application. | | `--no-lacus` | `false` | Determines whether to install the Lacus container. | | `--lacus-name ` | `LACUS-` | The name of the container responsible for running the Lacus application. | | `--partition ` | `` | Dedicated partition for LXD-project storage. | ## Configuration If you installed Lacus, you can configure AIL to use it as a crawler. For further information, please refer to the [HOWTO.md](https://github.com/ail-project/ail-framework/blob/master/HOWTO.md) ## Using Images to run AIL If you want to use images to install AIL, you can download them from the ail-project [image website](https://images.ail-project.org/) After downloading the images, you can import them into LXD using the following command: ```bash lxc image import --alias ``` Now you can use the image to create a container: ```bash lxc launch ``` To log into the container you need to know the automatically generated password. You can get it with the following command: ```bash lxc exec -- bash -c "grep '^password=' /home/ail/ail-framework/DEFAULT_PASSWORD | cut -d'=' -f2" ``` If you also want to use Lacus, you can do the same with the Lacus image. After that, you can configure AIL to use Lacus as a crawler. For further information, please refer to the [HOWTO.md](https://github.com/ail-project/ail-framework/blob/master/HOWTO.md). ## Building the images locally If you want to build the images locally, you can use the `build.sh` script: ```bash bash build.sh [OPTIONS] ``` | Flag | Default Value | Description | | ------------------------------- | ------------- | --------------------------------------------------------------------------------- | | `--ail` | `false` | Activates the creation of the AIL container. | | `--lacus` | `false` | Activates the creation of the Lacus container. | | `--ail-name ` | `AIL` | Specifies the name of the AIL container. The default is a generic name "AIL". | | `--lacus-name ` | `Lacus` | Specifies the name of the Lacus container. The default is a generic name "Lacus". | | `-o`, `--outputdir ` | `` | Sets the output directory for the LXD image files. | | `-s`, `--sign` | `false` | Enables the signing of the generated LXD image files. |