I apologise in advance for any ignorance, but my Nextcloud (fpm-alpine) instance in Docker on MacOS is no longer working.
I have actually been running it successfully and reliably for a couple of years, but recently started getting an error 500 when trying to load the site.
Out of a certain amount of frustration and after spending a number of hours trying to fix it, I have ended up clearing the entire installation and trying from scratch - including wiping the Mac that it was installed on.
However I am still getting an Error 500 and I cannot work out why, for the life of me.
I can’t find anything in the nginx error logs of the Web or Proxy container, but have managed to find the following entry in the nextcloud.log log in my app container, which appears every time I try to access the site:
{“reqId”:“wilXwsefDlINHEKklBuq”,“level”:3,“time”:“2022-03-13T21:35:01+00:00”,“remoteAddr”:“”,“user”:“–”,“app”:“cron”,“method”:“”,“url”:“–”,“message”:“Not installed”,“userAgent”:“–”,“version”:“”,“exception”:{“Exception”:“Exception”,“Message”:“Not installed”,“Code”:0,“Trace”:[{“file”:“/var/www/html/lib/base.php”,“line”:649,“function”:“checkInstalled”,“class”:“OC”,“type”:“::”,“args”:[{“class”:“OC\SystemConfig”}]},{“file”:“/var/www/html/lib/base.php”,“line”:1087,“function”:“init”,“class”:“OC”,“type”:“::”,“args”:},{“file”:“/var/www/html/cron.php”,“line”:43,“args”:[“/var/www/html/lib/base.php”],“function”:“require_once”}],“File”:“/var/www/html/lib/base.php”,“Line”:277,“CustomMessage”:“–”}}
I’m afraid out of my ignorance, I’m not exactly sure why this is happening and whether this is the root cause of the issue, although as it keeps happening everytime I access the site, and I can’t find any other logs indicating an error, I imagine it has something to do with it!
I also can’t work out how to rectify such an entry!
Is anyone able to help me with this at all or has experienced a similar issue?
I am currently running Docker Desktop 4.5.0 (74594).
My docker-compose.yml file is:
version: '3'
services:
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
- /Volumes/DR-1/Backups.other/NC-MariaDB:/var/NC-MariaDB
environment:
- MYSQL_ROOT_PASSWORD=[PASSWORD REDACTED]
env_file:
- db.env
ports:
- 3307:3306
redis:
image: redis:alpine
restart: always
command: redis-server --requirepass [PASSWORD REDACTED]
app:
build: .
restart: always
volumes:
- nextcloud:/var/www/html
- /Volumes/DR-2/Nextcloud:/var/www/html/data
- /Volumes/DR-2:/var/Volumes/DR-2
- /Volumes/DR-3:/var/Volumes/DR-3
- /Volumes/DR-4:/var/Volumes/DR-4
environment:
- MYSQL_HOST=db
- REDIS_HOST=redis
- REDIS_HOST_PASSWORD=[PASSWORD REDACTED]
- NEXTCLOUD_OVERWRITEPROTOCOL=https
- NEXTCLOUD_OVERWRITEHOST=[HOST REDACTED]
env_file:
- db.env
depends_on:
- db
- redis
web:
build: ./web
restart: always
volumes:
- nextcloud:/var/www/html:ro
environment:
- VIRTUAL_HOST=[DOMAIN HOST REDACTED]
- LETSENCRYPT_HOST=[DOMAIN HOST REDACTED]
- LETSENCRYPT_EMAIL=[EMAIL REDACTED]
depends_on:
- app
networks:
- proxy-tier
- default
proxy:
build: ./proxy
restart: always
ports:
- 80:80
- 443:443
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
volumes:
- certs:/etc/nginx/certs:ro
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- proxy-tier
letsencrypt-companion:
image: nginxproxy/acme-companion
restart: always
volumes:
- certs:/etc/nginx/certs
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- proxy-tier
depends_on:
- proxy
volumes:
db:
nextcloud:
certs:
vhost.d:
html:
networks:
proxy-tier:
And my Dockerfile is:
FROM nextcloud:fpm-alpine
RUN set -ex; \
\
apk add --no-cache \
ffmpeg \
imagemagick \
procps \
samba-client \
supervisor \
# libreoffice \
;
RUN set -ex; \
\
apk add --no-cache --virtual .build-deps \
$PHPIZE_DEPS \
imap-dev \
krb5-dev \
openssl-dev \
samba-dev \
bzip2-dev \
; \
\
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-install \
bz2 \
imap \
; \
pecl install smbclient; \
docker-php-ext-enable smbclient; \
\
runDeps="$( \
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
| tr ',' '\n' \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del .build-deps
RUN mkdir -p \
/var/log/supervisord \
/var/run/supervisord \
;
COPY supervisord.conf /
ENV NEXTCLOUD_UPDATE=1
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]