Compare commits

...

2 Commits

  1. 11
      nextcloud/Containerfile
  2. 3
      nextcloud/Systemdfile
  3. 10
      nextcloud/assets/bin/db-make
  4. 8
      nextcloud/assets/nextcloud-db.service

11
nextcloud/Containerfile

@ -22,9 +22,9 @@ ENV DBNAME=nextcloud
###
# install packages we want
RUN apt update -y && apt install -y apache2 php-fpm php-gd php-zip \
php-pgsql php-curl php-mbstring php-intl php-imagick php-xml php-gmp \
php-json redis php-redis postgresql postgresql-doc php-ldap php-bcmath
RUN apt update -y && apt install -y apache2 php-fpm php-gd php-zip php-pgsql \
php-curl php-mbstring php-intl php-imagick php-xml php-gmp php-json \
redis php-redis postgresql postgresql-doc php-ldap php-bcmath cron
# put database variables in /etc/environment so anyone can access them
@ -45,7 +45,7 @@ COPY assets/bin/ /usr/local/bin/
# make sure volume dirs exist, and copy sample data
RUN mkdir -p /vol/data /vol/files
COPY --chown=www-data:www-data assets/data/ /vol/data/
COPY --chown=www-data:www-data data/ /vol/data/
###
### PHP
@ -119,6 +119,9 @@ RUN ln -s /vol/data/host.config.php nextcloud/config/host.config.php
# copy nextcloud db service
COPY assets/nextcloud-db.service /etc/systemd/system/
# enable service
RUN systemctl enable nextcloud-db.service
###
### Crontab
###

3
nextcloud/Systemdfile

@ -31,6 +31,3 @@ nc-occ app:disable comments dashboard federation files_trashbin firstrunwizard r
# configure apps
# set calendar to refresh subscriptions once a day (to set to one hour use 'PT1H' instead)
nc-occ config:app:set dav calendarSubscriptionRefreshRate --value P1D
# enable DB service
systemd enable nextcloud-db.service

10
nextcloud/assets/bin/db-make

@ -5,8 +5,8 @@ cmd() {
}
cd /var/lib/postgresql
cmd "DROP DATABASE IF EXISTS $DBNAME;"
cmd "DROP USER IF EXISTS $DBUSER;"
cmd "CREATE USER $DBUSER;"
cmd "CREATE DATABASE $DBNAME;"
cmd "GRANT ALL PRIVILEGES ON DATABASE $DBNAME TO $DBUSER;"
cmd "DROP DATABASE IF EXISTS ${DBNAME:?};"
cmd "DROP USER IF EXISTS ${DBUSER:?};"
cmd "CREATE USER ${DBUSER:?};"
cmd "CREATE DATABASE ${DBNAME:?};"
cmd "GRANT ALL PRIVILEGES ON DATABASE ${DBNAME:?} TO ${DBUSER:?};"

8
nextcloud/assets/nextcloud-db.service

@ -1,14 +1,14 @@
[Unit]
Description=Load/Dump database on start/stop
After=syslog.target
After=network.target
After=postgresql.service
Requires=postgresql.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/bash -c ". /etc/environment && /usr/local/bin/db-load /vol/data/sql/$DBNAME-updown.sql"
ExecStop=/bin/bash -c ". /etc/environment && /usr/local/bin/db-dump /vol/data/sql/$DBNAME-updown.sql"
EnvironmentFile=/etc/environment
ExecStart=/usr/local/bin/db-load /vol/data/sql/nextcloud-updown.sql
ExecStop=/usr/local/bin/db-dump /vol/data/sql/nextcloud-updown.sql
[Install]
WantedBy=multi-user.target

Loading…
Cancel
Save