You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

StartUp

startSemaphore.sh


#!/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"


Navigate to: http://localhost:3000





  • No labels