From d6b4123e8ae88acb7915a01f054a3d235e9fc65e Mon Sep 17 00:00:00 2001 From: furyhawk Date: Fri, 28 Feb 2025 20:49:10 +0800 Subject: [PATCH] feat: add semaphore service configuration to Docker Compose --- swarm/semaphore.yml | 38 +++++++++++++++++++++++ test/compose/semaphore/docker-compose.yml | 23 ++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 swarm/semaphore.yml create mode 100644 test/compose/semaphore/docker-compose.yml diff --git a/swarm/semaphore.yml b/swarm/semaphore.yml new file mode 100644 index 0000000..4493d6d --- /dev/null +++ b/swarm/semaphore.yml @@ -0,0 +1,38 @@ +services: + semaphore: + image: semaphoreui/semaphore:v2.12.14 + environment: + SEMAPHORE_DB_DIALECT: postgres + SEMAPHORE_DB_HOST: "db.${DOMAINNAME}" + SEMAPHORE_DB_NAME: semaphore + SEMAPHORE_DB_USER: ${DATABASE__USERNAME} + SEMAPHORE_DB_PASS: ${DATABASE__PASSWORD} + SEMAPHORE_ADMIN: admin + SEMAPHORE_ADMIN_PASSWORD: changeme + SEMAPHORE_ADMIN_NAME: Admin + SEMAPHORE_ADMIN_EMAIL: admin@localhost + SEMAPHORE_DB_OPTIONS: "{\"sslmode\":\"disable\"}" + ports: + - 3000:3000 + volumes: + - semaphore_data:/var/lib/semaphore + - semaphore_config:/etc/semaphore + networks: + - traefik-public + deploy: + labels: + - traefik.enable=true + - traefik.swarm.network=traefik-public + - traefik.constraint-label=traefik-public + - traefik.http.routers.semaphore.entrypoints=https + - traefik.http.routers.semaphore.rule=Host(`semaphore.${DOMAINNAME}`) + - traefik.http.routers.semaphore.tls.certresolver=le + - traefik.http.routers.semaphore.service=semaphore + - traefik.http.services.semaphore.loadbalancer.server.port=3000 + +networks: + traefik-public: + external: true +volumes: + semaphore_data: + semaphore_config: diff --git a/test/compose/semaphore/docker-compose.yml b/test/compose/semaphore/docker-compose.yml new file mode 100644 index 0000000..e0965cb --- /dev/null +++ b/test/compose/semaphore/docker-compose.yml @@ -0,0 +1,23 @@ +services: + semaphore: + image: semaphoreui/semaphore:v2.12.14 + environment: + SEMAPHORE_DB_DIALECT: postgres + SEMAPHORE_DB_HOST: "db.${DOMAINNAME}" + SEMAPHORE_DB_NAME: semaphore + SEMAPHORE_DB_USER: ${DATABASE__USERNAME} + SEMAPHORE_DB_PASS: ${DATABASE__PASSWORD} + SEMAPHORE_ADMIN: admin + SEMAPHORE_ADMIN_PASSWORD: changeme + SEMAPHORE_ADMIN_NAME: Admin + SEMAPHORE_ADMIN_EMAIL: admin@localhost + + SEMAPHORE_DB_OPTIONS: "{\"sslmode\":\"disable\"}" + ports: + - 3000:3000 + volumes: + - semaphore_data:/var/lib/semaphore + - semaphore_config:/etc/semaphore +volumes: + semaphore_data: + semaphore_config: