From e523888b2006588b2a273bc0341723878928db14 Mon Sep 17 00:00:00 2001
From: Ada <ada@gnous.eu>
Date: Tue, 29 Oct 2024 22:15:03 +0100
Subject: [PATCH] Add semaphore services

---
 internals/semaphore/docker-compose.yaml | 41 +++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 internals/semaphore/docker-compose.yaml

diff --git a/internals/semaphore/docker-compose.yaml b/internals/semaphore/docker-compose.yaml
new file mode 100644
index 0000000..23ebc5c
--- /dev/null
+++ b/internals/semaphore/docker-compose.yaml
@@ -0,0 +1,41 @@
+services:
+  db:
+    restart: unless-stopped
+    image: postgres:17
+    hostname: postgres
+    volumes: 
+     - db:/var/lib/postgresql/data
+    env_file:
+      - .env
+    environment:
+     POSTGRES_USER: semaphore
+     POSTGRES_DB: semaphore
+  semaphore:
+    restart: unless-stopped
+    ports:
+      - 8085:3000
+    image: semaphoreui/semaphore:v2.10.35
+    env_file:
+      - .env
+    environment:
+      SEMAPHORE_DB_USER: semaphore
+      SEMAPHORE_DB_HOST: postgres
+      SEMAPHORE_DB_PORT: 5432
+      SEMAPHORE_DB_DIALECT: postgres
+      SEMAPHORE_DB: semaphore
+      SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/
+      TZ: UTC
+    depends_on:
+      - db
+    labels:
+      - "traefik.enable=true"
+      - "traefik.http.services.semaphore-service.loadbalancer.server.port=8085"
+      - "traefik.http.routers.semaphore.rule=Host(`semaphore.net.enpls.org`)"
+      - "traefik.http.routers.semaphore.tls=true"
+      - "traefik.http.routers.semaphore.tls.certresolver=defaultacme"
+      - "traefik.http.routers.semaphore.entrypoints=websecure"
+      - "traefik.http.routers.semaphore.service=semaphore-service"
+      - "traefik.http.routers.semaphore.middlewares=proxyHeader@file,proxyError@file"
+volumes:
+  db:
+    driver: local