Zum Hauptinhalt springen
  1. IT-Dokumentation und technische Anleitungen/

Ansible Semaphore: Automatisierung mit Webinterface

Patrick Adams
Autor
Patrick Adams
Auf meinem Blog teile ich mein Wissen zu Open-Source-Lösungen, Docker, Hosting, Backups und Netzwerken – verständlich und direkt umsetzbar.
Inhaltsverzeichnis

Updates und Pakete installieren
#

apt update && apt upgrade -y && apt install curl -y && curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

Docker-Compose installieren
#

Installiere mit folgendem Curl Befehl die Aktuelle Docker Compose Version.

curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Dockge installieren
#

Mit folgendem Befehl erstellst du die benötigten Verzeichnisse und Installierst die Aktuelle Dockge Version.

mkdir -p /opt/stacks /opt/dockge && cd /opt/dockge && curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml && docker compose up -d

Dockge öffnen
#

http://localhost:5001

Auf + Compose klicken
#

Zuerst vergibst du unter Allgemein den Stack-Namen n8n.

Container Dienste in der .yml definieren
#

services:
  mysql:
    image: docker.io/library/mysql:8.3
    hostname: mysql
    volumes:
      - /var/lib/docker/volumes/semaphore:/var/lib/mysql
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: yes
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    restart: unless-stopped
  semaphore:
    container_name: ansiblesemaphore
    image: docker.io/semaphoreui/semaphore:v2.19.10
    user: "${UID}:${GID}"
    ports:
      - 3000:3000
    environment:
      SEMAPHORE_DB_USER: ${SEMAPHORE_DB_USER}
      SEMAPHORE_DB_PASS: ${SEMAPHORE_DB_PASS}
      SEMAPHORE_DB_HOST: mysql
      SEMAPHORE_DB_PORT: 3306
      SEMAPHORE_DB_DIALECT: mysql
      SEMAPHORE_DB: ${SEMAPHORE_DB}
      SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/
      SEMAPHORE_ADMIN_PASSWORD: ${SEMAPHORE_ADMIN_PASSWORD}
      SEMAPHORE_ADMIN_NAME: ${SEMAPHORE_ADMIN_NAME}
      SEMAPHORE_ADMIN_EMAIL: ${SEMAPHORE_ADMIN_EMAIL}
      SEMAPHORE_ADMIN: ${SEMAPHORE_ADMIN}
      SEMAPHORE_ACCESS_KEY_ENCRYPTION: ${SEMAPHORE_ACCESS_KEY_ENCRYPTION}
      ANSIBLE_HOST_KEY_CHECKING: false
    volumes:
      - /var/lib/docker/volumes/semaphore:/inventory:ro
      - /var/lib/docker/volumes/semaphore:/authorized-keys:ro
      - /var/lib/docker/volumes/semaphore:/etc/semaphore:rw
    restart: unless-stopped
    depends_on:
      - mysql

Unten rechts unter der compose.yaml müssen dann noch die .env angaben eingefügt werden
#

Hier kannst du die angaben in der Semaphore .env tauschen Starte den Container aber erstmal so um zu sehen ob alles funktioniert.

MYSQL_DATABASE = "semaphore"
MYSQL_USER = "semaphore"
MYSQL_PASSWORD = "semaphore"
UID = "1000"
GID = "1000"
SEMAPHORE_DB_USER = "semaphore"
SEMAPHORE_DB_PASS = "semaphore"
SEMAPHORE_DB = "semaphore"
SEMAPHORE_ADMIN_PASSWORD = "semaphore"
SEMAPHORE_ADMIN_NAME = "semaphore"
SEMAPHORE_ADMIN_EMAIL = "semaphore"
SEMAPHORE_ADMIN = "semaphore"
SEMAPHORE_ACCESS_KEY_ENCRYPTION = "semaphore"

Anschließend Speichern und den Stack Deployen
#

n8n öffnen und einrichten

http://localhost:5678

Verwandte Artikel