Skip to content

Instantly share code, notes, and snippets.

@dmc5179
Last active March 25, 2020 17:49
Show Gist options
  • Select an option

  • Save dmc5179/ea9e77cd7d2b35eebc72f2de7f6db700 to your computer and use it in GitHub Desktop.

Select an option

Save dmc5179/ea9e77cd7d2b35eebc72f2de7f6db700 to your computer and use it in GitHub Desktop.
Script to run Ansible Galaxy with podman like docker-compose
#!/bin/bash -xe
# Script to run Ansible Galaxy with podman like docker-compose
#GALAXY_NET="galaxy-net"
#SINGLE_POD="false"
SUDO=""
#if [[ `whoami` == root ]]
#then
# SUDO=sudo
# # Create the galaxy network. It might already exist
# #${SUDO} podman network create ${GALAXY_NET} || true
#fi
POD_OPTS=""
#if [[ "${SINGLE_POD}" == true ]]
#then
# # Create the galaxy pod
# ${SUDO} podman pod create --infra --name "${GALAXY_POD}" --publish 8000:8000
# POD_OPTS="--pod ${GALAXY_POD}"
#fi
NET_OPTS=""
#NET_OPTS="--network ${GALAXY_NET} --dns=10.88.0.1"
${SUDO} podman run -d ${POD_OPTS} --name influxdb ${NET_OPTS} \
--publish 8086:8086 \
-e INFLUXDB_REPORTING_DISABLED=true \
-e INFLUXDB_DB=galaxy -e INFLUXDB_ADMIN_USER=${GALAXY_INFLUX_DB_USERNAME} \
-e INFLUXDB_ADMIN_PASSWORD=${GALAXY_INFLUX_DB_PASSWORD} \
-e INFLUXDB_WRITE_USER=galaxy -e INFLUXDB_WRITE_USER_PASSWORD=galaxy docker.io/library/influxdb:latest
${SUDO} podman run -d ${POD_OPTS} ${NET_OPTS} \
--publish 5432:5432 \
-e POSTGRES_DB=galaxy -e POSTGRES_USER=galaxy -e POSTGRES_PASSWORD=galaxy \
--name postgres docker.io/library/postgres:9.5
${SUDO} podman run -d --name rabbitmq ${POD_OPTS} ${NET_OPTS} \
--publish 5672:5672 \
-e RABBITMQ_DEFAULT_USER=galaxy -e RABBITMQ_DEFAULT_PASS=${GALAXY_RABBITMQ_PASSWORD} \
-e RABBITMQ_DEFAULT_VHOST=galaxy docker.io/library/rabbitmq:latest
${SUDO} podman run -d --name redis ${POD_OPTS} \
--publish 6379:6379 \
${NET_OPTS} \
docker.io/library/redis:latest
POSTGRES_HOST=$(podman inspect -f "{{.NetworkSettings.IPAddress}}" postgres)
RABBITMQ_HOST=$(podman inspect -f "{{.NetworkSettings.IPAddress}}" rabbitmq)
REDIS_HOST=$(podman inspect -f "{{.NetworkSettings.IPAddress}}" redis)
INFLUXDB_HOST=$(podman inspect -f "{{.NetworkSettings.IPAddress}}" influxdb)
GALAXY_DB_URL="postgres://galaxy:galaxy@${POSTGRES_HOST}:5432/galaxy"
GALAXY_INFLUX_DB_HOST="${INFLUXDB_HOST}"
GALAXY_INFLUX_DB_PASSWORD="admin"
GALAXY_INFLUX_DB_PORT="8086"
GALAXY_INFLUX_DB_USERNAME="admin"
GALAXY_RABBITMQ_HOST="${RABBITMQ_HOST}"
GALAXY_RABBITMQ_PASSWORD="galaxy"
GALAXY_SECRET_KEY="secret"
${SUDO} podman run -d --name galaxy ${POD_OPTS} \
${NET_OPTS} \
--publish 8000:8000 \
--add-host=postgres:${POSTGRES_HOST} --add-host=rabbitmq:${RABBITMQ_HOST} --add-host=redis:${REDIS_HOST} --add-host=influxdb:${INFLUXDB_HOST} \
-e GALAXY_DB_URL=${GALAXY_DB_URL} -e GALAXY_INFLUX_DB_HOST=${GALAXY_INFLUX_DB_HOST} \
-e POSTGRES_HOST=${POSTGRES_HOST} -e RABBITMQ_HOST=${RABBITMQ_HOST} -e REDIS_HOST=${REDIS_HOST} -e INFLUXDB_HOST=${INFLUXDB_HOST} \
-e GALAXY_INFLUX_DB_PASSWORD=${GALAXY_INFLUX_DB_PASSWORD} -e GALAXY_INFLUX_DB_PORT=${GALAXY_INFLUX_DB_PORT} \
-e GALAXY_INFLUX_DB_USERNAME=${GALAXY_INFLUX_DB_USERNAME} -e GALAXY_RABBITMQ_HOST=${GALAXY_RABBITMQ_HOST} \
-e GALAXY_RABBITMQ_PASSWORD=${GALAXY_RABBITMQ_PASSWORD} -e GALAXY_SECRET_KEY=${GALAXY_SECRET_KEY} quay.io/ansiblegalaxy/galaxy-dev:latest
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment