Before performing any of the deployment steps, please use Git to clone this repository and cd into the repository folder:
git clone https://github.com/ansible/eda-server.git
cd eda-server
The deployment based on docker/podman and docker-compose is the recommended method for linux users.
-
Container runtime installed and configured (Podman or Docker)
-
pip install docker-compose
-
The
docker
binary will be used during deployment by default. Podman users should install thepodman-docker
package, or manually create a symlink to thepodman
binary:sudo ln -s $(which podman) $(dirname $(which podman))/docker
NOTE Mac OS + podman users
Due to issues with volume mounting, the deployment based on docker-compose is not supported yet for Mac OS + podman users. Please refer to the minikube deployment section for an alternative option.
You can follow the below steps to spin up an instance of eda-server within minutes. Please read through the Requirements section carefully before attempting any of the below deployment instructions.
Podman users only:
-
DOCKER_HOST
environment variable must be defined pointing to the podman socket to be able to usedocker-compose
. Example:export DOCKER_HOST=unix:///run/user/$UID/podman/podman.sock
-
Ensure the
podman.socket
service is enabled and running:systemctl --user enable --now podman.socket
-
docker-compose will try to expose the Docker socket through a mount volume. Podman users must create a
.env
file in thetools/docker
directory which defines the variableDOCKER_SOCKET_MOUNT
with the correct path and UID to the socket file (or export the environment variable):# tools/docker/.env file DOCKER_SOCKET_MOUNT=/run/user/<UID>/podman/podman.sock
-
Navigate to the
tools/docker
directory and rundocker-compose
:cd tools/docker docker-compose up -d --build
-
Create a superuser account for
[email protected]
and passwordtest
:docker|podman exec eda-server scripts/adduser.py -S --password test [email protected]
You can now access the UI at http://localhost:8080/eda/ using the above credentials.
Minikube is the recommemded method for Mac OS users
- Kubernetes CLI (kubectl)
- kustomize
- minikube
- Taskfile
- bash, version 3.* or above
-
Start minikube if it is not already running:
minikube start
-
Ensure minikube instance is up and running:
minikube status
-
Run the deployment:
task minikube:all
-
Forward the webserver port to the localhost:
task minikube:fp:ui
Note: For fedora, the binary may be go-task
.
-
Create a superuser account for
[email protected]
and passwordtest
:kubectl exec $(kubectl get pod -l app=eda-server -o jsonpath="{.items[0].metadata.name}") -- scripts/adduser.py -S --password test [email protected]
You can now access the UI at http://localhost:8080/eda/ using the above credentials.