forked from kompetenzinventar/ki-ansible
switch to docker-compose :ugly:
This commit is contained in:
parent
a6b4bd127b
commit
dd2e11392b
11
Pipfile
Normal file
11
Pipfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[[source]]
|
||||||
|
url = "https://pypi.org/simple"
|
||||||
|
verify_ssl = true
|
||||||
|
name = "pypi"
|
||||||
|
|
||||||
|
[packages]
|
||||||
|
|
||||||
|
[dev-packages]
|
||||||
|
|
||||||
|
[requires]
|
||||||
|
python_version = "3.8"
|
@ -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
7
templates/config.js.j2
Normal 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 }}'
|
||||||
|
}
|
48
templates/docker-compose.yml.j2
Normal file
48
templates/docker-compose.yml.j2
Normal 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/
|
Loading…
Reference in New Issue
Block a user