computer-playbook/roles/docker-nextcloud/tasks/main.yml

80 lines
2.3 KiB
YAML

---
- name: recieve {{domain}} certificate
command: certbot certonly --agree-tos --email {{administrator_email}} --non-interactive --webroot -w /var/lib/letsencrypt/ -d {{domain}}
- name: configure {{domain}}.conf
template: src=templates/nextcloud.conf.j2 dest=/etc/nginx/conf.d/{{domain}}.conf
notify: restart nginx
- name: "create /usr/local/bin/docker-nextcloud/"
file:
path: "/usr/local/bin/docker-nextcloud"
state: directory
mode: 0755
- name: configure nginx.conf
template: src=templates/nginx.conf.j2 dest=/usr/local/bin/docker-nextcloud/nginx.conf
notify: restart nginx
- name: "setup nextcloud"
docker_compose:
project_name: nextcloud
definition:
application:
image: "nextcloud:{{nextcloud_version}}-fpm-alpine"
restart: always
log_driver: journald
links:
- database
volumes:
- nextcloud-data:/var/www/html
# Maybe error in following line
expose:
- "9000"
environment:
COMPOSE_HTTP_TIMEOUT: 120
DOCKER_CLIENT_TIMEOUT: 120
MYSQL_DATABASE: "nextcloud"
MYSQL_USER: "nextcloud"
MYSQL_PASSWORD: "{{nextcloud_database_password}}"
MYSQL_HOST: database:3306
database:
log_driver: journald
image: mariadb
environment:
COMPOSE_HTTP_TIMEOUT: 120
DOCKER_CLIENT_TIMEOUT: 120
MYSQL_DATABASE: "nextcloud"
MYSQL_USER: "nextcloud"
MYSQL_PASSWORD: "{{nextcloud_database_password}}"
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
volumes:
- nextcloud-database:/var/lib/mysql
restart: always
expose:
- "3306"
web:
image: nginx:alpine
log_driver: journald
restart: always
ports:
- "127.0.0.1:{{http_port}}:80"
links:
- application
volumes:
- /usr/local/bin/docker-nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro
volumes_from:
- application
redis:
image: redis:alpine
restart: always
cron:
image: "nextcloud:{{nextcloud_version}}-fpm-alpine"
restart: always
volumes:
- nextcloud-data:/var/www/html
entrypoint: /cron.sh
# depends_on:
# - database
# - redis