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:
|
||||
proxy:
|
||||
external: true
|
||||
internal:
|
||||
external: true
|
||||
semaphore:
|
||||
name: semaphore
|
||||
external: false
|
||||
|
||||
volumes:
|
||||
semaphore:
|
||||
name: semaphore
|
||||
semaphore-db:
|
||||
name: semaphore-db
|
||||
|
||||
services:
|
||||
semaphore:
|
||||
image: ansiblesemaphore/semaphore
|
||||
container_name: semaphore
|
||||
environment:
|
||||
SEMAPHORE_DB_USER: semaphore
|
||||
SEMAPHORE_DB_PASS: Zk5FM#*9uAFzt6n6TGD!
|
||||
SEMAPHORE_DB_HOST: mysql8
|
||||
SEMAPHORE_DB_USER: ${DB_USER}
|
||||
SEMAPHORE_DB_PASS: ${DB_PASS}
|
||||
SEMAPHORE_DB_HOST: semaphore-db
|
||||
SEMAPHORE_DB_PORT: 3306
|
||||
SEMAPHORE_DB: semaphore
|
||||
SEMAPHORE_DB: ${DB_NAME}
|
||||
SEMAPHORE_PLAYBOOKPATH: /tmp/semaphore/
|
||||
SEMAPHORE_ADMIN_PASSWORD: secret
|
||||
SEMAPHORE_ADMIN_NAME: Christian Steinle
|
||||
SEMAPHORE_ADMIN_EMAIL: christiansteinle@arcor.de
|
||||
SEMAPHORE_ADMIN: chris
|
||||
SEMAPHORE_ACCESS_KEY_ENCRYPTION: /Rzt40/8gnKzYNDktdtDRZ8FVDJoF5y4Z1fETIylc7Y=
|
||||
depends_on:
|
||||
- semaphore-db
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
- internal
|
||||
- semaphore
|
||||
volumes:
|
||||
- semaphore:/home/semaphore:rw
|
||||
labels:
|
||||
@@ -39,3 +44,21 @@ services:
|
||||
- "traefik.http.routers.semaphore.service=semaphore"
|
||||
- "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:
|
||||
external: false
|
||||
name: proxy
|
||||
internal:
|
||||
external: false
|
||||
driver: bridge
|
||||
name: internal
|
||||
|
||||
volumes:
|
||||
letsencrypt:
|
||||
name: letsencrypt
|
||||
mysql8-data:
|
||||
name: mysql8-data
|
||||
mysql8-backup:
|
||||
name: mysql8-backup
|
||||
portainer:
|
||||
name: portainer
|
||||
|
||||
@@ -59,7 +51,6 @@ services:
|
||||
- "traefik.http.services.traefik.loadbalancer.server.port=8080"
|
||||
networks:
|
||||
- proxy
|
||||
- internal
|
||||
|
||||
portainer:
|
||||
image: portainer/portainer-ce
|
||||
@@ -78,19 +69,3 @@ services:
|
||||
- "traefik.http.routers.portainer.service=portainer"
|
||||
- "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