Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents

StartUp

startSemaphore.sh


Code Block
#!/usr/bin/env bash

set -euo pipefail

CONTAINER_NAME="semaphore"
IMAGE="public.ecr.aws/semaphore/pro/server:v2.16.51"

# Path to your Ansible roles / playbooks on the host
PLAYBOOK_PATH="$(pwd)/playbooks"
PLAYBOOK_DOCKER_PATH="/playboks"

echo "Stopping and removing existing container (if it exists)..."
docker stop "$CONTAINER_NAME" 2>/dev/null || true
docker rm "$CONTAINER_NAME" 2>/dev/null || true

echo "Creating required directories..."
mkdir -p config
mkdir -p data

echo "Starting Semaphore container..."
docker run --user 0 \
  --cap-add=NET_RAW --cap-add=NET_ADMIN \
  --name "$CONTAINER_NAME" \
  -p 3000:3000 \
  -e SEMAPHORE_DB_DIALECT=sqlite \
  -e SEMAPHORE_ADMIN=admin \
  -e SEMAPHORE_ADMIN_PASSWORD=password \
  -e SEMAPHORE_ADMIN_NAME="Admin" \
  -e SEMAPHORE_ADMIN_EMAIL=admin@localhost \
  -v "$PLAYBOOK_PATH:$PLAYBOOK_DOCKER_PATH" \
  -v "$(pwd)/data:/var/lib/semaphore" \
  -v "$(pwd)/config:/etc/semaphore" \
  -d "$IMAGE"

echo "Installing Additional Binaries"
docker exec -it semaphore sh -c "apk add --no-cache nmap nmap-scripts sqlite"

echo "Semaphore is running at http://localhost:3000"
echo "Playbooks mounted from: $PLAYBOOK_PATH to internal container path: $PLAYBOOK_DOCKER_PATH"
open http://localhost:3000


Navigate to: http://localhost:3000


Create Project

Image Added


Create Repository

Image Added

Create Empty Inventory

Image Added

Create AutoDiscovered Inventory

Image Added


Create InventoryBuilderVars Variable Group

Image Added

Create InventoryBuilder Task

Image Added

Create Provisioning Task

Image Added