alicante-infra/roles/apps_docker/tasks/main.yml

204 lines
5.0 KiB
YAML

---
# Crear todos los directorios de datos
- name: Crear directorios para apps Docker
file:
path: "{{ data_root }}/{{ item }}"
state: directory
mode: '0755'
loop:
- teable
- teable/db
- wikijs
- wikijs/db
- activepieces
- activepieces/db
- leantime
- leantime/db
- vaultwarden
- pretix
- pretix/db
- pretix/redis
- ontime
- opensign
- opensign/db
- metabase
- gotenberg
# TEABLE
- name: Desplegar Teable Stack
community.docker.docker_compose_v2:
project_name: teable
definition:
version: '3.8'
services:
teable-db:
image: postgres:15-alpine
restart: unless-stopped
environment:
POSTGRES_DB: teable
POSTGRES_USER: teable
POSTGRES_PASSWORD: "{{ core_password }}"
volumes:
- "{{ data_root }}/teable/db:/var/lib/postgresql/data"
networks:
- alicante-net
teable:
image: ghcr.io/teableio/teable:latest
restart: unless-stopped
ports:
- "{{ ports.teable }}:3000"
environment:
DATABASE_URL: "postgresql://teable:{{ core_password }}@teable-db:5432/teable"
REDIS_HOST: teable-redis
REDIS_PORT: 6379
PUBLIC_ORIGIN: "http://{{ core_ip }}:{{ ports.teable }}"
volumes:
- "{{ data_root }}/teable:/app/.assets"
networks:
- alicante-net
depends_on:
- teable-db
- teable-redis
teable-redis:
image: redis:7-alpine
restart: unless-stopped
networks:
- alicante-net
networks:
alicante-net:
external: true
# WIKI.JS
- name: Desplegar Wiki.js Stack
community.docker.docker_compose_v2:
project_name: wikijs
definition:
version: '3.8'
services:
wikijs-db:
image: postgres:15-alpine
restart: unless-stopped
environment:
POSTGRES_DB: wikijs
POSTGRES_USER: wikijs
POSTGRES_PASSWORD: "{{ core_password }}"
volumes:
- "{{ data_root }}/wikijs/db:/var/lib/postgresql/data"
networks:
- alicante-net
wikijs:
image: ghcr.io/requarks/wiki:2
restart: unless-stopped
ports:
- "{{ ports.wikijs }}:3000"
environment:
DB_TYPE: postgres
DB_HOST: wikijs-db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: "{{ core_password }}"
DB_NAME: wikijs
networks:
- alicante-net
depends_on:
- wikijs-db
networks:
alicante-net:
external: true
# GOTENBERG
- name: Desplegar Gotenberg
community.docker.docker_container:
name: gotenberg
image: gotenberg/gotenberg:8
restart_policy: unless-stopped
ports:
- "{{ ports.gotenberg }}:3000"
networks:
- name: alicante-net
# METABASE
- name: Desplegar Metabase
community.docker.docker_container:
name: metabase
image: metabase/metabase:latest
restart_policy: unless-stopped
ports:
- "{{ ports.metabase }}:3000"
volumes:
- "{{ data_root }}/metabase:/metabase-data"
env:
MB_DB_FILE: /metabase-data/metabase.db
networks:
- name: alicante-net
# LEANTIME
- name: Desplegar Leantime Stack
community.docker.docker_compose_v2:
project_name: leantime
definition:
version: '3.8'
services:
leantime-db:
image: mysql:8
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: "{{ core_password }}"
MYSQL_DATABASE: leantime
MYSQL_USER: leantime
MYSQL_PASSWORD: "{{ core_password }}"
volumes:
- "{{ data_root }}/leantime/db:/var/lib/mysql"
networks:
- alicante-net
leantime:
image: leantime/leantime:latest
restart: unless-stopped
ports:
- "{{ ports.leantime }}:80"
environment:
LEAN_DB_HOST: leantime-db
LEAN_DB_USER: leantime
LEAN_DB_PASSWORD: "{{ core_password }}"
LEAN_DB_DATABASE: leantime
networks:
- alicante-net
depends_on:
- leantime-db
networks:
alicante-net:
external: true
# VAULTWARDEN
- name: Desplegar Vaultwarden
community.docker.docker_container:
name: vaultwarden
image: vaultwarden/server:latest
restart_policy: unless-stopped
ports:
- "{{ ports.vaultwarden }}:80"
volumes:
- "{{ data_root }}/vaultwarden:/data"
networks:
- name: alicante-net
# ONTIME
- name: Desplegar Ontime
community.docker.docker_container:
name: ontime
image: getontime/ontime:latest
restart_policy: unless-stopped
ports:
- "{{ ports.ontime }}:4001"
volumes:
- "{{ data_root }}/ontime:/data"
networks:
- name: alicante-net