#!/bin/bash -x # # NextCloud Service PATH=$HOME/.docker/cli-plugins:/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin config_nextcloud() { echo -ne "\n* Configuring /federated/apps/nextcloud container.." spin & SPINPID=$! if [ ! -d "/federated/apps/nextcloud" ]; then mkdir -p /federated/apps/nextcloud/data/root &> /dev/null mkdir -p /federated/apps/nextcloud/data/home &> /dev/null mkdir -p /federated/apps/nextcloud/data/var/www/html &> /dev/null mkdir -p /federated/apps/nextcloud/data/var/www/html/custom_apps &> /dev/null mkdir -p /federated/apps/nextcloud/data/var/www/config &> /dev/null mkdir -p /federated/apps/nextcloud/data/var/www/data &> /dev/null mkdir -p /federated/apps/nextcloud/data/usr/local/etc/php/conf.d &> /dev/null fi cat > /federated/apps/nextcloud/docker-compose.yml < /federated/apps/nextcloud/.postgresql.secret echo "$ADMINPASS" > /federated/apps/nextcloud/.nextcloud.secret chmod 600 /federated/apps/nextcloud/.postgresql.secret /federated/apps/nextcloud/.nextcloud.secret cat > /federated/apps/nextcloud/.env < /federated/apps/nextcloud/data/usr/local/etc/php/conf.d/opcache-recommended.ini < /federated/apps/nextcloud/data/usr/local/etc/php/conf.d/docker-php-ext-apcu.ini < /federated/apps/nextcloud/data/configs.json < /federated/apps/nextcloud/data/config.sh < /dev/null echo -ne "done." } start_nextcloud() { # Start service with command to make sure it's up before proceeding start_service "nextcloud" "nc -z 172.99.0.18 80 &> /dev/null" "35" # Move config.sh and sidemenu config, set config.sh executable mv /federated/apps/nextcloud/data/config.sh /federated/apps/nextcloud/data/configs.json /federated/apps/nextcloud/data/var/www/html/ docker exec nextcloud chown www-data:root /var/www/html/config.sh /var/www/html/configs.json docker exec nextcloud chmod 755 /var/www/html/config.sh [ $? -ne 0 ] && fail "Couldn't chown config.sh in /federated/apps/nextcloud container" # Run config.sh - Setup LDAP, configuration for nextcloud docker exec -u 33 nextcloud /var/www/html/config.sh &> /dev/null [ $? -ne 0 ] && fail "Couldn't run config.sh inside /federated/apps/nextcloud container" # Add admin user to group # Have to do it this many times so it will query LDAP and populate admin user first docker exec -u 33 nextcloud /var/www/html/occ ldap:search admin docker exec -u 33 nextcloud /var/www/html/occ group:list docker exec -u 33 nextcloud /var/www/html/occ group:adduser admin admin docker exec -u 33 nextcloud /var/www/html/occ group:adduser admin admin docker exec -u 33 nextcloud /var/www/html/occ group:list # Setup admin email account docker exec -u 33 nextcloud bash -c "/var/www/html/occ mail:account:create admin admin admin@$DOMAIN mail.$DOMAIN 993 ssl admin@$DOMAIN $ADMINPASS mail.$DOMAIN 465 ssl admin@$DOMAIN $ADMINPASS password" &> /dev/null # Add missing indexes and disable activity app docker exec -u 33 nextcloud /var/www/html/occ db:add-missing-indices docker exec -u 33 nextcloud /var/www/html/occ app:disable activity # Remove configs rm /federated/apps/nextcloud/data/var/www/html/config.sh /federated/apps/nextcloud/data/var/www/html/configs.json kill -9 $SPINPID &> /dev/null echo -ne "done." }