Changes made for out Project
This commit is contained in:
94
ansible/playbooks/playbook.yaml
Normal file
94
ansible/playbooks/playbook.yaml
Normal file
@@ -0,0 +1,94 @@
|
||||
- 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