Deliver complete semaphore stack. Remove obsolete networks and common mysql.
This commit is contained in:
4
automation/.env
Normal file
4
automation/.env
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
DB_USER=semaphore
|
||||||
|
DB_NAME=semaphore
|
||||||
|
DB_PASS=Zk5FM#*9uAFzt6n6TGD!
|
||||||
|
|
||||||
@@ -3,33 +3,38 @@ version: "3.9"
|
|||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
external: true
|
external: true
|
||||||
internal:
|
semaphore:
|
||||||
external: true
|
name: semaphore
|
||||||
|
external: false
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
semaphore:
|
semaphore:
|
||||||
name: semaphore
|
name: semaphore
|
||||||
|
semaphore-db:
|
||||||
|
name: semaphore-db
|
||||||
|
|
||||||
services:
|
services:
|
||||||
semaphore:
|
semaphore:
|
||||||
image: ansiblesemaphore/semaphore
|
image: ansiblesemaphore/semaphore
|
||||||
container_name: semaphore
|
container_name: semaphore
|
||||||
environment:
|
environment:
|
||||||
SEMAPHORE_DB_USER: semaphore
|
SEMAPHORE_DB_USER: ${DB_USER}
|
||||||
SEMAPHORE_DB_PASS: Zk5FM#*9uAFzt6n6TGD!
|
SEMAPHORE_DB_PASS: ${DB_PASS}
|
||||||
SEMAPHORE_DB_HOST: mysql8
|
SEMAPHORE_DB_HOST: semaphore-db
|
||||||
SEMAPHORE_DB_PORT: 3306
|
SEMAPHORE_DB_PORT: 3306
|
||||||
SEMAPHORE_DB: semaphore
|
SEMAPHORE_DB: ${DB_NAME}
|
||||||
SEMAPHORE_PLAYBOOKPATH: /tmp/semaphore/
|
SEMAPHORE_PLAYBOOKPATH: /tmp/semaphore/
|
||||||
SEMAPHORE_ADMIN_PASSWORD: secret
|
SEMAPHORE_ADMIN_PASSWORD: secret
|
||||||
SEMAPHORE_ADMIN_NAME: Christian Steinle
|
SEMAPHORE_ADMIN_NAME: Christian Steinle
|
||||||
SEMAPHORE_ADMIN_EMAIL: christiansteinle@arcor.de
|
SEMAPHORE_ADMIN_EMAIL: christiansteinle@arcor.de
|
||||||
SEMAPHORE_ADMIN: chris
|
SEMAPHORE_ADMIN: chris
|
||||||
SEMAPHORE_ACCESS_KEY_ENCRYPTION: /Rzt40/8gnKzYNDktdtDRZ8FVDJoF5y4Z1fETIylc7Y=
|
SEMAPHORE_ACCESS_KEY_ENCRYPTION: /Rzt40/8gnKzYNDktdtDRZ8FVDJoF5y4Z1fETIylc7Y=
|
||||||
|
depends_on:
|
||||||
|
- semaphore-db
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
- internal
|
- semaphore
|
||||||
volumes:
|
volumes:
|
||||||
- semaphore:/home/semaphore:rw
|
- semaphore:/home/semaphore:rw
|
||||||
labels:
|
labels:
|
||||||
@@ -39,3 +44,21 @@ services:
|
|||||||
- "traefik.http.routers.semaphore.service=semaphore"
|
- "traefik.http.routers.semaphore.service=semaphore"
|
||||||
- "traefik.http.services.semaphore.loadbalancer.server.port=3000"
|
- "traefik.http.services.semaphore.loadbalancer.server.port=3000"
|
||||||
|
|
||||||
|
semaphore-db:
|
||||||
|
image: mysql:8
|
||||||
|
container_name: semaphore-db
|
||||||
|
hostname: semaphore-db
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: ${DB_PASS}
|
||||||
|
MYSQL_USER: ${DB_USER}
|
||||||
|
MYSQL_PASSWORD: ${DB_PASS}
|
||||||
|
MYSQL_DATABASE: ${DB_NAME}
|
||||||
|
volumes:
|
||||||
|
- semaphore-db:/var/lib/mysql
|
||||||
|
networks:
|
||||||
|
- semaphore
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "mysqladmin ping -u$${DB_USER} -p$$(DB_PASS)"]
|
||||||
|
|
||||||
|
|||||||
@@ -4,18 +4,10 @@ networks:
|
|||||||
proxy:
|
proxy:
|
||||||
external: false
|
external: false
|
||||||
name: proxy
|
name: proxy
|
||||||
internal:
|
|
||||||
external: false
|
|
||||||
driver: bridge
|
|
||||||
name: internal
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
letsencrypt:
|
letsencrypt:
|
||||||
name: letsencrypt
|
name: letsencrypt
|
||||||
mysql8-data:
|
|
||||||
name: mysql8-data
|
|
||||||
mysql8-backup:
|
|
||||||
name: mysql8-backup
|
|
||||||
portainer:
|
portainer:
|
||||||
name: portainer
|
name: portainer
|
||||||
|
|
||||||
@@ -59,7 +51,6 @@ services:
|
|||||||
- "traefik.http.services.traefik.loadbalancer.server.port=8080"
|
- "traefik.http.services.traefik.loadbalancer.server.port=8080"
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
- internal
|
|
||||||
|
|
||||||
portainer:
|
portainer:
|
||||||
image: portainer/portainer-ce
|
image: portainer/portainer-ce
|
||||||
@@ -78,19 +69,3 @@ services:
|
|||||||
- "traefik.http.routers.portainer.service=portainer"
|
- "traefik.http.routers.portainer.service=portainer"
|
||||||
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
|
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
|
||||||
|
|
||||||
mysql8:
|
|
||||||
image: mysql:8
|
|
||||||
container_name: mysql8
|
|
||||||
command: --default-authentication-plugin=mysql_native_password
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
MYSQL_ROOT_PASSWORD: "${DB_ROOT_PW}"
|
|
||||||
volumes:
|
|
||||||
- mysql8-data:/var/lib/mysql
|
|
||||||
- mysql8-backup:/var/backups
|
|
||||||
- ${PWD}/mysql_databases.sql:/docker-entrypoint-initdb.d/01_create_databases.sql
|
|
||||||
networks:
|
|
||||||
- internal
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD-SHELL", "mysqladmin ping -uroot -p$$(DB_ROOT_PW)"]
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
# create the databases
|
|
||||||
CREATE DATABASE IF NOT EXISTS `semaphore`;
|
|
||||||
|
|
||||||
# create users and privileges
|
|
||||||
CREATE USER 'semaphore'@'%' IDENTIFIED BY 'Zk5FM#*9uAFzt6n6TGD!';
|
|
||||||
GRANT ALL PRIVILEGES ON semaphore.* TO 'semaphore'@'%';
|
|
||||||
Reference in New Issue
Block a user