Fixes #1: Vorschlag für ein docker-compose #3
15
handlers/main.yml
Normal file
15
handlers/main.yml
Normal file
@ -0,0 +1,15 @@
|
||||
# SPDX-FileCopyrightText: 2021 WTF Kooperative eG <https://wtf-eg.de/>
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
---
|
||||
- name: docker-compose up -d for ki
|
||||
become: true
|
||||
ansible.builtin.command:
|
||||
cmd: docker-compose up -d
|
||||
chdir: /var/docker/ki
|
||||
- name: docker-compose restart for ki
|
||||
become: true
|
||||
ansible.builtin.command:
|
||||
cmd: docker-compose restart
|
||||
chdir: /var/docker/ki
|
@ -3,10 +3,6 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
---
|
||||
- name: be sure the ki network exists
|
||||
community.general.docker_network:
|
||||
name: ki
|
||||
|
||||
- name: "be sure the {{ item }} volume exists"
|
||||
docker_volume:
|
||||
name: "{{ item }}"
|
||||
@ -14,66 +10,42 @@
|
||||
- ki_data
|
||||
- ki_db
|
||||
|
||||
- name: be sure the ki config directory exists
|
||||
- name: be sure the ki docker directory exists
|
||||
become: true
|
||||
file:
|
||||
path: /etc/ki
|
||||
path: /var/docker/ki
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0755"
|
||||
|
||||
- name: be sure the ki config directory exists
|
||||
become: true
|
||||
file:
|
||||
path: /var/docker/ki/data
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0755"
|
||||
|
||||
- name: docker-compose file for services
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: /var/docker/ki/docker-compose.yml
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
notify:
|
||||
- docker-compose up -d for ki
|
||||
|
||||
- name: be sure the ki-frontend config file is in place
|
||||
become: true
|
||||
template:
|
||||
src: frontend.js
|
||||
dest: /etc/ki/frontend.js
|
||||
dest: /var/docker/ki/data/frontend.js
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0655"
|
||||
|
||||
- name: be sure the ki_database container is running
|
||||
community.general.docker_container:
|
||||
name: ki_db
|
||||
image: "{{ ki_db_image }}"
|
||||
pull: no
|
||||
restart_policy: unless-stopped
|
||||
env:
|
||||
MYSQL_ROOT_PASSWORD: "{{ ki_db_root_password }}"
|
||||
MYSQL_DATABASE: ki
|
||||
MYSQL_USER: ki
|
||||
MYSQL_PASSWORD: "{{ ki_db_password }}"
|
||||
volumes:
|
||||
- ki_db:/var/lib/mysql/
|
||||
networks:
|
||||
- name: ki
|
||||
|
||||
- name: be sure the ki_backend container is running
|
||||
community.general.docker_container:
|
||||
name: ki_backend
|
||||
image: "{{ ki_backend_image }}"
|
||||
pull: yes
|
||||
restart_policy: unless-stopped
|
||||
env:
|
||||
SQLALCHEMY_DATABASE_URI: "mariadb+pymysql://ki:{{ ki_db_password }}@ki_db:3306/ki"
|
||||
FLASK_ENV: "development"
|
||||
KI_LOGLEVEL: "10"
|
||||
KI_AUTH: "file"
|
||||
CORS_ORIGINS: "{{ ki_frontend_uri }}"
|
||||
ports:
|
||||
- "{{ ki_backend_port }}:5000"
|
||||
volumes:
|
||||
- ki_data:/app/data/
|
||||
networks:
|
||||
- name: ki
|
||||
|
||||
- name: be sure the ki_frontend container is running
|
||||
community.general.docker_container:
|
||||
name: ki_frontend
|
||||
image: "{{ ki_frontend_image }}"
|
||||
pull: yes
|
||||
restart_policy: unless-stopped
|
||||
ports:
|
||||
- "{{ ki_frontend_port }}:80"
|
||||
volumes:
|
||||
- /etc/ki/frontend.js:/usr/share/nginx/html/config.js
|
||||
notify:
|
||||
- docker-compose restart for ki
|
||||
|
42
templates/docker-compose.yml.j2
Normal file
42
templates/docker-compose.yml.j2
Normal file
@ -0,0 +1,42 @@
|
||||
# Deployed through Ansible
|
||||
version: '3'
|
||||
services:
|
||||
ki_db:
|
||||
image: {{ ki_db_image }}
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- "MYSQL_ROOT_PASSWORD={{ ki_db_root_password }}"
|
||||
- "MYSQL_DATABASE=ki"
|
||||
- "MYSQL_USER=ki"
|
||||
- "MYSQL_PASSWORD={{ ki_db_password }}"
|
||||
volumes:
|
||||
- ki_db:/var/lib/mysql/
|
||||
networks:
|
||||
- ki
|
||||
ki_backend:
|
||||
image: {{ ki_backend_image }}
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- "SQLALCHEMY_DATABASE_URI=mariadb+pymysql://ki:{{ ki_db_password }}@ki_db:3306/ki"
|
||||
- "FLASK_ENV=development"
|
||||
- "KI_LOGLEVEL=10"
|
||||
- "KI_AUTH=file"
|
||||
- "CORS_ORIGINS={{ ki_frontend_uri }}"
|
||||
ports:
|
||||
- "127.0.0.1:{{ ki_backend_port }}:5000"
|
||||
volumes:
|
||||
- ki_data:/app/data/
|
||||
networks:
|
||||
- ki
|
||||
ki_frontend:
|
||||
image: {{ ki_frontend_image }}
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:{{ ki_frontend_port }}:80"
|
||||
volumes:
|
||||
- ./data/frontend.js:/usr/share/nginx/html/config.js
|
||||
networks:
|
||||
- default
|
||||
networks:
|
||||
default: {}
|
||||
ki: {}
|
Loading…
Reference in New Issue
Block a user