Skip to content
Snippets Groups Projects
Commit c4e9ed75 authored by jurgenhaas's avatar jurgenhaas
Browse files

ansible-inventories/lakedrops#64

parent 4f2ee818
No related branches found
No related tags found
No related merge requests found
---
dependencies:
- role: traefik
---
# file: roles/ferdium/tasks/install.yml
- block:
- name: Set facts
set_fact:
appRoot: /apps/ferdium/{{ ferdium.id }}
tags:
- always
- name: Ensure Directories
file:
path: '{{ item }}'
state: directory
with_items:
- '{{ appRoot }}'
- name: Configure Backup
include_role:
name: borgbackup
tasks_from: app
vars:
application: ferdium
application_id: '{{ ferdium.id }}'
application_remote_repo: '{{ ferdium.borgrepo }}'
application_root: '{{ appRoot }}'
application_backup_source: '{{ appRoot }}/config'
when: ferdium.borgrepo is defined
- name: Docker compose file
template:
src: docker-compose.yml
dest: '{{ appRoot }}/docker-compose.yml'
mode: 0664
- name: Restart borgmatic container
command: docker compose up borgmatic -d --force-recreate
args:
chdir: '{{ appRoot }}'
when: ferdium.borgrepo is defined
- name: Start Docker containers
shell: docker compose {{ item }}
args:
chdir: '{{ appRoot }}'
with_items:
- pull --quiet
- up -d
---
# file: roles/ferdium/tasks/main.yml
- name: Ferdium Role
set_fact:
role_ferdium_started: yes
tags:
- always
- block:
- name: Install Ferdium
include_tasks: install.yml
with_items: '{{ ferdium_settings|default([]) }}'
loop_control:
loop_var: ferdium
when: limit_site is not defined or limit_site == 'no' or ferdium.id is not defined or limit_site == ferdium.id
when: not excluded_roles or "ferdium" not in excluded_roles
version: '3.3'
name: ferdium_{{ ferdium.id }}
networks:
traefik-public:
external: true
services:
app:
image: ferdium/ferdium-server:latest
restart: unless-stopped
networks:
- traefik-public
- default
environment:
- NODE_ENV=development
- APP_URL=https://{{ ferdium.domain }}
- DB_CONNECTION=sqlite
- DB_HOST=127.0.0.1
- DB_PORT=3306
- DB_USER=root
- DB_PASSWORD=password
- DB_DATABASE=ferdium
- DB_SSL=false
- MAIL_CONNECTION=smtp
- SMTP_HOST={{ ferdium.smtp.host }}
- SMTP_PORT=25
- MAIL_SSL=false
- MAIL_USERNAME={{ ferdium.smtp.user }}
- MAIL_PASSWORD={{ ferdium.smtp.password }}
- MAIL_SENDER={{ ferdium.smtp.from }}
- IS_CREATION_ENABLED=true
- IS_DASHBOARD_ENABLED=true
- IS_REGISTRATION_ENABLED=true
- CONNECT_WITH_FRANZ=false
- DATA_DIR=/data
- PUID=1000
- PGID=1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- ./data:/data
- ./recipes:/app/recipes
labels:
traefik.enable: 'true'
traefik.docker.network: traefik-public
traefik.http.services.ferdium_lakedrops.loadbalancer.server.port: 3333
traefik.http.routers.ferdium_{{ ferdium.id }}.rule: Host(`{{ ferdium.domain }}`)
traefik.http.routers.ferdium_{{ ferdium.id }}.tls: 'true'
traefik.http.routers.ferdium_{{ ferdium.id }}.tls.certresolver: lakedrops
borgmatic: {{ docker_compose_borgmatic_service }}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment