nextcloud-pkgs:
  pkg.installed:
    - pkgs:
      - nextcloud
      - php-gd
      - php-intl
      - php-imagick
      - nginx
      - openldap

nextcloud-nginx-confd:
  file.directory:
    - name: /etc/nginx/conf.d/
    - user: root
    - group: root
    - mode: 755
    - makedirs: true

/home/nextcloud/:
  file.directory:
    - user: nextcloud
    - group: nextcloud
    - mode: 755

/home/nextcloud/.bashrc:
  file.managed:
    - source: salt://roles/maintain/nextcloud/bashrc
    - user: nextcloud
    - group: nextcloud
    - mode: 644

/var/log/php-fpm/access/:
  file.directory:
    - user: root
    - group: root
    - mode: 755
    - makedirs: true

nginx-service:
  service.running:
    - name: nginx
    - watch:
      - file: /etc/nginx/conf.d/nextcloud.conf

/etc/systemd/system/nextcloud-cron.service.d/:
  file.directory:
    - user: root
    - group: root
    - mode: 755

/etc/systemd/system/php-fpm.service.d/:
  file.directory:
    - user: root
    - group: root
    - mode: 755  

/var/lib/nextcloud/sessions/:
  file.directory:
    - user: nextcloud
    - group: nextcloud
    - mode: 700

/etc/webapps/nextcloud/config/config.php:
  file.managed:
    - source: salt://roles/maintain/nextcloud/nextcloud-config.php
    - user: nextcloud
    - group: nextcloud
    - mode: 644
    - replace: false
    - template: jinja
    
/etc/pacman.d/hooks/nextcloud.hook:
  file.managed:
    - source: salt://roles/maintain/nextcloud/nextcloud.hook
    - user: root
    - group: root
    - mode: 644
    - makedirs: true
    
/etc/webapps/nextcloud/php.ini:
  file.managed:
    - source: salt://roles/maintain/nextcloud/nextcloud-php.ini
    - user: nextcloud
    - group: nextcloud
    - mode: 644

/etc/php/php-fpm.ini:
  file.managed:
    - source: salt://roles/maintain/nextcloud/php-fpm.ini
    - user: root
    - group: root
    - mode: 644
    
nextcloud-php-fpm:
  pkg.installed:
    - name: php-fpm
  service.running:
    - name: php-fpm
    - enable: true
    - watch:
      - file: /etc/webapps/nextcloud/php.ini
      - file: /etc/php/php-fpm.ini
      - file: /etc/php/php-fpm.d/nextcloud.conf

/etc/php/php-fpm.d/nextcloud.conf:
  file.managed:
    - source: salt://roles/maintain/nextcloud/php-fpm-nextcloud.conf
    - user: root
    - group: root
    - mode: 644

/etc/nginx/conf.d/nextcloud.conf:
  file.managed:
    - source: salt://roles/maintain/nextcloud/nginx-nextcloud.conf
    - user: root
    - group: root
    - mode: 644

/etc/systemd/system/nextcloud-cron.service.d/override.conf:
  file.managed:
    - source: salt://roles/maintain/nextcloud/cron-override.conf
    - user: root
    - group: root
    - mode: 644

/etc/systemd/system/php-fpm.service.d/override.conf:
  file.managed:
    - source: salt://roles/maintain/nextcloud/php-fpm-override.conf
    - user: root
    - group: root
    - mode: 644

nextcloud-cron.timer:
  service.running:
    - enable: true

mount:
  group.present:
    - gid: 503
    - addusers:
      - nextcloud