changed from embedded ansible docker to docker-compose files

This commit is contained in:
Kevin Veen-Birkenbach 2022-02-02 12:12:08 +01:00
parent 217135cf52
commit 535d2e797e
9 changed files with 195 additions and 107 deletions

View File

@ -0,0 +1,8 @@
---
- name: recreate gitea
command:
cmd: docker-compose -p gitea up -d --force-recreate
chdir: /home/administrator/docker-compose/gitea/
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

@ -6,45 +6,12 @@
template: src=roles/native-docker-reverse-proxy/templates/domain.conf.j2 dest=/etc/nginx/conf.d/{{domain}}.conf
notify: restart nginx
- name: container present
docker_compose:
project_name: gitea
definition:
application:
restart: always
image: gitea/gitea:latest
log_driver: journald
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST=database:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD={{gitea_database_password}}
- SSH_PORT={{ssh_port}}
- SSH_LISTEN_PORT=22
- DOMAIN={{domain}}
- SSH_DOMAIN={{domain}}
- RUN_MODE="{{run_mode}}"
- ROOT_URL="https://{{domain}}/"
ports:
- "127.0.0.1:{{http_port}}:3000"
- "{{ssh_port}}:22"
links:
- database
volumes:
- gitea-data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
database:
image: mariadb
log_driver: journald
environment:
MYSQL_DATABASE: "gitea"
MYSQL_USER: "gitea"
MYSQL_PASSWORD: "{{gitea_database_password}}"
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
volumes:
- gitea-database:/var/lib/mysql
restart: always
- name: "create /home/administrator/docker-compose/gitea/"
file:
path: "/home/administrator/docker-compose/gitea/"
state: directory
mode: 0755
- name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest=/home/administrator/docker-compose/gitea/docker-compose.yml
notify: recreate gitea

View File

@ -0,0 +1,56 @@
version: '3'
services:
application:
logging:
driver: journald
restart: always
image: gitea/gitea:latest
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST=database:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD={{gitea_database_password}}
- SSH_PORT={{ssh_port}}
- SSH_LISTEN_PORT=22
- DOMAIN={{domain}}
- SSH_DOMAIN={{domain}}
- RUN_MODE="{{run_mode}}"
- ROOT_URL="https://{{domain}}/"
ports:
- "127.0.0.1:{{http_port}}:3000"
- "{{ssh_port}}:22"
links:
- database
volumes:
- data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
depends_on:
- database
database:
logging:
driver: journald
image: mariadb
restart: always
environment:
MYSQL_DATABASE: "gitea"
MYSQL_USER: "gitea"
MYSQL_PASSWORD: "{{gitea_database_password}}"
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
volumes:
- database:/var/lib/mysql
healthcheck:
test: "/usr/bin/mysql --user=gitea --password={{gitea_database_password}} --execute \"SHOW DATABASES;\""
interval: 3s
timeout: 1s
retries: 5
volumes:
database:
data:
networks:
default:
driver: bridge

View File

@ -0,0 +1,8 @@
---
- name: recreate wordpress
command:
cmd: docker-compose -p wordpress up -d --force-recreate
chdir: /home/administrator/docker-compose/wordpress/
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

@ -11,36 +11,12 @@
loop: "{{domains}}"
notify: restart nginx
- name: "setup wordpress"
environment:
DOCKER_CLIENT_TIMEOUT: 120
COMPOSE_HTTP_TIMEOUT: 120
docker_compose:
project_name: wordpress
definition:
application:
log_driver: journald
image: wordpress
restart: always
ports:
- "127.0.0.1:{{http_port}}:80"
environment:
WORDPRESS_DB_HOST: database:3306
WORDPRESS_DB_USER: "wordpress"
WORDPRESS_DB_PASSWORD: "{{wordpress_database_password}}"
WORDPRESS_DB_NAME: "wordpress"
links:
- database
volumes:
- wordpress-data:/var/www/html
database:
log_driver: journald
image: mariadb
restart: always
environment:
MYSQL_DATABASE: "wordpress"
MYSQL_USER: "wordpress"
MYSQL_PASSWORD: "{{wordpress_database_password}}"
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
volumes:
- wordpress-database:/var/lib/mysql
- name: "create /home/administrator/docker-compose/wordpress/"
file:
path: "/home/administrator/docker-compose/wordpress/"
state: directory
mode: 0755
- name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest=/home/administrator/docker-compose/wordpress/docker-compose.yml
notify: recreate wordpress

View File

@ -0,0 +1,44 @@
version: '3'
services:
application:
logging:
driver: journald
image: wordpress
restart: always
ports:
- "127.0.0.1:{{http_port}}:80"
environment:
WORDPRESS_DB_HOST: database:3306
WORDPRESS_DB_USER: "wordpress"
WORDPRESS_DB_PASSWORD: "{{wordpress_database_password}}"
WORDPRESS_DB_NAME: "wordpress"
links:
- database
volumes:
- data:/var/www/html
depends_on:
- database
database:
logging:
driver: journald
image: mariadb
restart: always
environment:
MYSQL_DATABASE: "wordpress"
MYSQL_USER: "wordpress"
MYSQL_PASSWORD: "{{wordpress_database_password}}"
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
volumes:
- database:/var/lib/mysql
healthcheck:
test: "/usr/bin/mysql --user=wordpress --password={{wordpress_database_password}} --execute \"SHOW DATABASES;\""
interval: 3s
timeout: 1s
retries: 5
volumes:
database:
data:
networks:
default:
driver: bridge

View File

@ -0,0 +1,8 @@
---
- name: recreate yourls
command:
cmd: docker-compose -p yourls up -d --force-recreate
chdir: /home/administrator/docker-compose/yourls/
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

@ -6,35 +6,12 @@
template: src=roles/native-docker-reverse-proxy/templates/domain.conf.j2 dest=/etc/nginx/conf.d/{{domain}}.conf
notify: restart nginx
- name: "setup yourls"
environment:
DOCKER_CLIENT_TIMEOUT: 120
COMPOSE_HTTP_TIMEOUT: 120
docker_compose:
project_name: yourls
definition:
application:
image: yourls
restart: always
ports:
- "127.0.0.1:{{http_port}}:80"
environment:
YOURLS_DB_HOST: "database:3306"
YOURLS_DB_USER: "yourls"
YOURLS_DB_PASS: "{{yourls_database_password}}"
YOURLS_DB_NAME: "yourls"
YOURLS_SITE: "https://{{domain}}"
YOURLS_USER: "{{yourls_user}}"
YOURLS_PASS: "{{yourls_user_password}}"
links:
- database
database:
image: mariadb
restart: always
environment:
MYSQL_DATABASE: "yourls"
MYSQL_USER: "yourls"
MYSQL_PASSWORD: "{{yourls_database_password}}"
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
volumes:
- yourls-database:/var/lib/mysql
- name: "create /home/administrator/docker-compose/yourls/"
file:
path: "/home/administrator/docker-compose/yourls/"
state: directory
mode: 0755
- name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest=/home/administrator/docker-compose/yourls/docker-compose.yml
notify: recreate yourls

View File

@ -0,0 +1,44 @@
version: '3'
services:
application:
logging:
driver: journald
image: yourls
restart: always
ports:
- "127.0.0.1:{{http_port}}:80"
environment:
YOURLS_DB_HOST: "database:3306"
YOURLS_DB_USER: "yourls"
YOURLS_DB_PASS: "{{yourls_database_password}}"
YOURLS_DB_NAME: "yourls"
YOURLS_SITE: "https://{{domain}}"
YOURLS_USER: "{{yourls_user}}"
YOURLS_PASS: "{{yourls_user_password}}"
links:
- database
depends_on:
- database
database:
logging:
driver: journald
image: mariadb
restart: always
environment:
MYSQL_DATABASE: "yourls"
MYSQL_USER: "yourls"
MYSQL_PASSWORD: "{{yourls_database_password}}"
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
volumes:
- database:/var/lib/mysql
healthcheck:
test: "/usr/bin/mysql --user=yourls --password={{yourls_database_password}} --execute \"SHOW DATABASES;\""
interval: 3s
timeout: 1s
retries: 5
volumes:
database:
networks:
default:
driver: bridge