semaphore

This commit is contained in:
Lorenzo Carbonell 2023-05-05 06:41:49 +02:00
parent 9ea620c317
commit ba74e1f135
5 changed files with 85 additions and 0 deletions

28
semaphore/README.md Normal file
View File

@ -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
```

View File

@ -0,0 +1,7 @@
version: '3.7'
services:
semaphore:
labels:
- caddy="${FQDN}"
- caddy.reverse_proxy="{{upstreams 3000}}"

View File

@ -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

View File

@ -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

7
semaphore/sample.env Normal file
View File

@ -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