AIL-framework/other_installers/LXD/README.md

69 lines
4.2 KiB
Markdown

# 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 <project_name>` | `AIL-<creation_time>` | Name of the LXD project for organizing and running the containers. |
| `--ail-name <container_name>` | `AIL-<creation_time>` | The name of the container responsible for running the AIL application. |
| `--no-lacus` | `false` | Determines whether to install the Lacus container. |
| `--lacus-name <container_name>` | `LACUS-<creation_time>` | The name of the container responsible for running the Lacus application. |
| `--partition <partition>` | `<none>` | 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 <path_to_image> --alias <image_alias>
```
Now you can use the image to create a container:
```bash
lxc launch <image_alias> <container_name>
```
To log into the container you need to know the automatically generated password. You can get it with the following command:
```bash
lxc exec <container_name> -- 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 <container_name>` | `AIL` | Specifies the name of the AIL container. The default is a generic name "AIL". |
| `--lacus-name <container_name>` | `Lacus` | Specifies the name of the Lacus container. The default is a generic name "Lacus". |
| `-o`, `--outputdir <directory>` | `<none>` | Sets the output directory for the LXD image files. |
| `-s`, `--sign` | `false` | Enables the signing of the generated LXD image files. |