changed
This commit is contained in:
21
ansible/playbooks/apps.yaml
Normal file
21
ansible/playbooks/apps.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
- hosts: all
|
||||
become: true
|
||||
vars:
|
||||
app_dir: /opt/docker/snake
|
||||
|
||||
tasks:
|
||||
- name: Create app directory
|
||||
file:
|
||||
path: "{{ app_dir }}"
|
||||
state: directory
|
||||
|
||||
- name: Copy snake app
|
||||
copy:
|
||||
src: ../../docker/snake/
|
||||
dest: "{{ app_dir }}"
|
||||
|
||||
- name: Start snake app
|
||||
command: docker compose up -d
|
||||
args:
|
||||
chdir: "{{ app_dir }}"
|
||||
22
ansible/playbooks/docker.yaml
Normal file
22
ansible/playbooks/docker.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
- hosts: all
|
||||
become: true
|
||||
|
||||
tasks:
|
||||
- name: Install required packages
|
||||
apt:
|
||||
name:
|
||||
- ca-certificates
|
||||
- curl
|
||||
update_cache: yes
|
||||
|
||||
- name: Install Docker
|
||||
shell: curl -fsSL https://get.docker.com | sh
|
||||
args:
|
||||
creates: /usr/bin/docker
|
||||
|
||||
- name: Enable Docker
|
||||
systemd:
|
||||
name: docker
|
||||
enabled: true
|
||||
state: started
|
||||
21
ansible/playbooks/monitoring.yaml
Normal file
21
ansible/playbooks/monitoring.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
- hosts: all
|
||||
become: true
|
||||
vars:
|
||||
monitor_dir: /opt/docker/monitoring
|
||||
|
||||
tasks:
|
||||
- name: Create monitoring directory
|
||||
file:
|
||||
path: "{{ monitor_dir }}"
|
||||
state: directory
|
||||
|
||||
- name: Copy monitoring stack
|
||||
copy:
|
||||
src: ../../docker/monitoring/
|
||||
dest: "{{ monitor_dir }}"
|
||||
|
||||
- name: Start monitoring
|
||||
command: docker compose up -d
|
||||
args:
|
||||
chdir: "{{ monitor_dir }}"
|
||||
@@ -1,94 +0,0 @@
|
||||
- name: Deploy Dockerized WordPress and MySQL using images from GitLab and Harbor
|
||||
hosts: all
|
||||
become: true
|
||||
gather_facts: true
|
||||
remote_user: root
|
||||
|
||||
vars:
|
||||
wordpress_image: "gitlab.noris.net:5050/smartika/aop1-projekte:latest"
|
||||
db_image: "harbor.noris.net/docker.io/library/mariadb:11"
|
||||
project_name: wordpress_stack
|
||||
mysql_root_password: "changeme" # replace securely in real usage
|
||||
|
||||
tasks:
|
||||
|
||||
- name: Install Docker and dependencies
|
||||
apt:
|
||||
name:
|
||||
- docker.io
|
||||
- python3-pip
|
||||
- python3-requests
|
||||
- docker-compose
|
||||
- ca-certificates
|
||||
- curl
|
||||
- gnupg
|
||||
- lsb-release
|
||||
state: present
|
||||
update_cache: yes
|
||||
|
||||
- name: Ensure Docker is running
|
||||
systemd:
|
||||
name: docker
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: Login to GitLab container registry
|
||||
community.docker.docker_login:
|
||||
registry_url: gitlab.noris.net:5050
|
||||
username: "{{ gitlab_username }}"
|
||||
password: "{{ gitlab_password }}"
|
||||
no_log: true
|
||||
|
||||
- name: Login to Harbor container registry
|
||||
community.docker.docker_login:
|
||||
registry_url: harbor.noris.net
|
||||
username: "{{ gitlab_username }}"
|
||||
password: "{{ gitlab_password }}"
|
||||
no_log: true
|
||||
|
||||
- name: Pull WordPress image
|
||||
community.docker.docker_image:
|
||||
name: "{{ wordpress_image }}"
|
||||
source: pull
|
||||
|
||||
- name: Pull MariaDB image
|
||||
community.docker.docker_image:
|
||||
name: "{{ db_image }}"
|
||||
source: pull
|
||||
|
||||
- name: Run WordPress + MariaDB stack using docker_compose
|
||||
community.docker.docker_compose:
|
||||
project_name: "{{ project_name }}"
|
||||
recreate: always
|
||||
remove_orphans: true
|
||||
pull: yes
|
||||
definition:
|
||||
version: "3.8"
|
||||
services:
|
||||
db:
|
||||
image: "{{ db_image }}"
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_DATABASE: wordpress
|
||||
MYSQL_USER: wordpress
|
||||
MYSQL_PASSWORD: "{{ mysql_root_password }}"
|
||||
MYSQL_ROOT_PASSWORD: "{{ mysql_root_password }}"
|
||||
volumes:
|
||||
- db_data:/var/lib/mysql
|
||||
|
||||
wordpress:
|
||||
image: "{{ wordpress_image }}"
|
||||
ports:
|
||||
- "1337:80"
|
||||
environment:
|
||||
WORDPRESS_DB_HOST: db
|
||||
WORDPRESS_DB_USER: wordpress
|
||||
WORDPRESS_DB_PASSWORD: "{{ mysql_root_password }}"
|
||||
WORDPRESS_DB_NAME: wordpress
|
||||
volumes:
|
||||
- wp_data:/data
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
db_data: {}
|
||||
wp_data: {}
|
||||
Reference in New Issue
Block a user