25 lines
1.5 KiB
Markdown
25 lines
1.5 KiB
Markdown
|
Best not to use bind mounts with volumes. Better to use bindfs outside of docker to mount them elsewhere with an owner map. Install if need be
|
||
|
|
||
|
on host make a nextcloud user with id 82 (which is www-data in fpm-alpine container)
|
||
|
|
||
|
must run bindfs as sudo for mapping
|
||
|
|
||
|
sudo bindfs --map=nextcloud/sysadmin /var/lib/docker/volumes/nextcloud_user-files/_data /data/nextcloud/user-files
|
||
|
sudo bindfs --map=nextcloud/sysadmin /var/lib/docker/volumes/nextcloud_src/_data /data/nextcloud/src
|
||
|
<!-- sudo bindfs --map=nextcloud/sysadmin /var/lib/docker/volumes/nextcloud_user-files/_data /data/nextcloud/user-files -->
|
||
|
|
||
|
sudo mv
|
||
|
sudo bindfs -o nonempty --map=sysadmin/nextcloud /data/nextcloud/user-files /var/lib/docker/volumes/nextcloud_user-files/_data
|
||
|
|
||
|
sudo bindfs -u nextcloud -g nextcloud /data/nextcloud/user-files /var/lib/docker/volumes/nextcloud_user-files/_data
|
||
|
bindfs -u nextcloud -g nextcloud /data/nextcloud/src /var/lib/docker/volumes/nextcloud_user-src/_data
|
||
|
|
||
|
# adding container directory
|
||
|
apk add bindfs --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing
|
||
|
addgroup --gid 1000 host && \
|
||
|
adduser -u 1000 -G host -g "" -D -H host && \
|
||
|
mkdir -p /source && \
|
||
|
mkdir -p /user-files &&\
|
||
|
bindfs --force-user=host --force-group=host --create-for-user=www-data --create-for-group=www-data --chown-ignore --chgrp-ignore /var/www/html /source &&\
|
||
|
bindfs --force-user=host --force-group=host --create-for-user=www-data --create-for-group=www-data --chown-ignore --chgrp-ignore /var/www/data /user-files
|