Browse Source

setups

master
Dirk Wirts 2 years ago
parent
commit
6c8e197aaf
  1. 74
      setups/ansible-setup_project_directory.yml
  2. 48
      setups/docker-compose.yml
  3. 8
      setups/dockerfile

74
setups/ansible-setup_project_directory.yml

@ -0,0 +1,74 @@
---
- name: Setup project directory with host_vars for three hosts
hosts: localhost
gather_facts: no
tasks:
- name: Create project directories
file:
path: "{{ item }}"
state: directory
mode: '0755'
with_items:
- "project/host_vars/host1"
- "project/host_vars/host2"
- "project/host_vars/host3"
- name: Define host_vars for each host
copy:
dest: "project/host_vars/{{ item.host }}/vars.yml"
content: |
interface_name: "Wired connection 1"
static_ip: "{{ item.static_ip }}"
netmask: "255.255.255.0"
gateway: 172.20.1.251
dns_servers:
- 172.20.1.251
- 172.20.1.10
- 172.20.1.11
- 8.8.8.8
new_hostname: "ansible-test02"
timezone: "Europe/Berlin"
required_pkgs:
- ufw
- fail2ban
- net-tools
- p7zip-full
- pigz
- htop
- iotop
- bash-completion
- rsync
- sudo
- nano
- vim
- screen
- curl
- gnupg2
- apache2-utils
- mariadb-client
- git
- sshpass
ssh_ips:
- "195.192.223.212" # Ratingen
- "87.128.173.178" # Essen
- "94.79.143.149" # Dirk
tcp_ports:
- "22"
- "6789"
- "8080"
- "8443"
- "8843"
- "8880"
udp_ports:
- "3478"
ssh_pub_key: "<pub-key-from-client>"
admin_users:
- name: admin-johannes
- name: admin-daniel
- name: admin-dirk
- name: admin-martin
groups_to_add: "sudo,docker"
loop:
- { host: "host1", static_ip: "172.20.1.32" }
- { host: "host2", static_ip: "172.20.1.33" }
- { host: "host3", static_ip: "172.20.1.34" }

48
setups/docker-compose.yml

@ -0,0 +1,48 @@
---
############ - Ansible Semaphore
volumes:
semaphore-mysql:
driver: local
services:
mysql:
image: mysql:8.0
hostname: mysql
volumes:
- ./semaphore-mysql:/var/lib/mysql
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=yes
- MYSQL_DATABASE=semaphore
- MYSQL_USER=semaphore
- MYSQL_PASSWORD=0semaphore # change!
restart: unless-stopped
semaphore:
container_name: ansiblesemaphore
# image: ghcr.io/andygeorge/semaphore-pip-ansible:latest
# image: semaphoreui/semaphore:latest
# build: .
image: new-semaphore
user: "${UID}:${GID}"
ports:
- 3000:3000
environment:
- SEMAPHORE_DB_USER=semaphore
- SEMAPHORE_DB_PASS=0semaphore # change!
- SEMAPHORE_DB_HOST=mysql
- SEMAPHORE_DB_PORT=3306
- SEMAPHORE_DB_DIALECT=mysql
- SEMAPHORE_DB=semaphore
- SEMAPHORE_PLAYBOOK_PATH=/tmp/semaphore/
- SEMAPHORE_ADMIN_PASSWORD=hawkmoon # change!
- SEMAPHORE_ADMIN_NAME=admin
- SEMAPHORE_ADMIN_EMAIL=admin@localhost
- SEMAPHORE_ADMIN=admin
- SEMAPHORE_ACCESS_KEY_ENCRYPTION=ojRTz3NtFjZdqxkSuWPVbpUpqeEMNsu8qiEgQZ4+in0= # add to your access key encryption !
- ANSIBLE_HOST_KEY_CHECKING=false # (optional) change to true if you want to enable host key checking
volumes:
- ./inventory/:/inventory:ro
- ./authorized-keys/:/authorized-keys:ro
- ./config/:/etc/semaphore:rw
restart: unless-stopped
depends_on:
- mysql

8
setups/dockerfile

@ -0,0 +1,8 @@
# Anpassung für die zusätzlich zu installierenden libs
FROM semaphoreui/semaphore:latest
USER root
RUN apk add --no-cache python3 py3-pip
RUN pip install pywinrm jmespath netaddr passlib requests matrix_client
USER semaphore
Loading…
Cancel
Save