diff --git a/roles/.DS_Store b/roles/.DS_Store new file mode 100644 index 0000000..d230230 Binary files /dev/null and b/roles/.DS_Store differ diff --git a/roles/configure-php/tasks/main.yml b/roles/configure-php/tasks/main.yml index 57e35e6..53c9f9d 100644 --- a/roles/configure-php/tasks/main.yml +++ b/roles/configure-php/tasks/main.yml @@ -1,5 +1,4 @@ --- - - name: PHP ini setup copy: src: files/php{{ php_version }}.ini diff --git a/roles/setup-containers/files/mysql.j2 b/roles/setup-containers/files/mysql.j2 new file mode 100644 index 0000000..c827fa2 --- /dev/null +++ b/roles/setup-containers/files/mysql.j2 @@ -0,0 +1,19 @@ +version: '3' + +services: + db: + container_name: mysql8 + image: mysql:8.0 + command: mysqld --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci + ports: + - '127.0.0.1:3306:3306' + environment: + MYSQL_ROOT_PASSWORD: {{ mysql_root_pass }} + MYSQL_DATABASE: {{ mysql_db }} + MYSQL_USER: {{ mysql_user }} + MYSQL_PASSWORD: {{ mysql_user_pass }} + volumes: + - '/opt/docker/mysql:/var/lib/mysql' + mem_limit: {{ mysql_mem_limit }}M + mem_reservation: {{ mysql_mem_reserve }}M + restart: always \ No newline at end of file diff --git a/roles/setup-containers/files/redis.j2 b/roles/setup-containers/files/redis.j2 new file mode 100644 index 0000000..719f262 --- /dev/null +++ b/roles/setup-containers/files/redis.j2 @@ -0,0 +1,12 @@ +version: '3' + +services: + cache: + container_name: redis + image: redis:6.2-alpine + restart: always + ports: + - '127.0.0.1:6379:6379' + command: redis-server --loglevel warning --requirepass {{ redis_pass }} + volumes: + - /opt/docker/redis:/data \ No newline at end of file diff --git a/roles/setup-containers/tasks/main.yml b/roles/setup-containers/tasks/main.yml new file mode 100644 index 0000000..9991602 --- /dev/null +++ b/roles/setup-containers/tasks/main.yml @@ -0,0 +1,40 @@ +--- +- name: Create compose dir + file: + path: /opt/docker/compose-files + state: directory + mode: '0755' + +- name: Create MySQL dirs + file: + path: /opt/docker/compose-files/mysql + state: directory + mode: '0755' + +- name: Create MySQL dirs + file: + path: /opt/docker/mysql + state: directory + mode: '0755' + +- name: Copy MySQL compose file + template: + src: files/mysql.j2 + dest: /opt/docker/compose-files/mysql/docker-compose.yaml + +- name: Create Redis dirs + file: + path: /opt/docker/compose-files/redis + state: directory + mode: '0755' + +- name: Create Redisdirs + file: + path: /opt/docker/redis + state: directory + mode: '0755' + +- name: Copy Redis compose file + template: + src: files/redis.j2 + dest: /opt/docker/compose-files/redis/docker-compose.yml \ No newline at end of file diff --git a/setup_server.yml b/setup_server.yml index 3119c5c..77f5d6b 100644 --- a/setup_server.yml +++ b/setup_server.yml @@ -12,4 +12,5 @@ - role: install-php - role: configure-php - role: install-wordpress - - role: install-docker \ No newline at end of file + - role: install-docker + - role: setup-containers \ No newline at end of file diff --git a/vars/external.yml b/vars/external.yml index b31ecb6..814bb05 100644 --- a/vars/external.yml +++ b/vars/external.yml @@ -2,4 +2,11 @@ php_version: 8.1 vhost_name: projectwp domain: projectwp.com -db_pwd: 123456 \ No newline at end of file +db_pwd: 123456 +mysql_mem_limit: 1024 +mysql_mem_reserve: 512 +mysql_root_pass: xyz +mysql_db: projectwp +mysql_user: projectwp +mysql_user_pass: xyz +redis_pass: xyz \ No newline at end of file