switch to docker-compose :ugly:

This commit is contained in:
weeman 2021-08-26 19:49:06 +02:00
parent a6b4bd127b
commit dd2e11392b
Signed by untrusted user: weeman
GPG Key ID: 34F0524D4DA694A1
4 changed files with 76 additions and 60 deletions

11
Pipfile Normal file
View File

@ -0,0 +1,11 @@
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
[dev-packages]
[requires]
python_version = "3.8"

View File

@ -3,77 +3,27 @@
# SPDX-License-Identifier: AGPL-3.0-or-later # 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 }}"
with_items:
- ki_data
- ki_db
- name: be sure the ki config directory exists - name: be sure the ki config directory exists
become: true become: true
file: file:
path: /etc/ki path: /var/docker/ki
state: directory state: directory
owner: root owner: root
group: root group: root
mode: "0755" mode: "0755"
- name: be sure the ki-frontend config file is in place - name: be sure the ki files are in place
become: true become: true
template: template:
src: frontend.js src: "{{ item }}.j2"
dest: /etc/ki/frontend.js dest: "/var/docker/ki/{{ item }}"
owner: root owner: root
group: root group: root
mode: "0655" mode: "0655"
with_items:
- config.js
- docker-compose.yml
- name: be sure the ki_database container is running - name: be sure the ki services are running
community.general.docker_container: community.docker.docker_compose:
name: ki_db project_src: /var/docker/ki
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

7
templates/config.js.j2 Normal file
View File

@ -0,0 +1,7 @@
// SPDX-FileCopyrightText: 2021 WTF Kooperative eG <https://wtf-eg.de/>
//
// SPDX-License-Identifier: AGPL-3.0-or-later
window.ki = {
apiUrl: '{{ ki_backend_uri }}'
}

View File

@ -0,0 +1,48 @@
version: "3"
networks:
ki:
volumes:
ki_data:
ki_db:
services:
backend:
image: "{{ ki_backend_image }}"
restart: unless-stopped
depends_on:
- db
networks:
- ki
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 }}"
volumes:
- ki_data:/app/data/
ports:
- "{{ ki_backend_port }}:5000"
frontend:
image: "{{ ki_frontend_image }}"
restart: unless-stopped
depends_on:
- backend
volumes:
- ./config.js:/usr/share/nginx/html/config.js
ports:
- "{{ ki_frontend_port }}:80"
db:
image: "{{ ki_db_image }}"
restart: unless-stopped
networks:
- ki
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/