From ba74e1f135a3b4dc57f9eb9791e2b24fc603056f Mon Sep 17 00:00:00 2001 From: Lorenzo Carbonell Date: Fri, 5 May 2023 06:41:49 +0200 Subject: [PATCH] semaphore --- semaphore/README.md | 28 ++++++++++++++++++++++++++++ semaphore/docker-compose.caddy.yml | 7 +++++++ semaphore/docker-compose.traefik.yml | 15 +++++++++++++++ semaphore/docker-compose.yml | 28 ++++++++++++++++++++++++++++ semaphore/sample.env | 7 +++++++ 5 files changed, 85 insertions(+) create mode 100644 semaphore/README.md create mode 100644 semaphore/docker-compose.caddy.yml create mode 100644 semaphore/docker-compose.traefik.yml create mode 100644 semaphore/docker-compose.yml create mode 100644 semaphore/sample.env diff --git a/semaphore/README.md b/semaphore/README.md new file mode 100644 index 0000000..d2f0e64 --- /dev/null +++ b/semaphore/README.md @@ -0,0 +1,28 @@ +# Instalación + +Ansible Semaphore es una interfaz de usuario moderna para Ansible. Permite ejecutar fácilmente playbooks de Ansible, recibir notificaciones sobre fallos y controlar el acceso al sistema de implementación. + +Si tu proyecto ha crecido y la implementación desde la terminal ya no es para ti, entonces Ansible Semaphore es lo que necesitas. + +git clone https://github.com/atareao/self-hosted.git +cd self-hosted/semaphore +cp sample.env .env +sed -i "s/semaphore.tuservidor.es/el_fqdn_que_quieras/g" .env +mkdir data +``` + +Además recuerda cambiar la contraseña. + +A la hora de levantar el servicio dependerá del proxy inverso que hayas seleccionado. Si has elegido Caddy, simplemente, + +``` +docker-compose -f docker-compose.yml -f docker-compose.caddy.yml up -d +docker-compose logs -f +``` + +Mientras que si has elegido Traefik, + +``` +docker-compose -f docker-compose.yml -f docker-compose.traefik.yml up -d +docker-compose logs -f +``` diff --git a/semaphore/docker-compose.caddy.yml b/semaphore/docker-compose.caddy.yml new file mode 100644 index 0000000..4d2a5bc --- /dev/null +++ b/semaphore/docker-compose.caddy.yml @@ -0,0 +1,7 @@ +version: '3.7' + +services: + semaphore: + labels: + - caddy="${FQDN}" + - caddy.reverse_proxy="{{upstreams 3000}}" diff --git a/semaphore/docker-compose.traefik.yml b/semaphore/docker-compose.traefik.yml new file mode 100644 index 0000000..0a72e53 --- /dev/null +++ b/semaphore/docker-compose.traefik.yml @@ -0,0 +1,15 @@ +version: '3.7' + +services: + semaphore: + labels: + - traefik.enable=true + - traefik.http.services.semaphore.loadbalancer.server.port=5005 + - traefik.http.routers.semaphore.entrypoints=web + - traefik.http.routers.semaphore.rule=Host(`${FQDN}`) + - traefik.http.middlewares.semaphore-https-redirect.redirectscheme.scheme=websecure + - traefik.http.routers.semaphore.middlewares=semaphore-https-redirect + - traefik.http.routers.semaphore-secure.entrypoints=websecure + - traefik.http.routers.semaphore-secure.rule=Host(`${FQDN}`) + - traefik.http.routers.semaphore-secure.tls=true + - traefik.http.routers.semaphore-secure.tls.certresolver=letsencrypt diff --git a/semaphore/docker-compose.yml b/semaphore/docker-compose.yml new file mode 100644 index 0000000..833333c --- /dev/null +++ b/semaphore/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3.7' + +services: + semaphore: + image: semaphoreui/semaphore:latest + container_name: semaphore + init: true + restart: unless-stopped + volumes: + environment: + - SEMAPHORE_DB_DIALECT + - SEMAPHORE_ADMIN_PASSWORD + - SEMAPHORE_ADMIN_NAME + - SEMAPHORE_ADMIN_EMAIL + - SEMAPHORE_ADMIN + volumes: + - config:/etc/semaphore + - data:/var/lib/semaphore + networks: + - proxy + +volumes: + config: {} + data: {} + +networks: +proxy: + external: true diff --git a/semaphore/sample.env b/semaphore/sample.env new file mode 100644 index 0000000..508a33f --- /dev/null +++ b/semaphore/sample.env @@ -0,0 +1,7 @@ +FQDN=semaphore.tuservidor.es +SEMAPHORE_DB_DIALECT=bolt +SEMAPHORE_ADMIN_PASSWORD=changeme +SEMAPHORE_ADMIN_NAME=admin +SEMAPHORE_ADMIN_EMAIL=admin@localhost +SEMAPHORE_ADMIN=admin +