diff --git a/services/nextcloud/deployment.yaml b/services/nextcloud/deployment.yaml index be43cf4..bc8c767 100644 --- a/services/nextcloud/deployment.yaml +++ b/services/nextcloud/deployment.yaml @@ -46,6 +46,57 @@ spec: - name: nextcloud-config mountPath: /var/www/html/config/extra.config.php subPath: extra.config.php + - name: install-nextcloud + image: nextcloud:29-apache + command: ["/bin/sh", "-c"] + args: + - | + if [ ! -s /var/www/html/config/config.php ]; then + runuser -u www-data -- \ + php /var/www/html/occ maintenance:install \ + --database pgsql \ + --database-host "${POSTGRES_HOST}" \ + --database-name "${POSTGRES_DB}" \ + --database-user "${POSTGRES_USER}" \ + --database-pass "${POSTGRES_PASSWORD}" \ + --admin-user "${NEXTCLOUD_ADMIN_USER}" \ + --admin-pass "${NEXTCLOUD_ADMIN_PASSWORD}" \ + --data-dir "/var/www/html/data" + fi + env: + - name: POSTGRES_HOST + value: postgres-service.postgres.svc.cluster.local + - name: POSTGRES_DB + valueFrom: + secretKeyRef: + name: nextcloud-db + key: database + - name: POSTGRES_USER + valueFrom: + secretKeyRef: + name: nextcloud-db + key: db-username + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: nextcloud-db + key: db-password + - name: NEXTCLOUD_ADMIN_USER + valueFrom: + secretKeyRef: + name: nextcloud-admin + key: admin-user + - name: NEXTCLOUD_ADMIN_PASSWORD + valueFrom: + secretKeyRef: + name: nextcloud-admin + key: admin-password + volumeMounts: + - name: nextcloud-data + mountPath: /var/www/html + - name: nextcloud-config + mountPath: /var/www/html/config/extra.config.php + subPath: extra.config.php containers: - name: nextcloud image: nextcloud:29-apache