Docker Compose - Online

Introduction

This document aims to explain how to install Exastro Platform or Exastro IT Automation on Docker or Podman.

Features

This is the easiest and simplest way of installing Exastro IT Automation
For higher availability and service level, we recommend Kubernetes version

Pre-requisites

  • Deploy environment

    The hardware requirements for the Container environment are as follows.
    表 24 Hardware requirements(Minimum)

    Resource type

    Required resource

    CPU

    2 Cores (3.0 GHz, x86_64)

    Memory

    4GB

    Storage (Container image size)

    35GB

    表 25 Hardware requirements(Recommended)

    Resource type

    Required resource

    CPU

    4 Cores (3.0 GHz, x86_64)

    Memory

    16GB

    Storage (Container image size)

    120GB

※ The system must have disk space as partitions.
▼RHEL
・Container image
/home/Username/.local 25GB
・Exastro data
/home/Username/exastro-docker-compose 10GB(rough estimate. May change depending on usecases).

▼Other than RHEL
・Container image
/var/lib/ 25GB
・Exastro data
/home/Username/exastro-docker-compose 10GB(rough estimate. May change depending on usecases).

警告

The required resources for the minimum configuration are for when both Gitlab Container and OASE container are not deployed. Additional resources will be required if you are planning to deploy them.
Users will have to prepare an additional storage area if they wish to persist databases or files.
The storage space is only an estimate and varies based on the user's needs. Make sure to take that into account when securing storage space.
  • Communication Protocols

    表 26 Communication Protocols

    Use

    Description

    Source

    Destination

    Default

    For Exastro service

    For connecting to Exastro service

    Client

    Exastro system

    30080/tcp

    Exastro system (management)

    For Exastro system management function

    Client

    Exastro system

    30081/tcp

    GitLab service(options)

    For connecting to GitLab when linked with AAP

    Ansible Automation Platform

    Exastro system

    40080/tcp

    For GitLab service (option)

    For monitoring GitLab service

    Exastro system

    Exastro system

    40080/tcp

    File acquisition

    GitHub, Container images, Packages, etc.

    Exastro system

    Internet

    443/tcp

  • Confirmed compatible Operation systems

    The following describes confirmed compatible operation systems as well as their versions.

    表 27 Operating systems

    Type

    Version

    Red Hat Enterprise Linux

    Version 8

    AlmaLinux

    Version 8

    Ubuntu

    Version 22.04

  • Confirmed compatible Operation systems and container platforms

    The following describes confirmed compatible operation systems as well as their versions.

    表 28 Tested environments

    OS version

    podman version

    Docker Compose version

    Docker version

    Red Hat Enterprise Linux release 9.4 (Plow)

    podman version 4.9.4-rhel

    Docker Compose version v2.20.3

    Red Hat Enterprise Linux release 8.9 (Ootpa)

    podman version 4.9.4-rhel

    Docker Compose version v2.20.3

    AlmaLinux release 8.9 (Midnight Oncilla)

    Docker version 26.1.3, build b72abbb

Tip

Some users have been meeting errors where the name cannot be resolved correctly in rootless mode in RHEL 8.2 or podman 4.x. Make sure to use RHEL 8.3 or later.

  • Applications

    The user must be able to run curl and sudo commands.

警告

The Exastro process must be able to be run with normal user permissions (it is not possible to install with root user).
Any normal users must be sudoer and have complete permissions.

Preparation

The user must prepare an URL for releasing the service.
表 29 Example 1) Releasing service with IP Address

Service

URL

Exastro service

http://172.16.0.1:30080

Exastro management service

http://172.16.0.1:30081

GitLab service

http://172.16.0.1:40080

表 30 Example 2) Releasing service with Domain

Service

URL

Exastro service

http://ita.example.com:30080

Exastro management service

http://ita.example.com:30081

GitLab service

http://ita.example.com:40080

表 31 Example 3) Releasing service through LoadBalancer

Service

URL

Exastro service

https://ita.example.com

Exastro management service

https://ita-mng.example.com

GitLab service

https://gitlab.example.com

Tip

If the user is using HTTPS, they must use either LoadBalancer or Reverse proxy.
If the user plans to use LoadBalancer or Reverse proxy, they will have to prepare that themselves.

Installation (Automatic)

注釈

The installer selects either Docker or Podman depending on the user OS.

注釈

If the installer fails, run Uninstall's Deleting Container and Data or Leaving the Container image and try installing again.
The easiest way of installing Exastro ITA is to use the the Installation script.
This allows users to start the installation process with 1 command.
The following is an example where the user is "test_user" and the home directory is "/home/test_user".
リスト 104 Install command
sh <(curl -sf https://ita.exastro.org/setup) install
After the install command is run, the system will check that the system requirements are met before starting the Container construction process.
When all the required packages are installed, the user will be able to customize the installation with the following values:
リスト 105 Confirm OASE container deployment
Deploy OASE containers? (y/n) [default: y]:
リスト 106 Confirm GitLab container deployment
Deploy GitLab container? (y/n) [default: n]:
リスト 107 Confirm automatic password generation?
# Asks to automatically generate Maria DB and System admin password.
Generate all password and token automatically? (y/n) [default: y]:
リスト 108 Exastro service URL
#Input 30800 for the port number if the OS is Red Hat Enterprise Linux. For everything else, input 80.
Input the Exastro service URL: https://ita.example.com:30080
リスト 109 Exastro management service URL
#Input 30801 for the port number if the OS is Red Hat Enterprise Linux. For everything else, input 81.
Input the Exastro management URL: https://ita.example.com:30081
リスト 110 Self-signed SSL/TSL certificate generation (If Exastro service URL/Exastro management service URL is set to https)
Generate self-signed SSL certificate? (y/n) [default: y]:
リスト 111 Server certificate/Secret key file path (If Self-signed SSL/TSL certificate generation is set to "n")
#Specify the server certificate file path for the certificate file path and the secret key file's file path for the private-key file path.
Input path to your SSL certificate file.
certificate file path:
private-key file path:
リスト 113 Gitlab container URL(Required if deploying Gitlab container).
Input the external URL of GitLab container [default: (nothing)]:

Tip

Make sure to include the port number in the URL.
Specify 40080 for the port number.
リスト 114 Exastro service URL
Service URL? [default: http://127.0.0.1:30080]: http://ita.example.com:30080
リスト 115 Exastro management service URL
Management URL? [default: http://127.0.0.1:30081]: http://ita.example.com:30081
リスト 116 Confirm generated settings file
System parametes are bellow.

System administrator password:    ********
Database password:                 ********
OASE deployment                   true
MongoDB password                  ********
Service URL:                      http://ita.example.com:30080
Manegement URL:                   http://ita.example.com:30081
Docker GID:                       1000
Docker Socket path:               /run/user/1000/podman/podman.sock
GitLab deployment:                false

Generate .env file with these settings? (y/n) [default: n]:
Inputting either y or yes will download all Docker Compose files needed to run Exastro from GitHub and change the firewall settings.
リスト 117 Check Exastro container deployment
Deploy Exastro containers now? (y/n) [default: n]:
Input either n or no to edit settings on a more granular level and skip skip the following process.
Input either y or yes to run the Exastro system container group.
The Exastro system deployment process may take several minutes (Depends on the network situation and server specs).
リスト 118 Running Exastro container deployment
Please wait for a little while. It will take 10 minutes or later..........
When the Exastro system deployment is finnished, the service connection information will be output.
リスト 119 Service connection information outpu
System manager page:
  URL:                http://ita.example.com:30081/
  Login user:         admin
  Initial password:   ******************

Organization page:
  URL:                http://ita.example.com:30080/{{ Organization ID }}/platform


GitLab service is has completely started!

Run creation organization command:
   bash /home/test_user/exastro-docker-compose/create-organization.sh


! ! ! ! ! ! ! ! ! ! ! ! ! ! !
! ! !   C A U T I O N   ! ! !
! ! ! ! ! ! ! ! ! ! ! ! ! ! !

Be sure to reboot the you host operating system to ensure proper system operation.

Reboot now? (y/n) [default: y]: y
If neccesary, save the output information and press y or yes to restart the system.

注釈

The generated parameters are saved under ~/exastro-docker-compose/.env.

Create Organization

After rebooting and logging in to the system, create an organization.
For more information regarding organizations, see Organization.

Tip

When linked to GitLab, the GitLab must be running in order to create Organizations.

Create Workspace

After creating an organization, log in to it and create a workspace.
For more information regarding creating workspaces, see Workspace

Let's give it a Try!!

We recommend users go through クイックスタート in order to learn how to use the software.
The Quickstart guide guides the user through scenarios where they learn how to use Exastro IT Automation, how the parameter sheets works, etc.

Update

This section describes how to update the Exastro system.

Update preparation

警告

We recommend that the back up their data before updating.
The backup target is ~/exastro-docker-compose/.volumes.

Update repository

Update the exastro-docker-compose repository.
リスト 120 Command
1# Check exastro-docker-compose repository
2cd ~/exastro-docker-compose
3git pull

Check default setting values and update data

Check the updated default values.
Compare the exastro.yaml file pre and post update.
リスト 121 Command
cd ~/exastro-docker-compose

# For AlmaLinux or Ubuntu OS
diff .env .env.docker.sample
# For Red Hat Enterprise Linux OS
diff .env .env.podman.sample

Update setting values

After comparing the default setting values, add any desired items and setting values before updating.
If no setting value update is needed, skip this step.

Update

Start update

Start the update.
リスト 122 Command
sh <(curl -sf https://ita.exastro.org/setup) install

Uninstall

This section explains how to uninstall Exastro.

Uninstall preparation

警告

We recommend that the user follow ../manuals/maintenance/backup_and_restore and back up the data before uninstalling.
The backup target is ~/exastro-docker-compose/.volumes.

Uninstall

Start uninstall

Deleting Container and Data

Deletes the Container image as well.
リスト 123 Command
sh <(curl -sf https://ita.exastro.org/setup) remove -c

Leaving the Container image

Delete Container
リスト 124 Command
sh <(curl -sf https://ita.exastro.org/setup) remove
Delete Volume
リスト 125 Command
docker volume rm $(docker volume ls -qf dangling=true)

# Confirm that the Volume has been deleted
docker volume ls
Delete .volumes
リスト 126 Command
cd ~/exastro-docker-compose

sudo rm -rf .volumes
Recreate .volumes

注釈

Make sure to run the command below if re-installing.
リスト 127 Command
cd ~/exastro-docker-compose

git checkout .volumes