mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-10-06 05:24:37 +08:00
Merge pull request #2490 from nextcloud/apache-dockerfile
optimze apache dockerfile
This commit is contained in:
commit
4adb748970
1 changed files with 49 additions and 59 deletions
|
@ -3,83 +3,73 @@ FROM caddy:2.6.4-alpine as caddy
|
||||||
|
|
||||||
FROM httpd:2.4.57-alpine3.17
|
FROM httpd:2.4.57-alpine3.17
|
||||||
|
|
||||||
|
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy
|
||||||
|
|
||||||
|
COPY --chown=www-data:www-data Caddyfile /Caddyfile
|
||||||
|
COPY --chmod=664 nextcloud.conf /usr/local/apache2/conf/nextcloud.conf
|
||||||
|
|
||||||
|
COPY --chmod=664 supervisord.conf /supervisord.conf
|
||||||
|
COPY --chmod=775 start.sh /start.sh
|
||||||
|
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||||
|
|
||||||
|
VOLUME /mnt/data
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apk add --no-cache shadow; \
|
apk add --no-cache shadow; \
|
||||||
groupmod -g 333 xfs; \
|
groupmod -g 333 xfs; \
|
||||||
usermod -u 333 -g 333 xfs; \
|
usermod -u 333 -g 333 xfs; \
|
||||||
groupmod -g 33 www-data; \
|
groupmod -g 33 www-data; \
|
||||||
usermod -u 33 -g 33 www-data; \
|
usermod -u 33 -g 33 www-data; \
|
||||||
apk del --no-cache shadow
|
apk del --no-cache shadow; \
|
||||||
|
\
|
||||||
RUN mkdir -p /mnt/data; \
|
mkdir -p /mnt/data; \
|
||||||
chown www-data:www-data /mnt/data;
|
chown -R www-data:www-data /mnt/data; \
|
||||||
|
\
|
||||||
VOLUME /mnt/data
|
|
||||||
|
|
||||||
RUN set -ex; \
|
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
bash \
|
bash \
|
||||||
supervisor \
|
supervisor \
|
||||||
wget \
|
|
||||||
tzdata \
|
tzdata \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
openssl \
|
openssl \
|
||||||
netcat-openbsd
|
netcat-openbsd; \
|
||||||
|
\
|
||||||
COPY --from=caddy /usr/bin/caddy /usr/bin/
|
sed -i \
|
||||||
RUN chmod +x /usr/bin/caddy
|
-e '/^Listen /d' \
|
||||||
|
-e 's/^#\(LoadModule .*mod_rewrite.so\)/\1/' \
|
||||||
RUN sed -i \
|
-e 's/^#\(LoadModule .*mod_headers.so\)/\1/' \
|
||||||
-e '/^Listen /d' \
|
-e 's/^#\(LoadModule .*mod_proxy.so\)/\1/' \
|
||||||
-e 's/^#\(LoadModule .*mod_rewrite.so\)/\1/' \
|
-e 's/^#\(LoadModule .*mod_proxy_fcgi.so\)/\1/' \
|
||||||
-e 's/^#\(LoadModule .*mod_headers.so\)/\1/' \
|
-e 's/^#\(LoadModule .*mod_setenvif.so\)/\1/' \
|
||||||
-e 's/^#\(LoadModule .*mod_proxy.so\)/\1/' \
|
-e 's/^#\(LoadModule .*mod_env.so\)/\1/' \
|
||||||
-e 's/^#\(LoadModule .*mod_proxy_fcgi.so\)/\1/' \
|
-e 's/^#\(LoadModule .*mod_mime.so\)/\1/' \
|
||||||
-e 's/^#\(LoadModule .*mod_setenvif.so\)/\1/' \
|
-e 's/^#\(LoadModule .*mod_dir.so\)/\1/' \
|
||||||
-e 's/^#\(LoadModule .*mod_env.so\)/\1/' \
|
-e 's/^#\(LoadModule .*mod_authz_core.so\)/\1/' \
|
||||||
-e 's/^#\(LoadModule .*mod_mime.so\)/\1/' \
|
-e 's/^#\(LoadModule .*mod_alias.so\)/\1/' \
|
||||||
-e 's/^#\(LoadModule .*mod_dir.so\)/\1/' \
|
-e 's/^#\(LoadModule .*mod_mpm_event.so\)/\1/' \
|
||||||
-e 's/^#\(LoadModule .*mod_authz_core.so\)/\1/' \
|
-e 's/\(LoadModule .*mod_mpm_worker.so\)/#\1/' \
|
||||||
-e 's/^#\(LoadModule .*mod_alias.so\)/\1/' \
|
-e 's/\(LoadModule .*mod_mpm_prefork.so\)/#\1/' \
|
||||||
-e 's/^#\(LoadModule .*mod_mpm_event.so\)/\1/' \
|
/usr/local/apache2/conf/httpd.conf; \
|
||||||
-e 's/\(LoadModule .*mod_mpm_worker.so\)/#\1/' \
|
echo "Include conf/nextcloud.conf" | tee -a /usr/local/apache2/conf/httpd.conf; \
|
||||||
-e 's/\(LoadModule .*mod_mpm_prefork.so\)/#\1/' \
|
echo "ServerName localhost" | tee -a /usr/local/apache2/conf/httpd.conf; \
|
||||||
conf/httpd.conf; \
|
\
|
||||||
echo "Include conf/nextcloud.conf" | tee -a conf/httpd.conf; \
|
rm -rf /usr/local/apache2/conf/original /var/www; \
|
||||||
echo "ServerName localhost" | tee -a conf/httpd.conf
|
mkdir -p /var/www; \
|
||||||
|
chown -R www-data:www-data /var/www; \
|
||||||
COPY nextcloud.conf conf
|
\
|
||||||
|
mkdir /var/log/supervisord; \
|
||||||
RUN set -ex; \
|
|
||||||
rm -rf conf/original conf/original && \
|
|
||||||
rm -rf /var/www/html/* && \
|
|
||||||
mkdir /var/www && \
|
|
||||||
chown -R www-data:www-data /var/www;
|
|
||||||
|
|
||||||
RUN mkdir /var/log/supervisord; \
|
|
||||||
mkdir /var/run/supervisord; \
|
mkdir /var/run/supervisord; \
|
||||||
chown www-data:www-data /var/run/supervisord; \
|
chown www-data:www-data /var/run/supervisord; \
|
||||||
chown www-data:www-data /var/log/supervisord;
|
chown www-data:www-data /var/log/supervisord; \
|
||||||
|
\
|
||||||
COPY Caddyfile /
|
|
||||||
|
|
||||||
COPY start.sh /usr/bin/
|
|
||||||
COPY healthcheck.sh /usr/bin/
|
|
||||||
COPY supervisord.conf /
|
|
||||||
RUN chmod +x /usr/bin/start.sh; \
|
|
||||||
chmod +x /usr/bin/healthcheck.sh; \
|
|
||||||
chmod +r /supervisord.conf; \
|
|
||||||
chown www-data:www-data /Caddyfile; \
|
|
||||||
chown -R www-data:www-data /usr/local/apache2; \
|
chown -R www-data:www-data /usr/local/apache2; \
|
||||||
chmod +r -R /usr/local/apache2
|
chmod +r -R /usr/local/apache2; \
|
||||||
|
\
|
||||||
# Give root a random password
|
echo "root:$(openssl rand -base64 12)" | chpasswd
|
||||||
RUN echo "root:$(openssl rand -base64 12)" | chpasswd
|
|
||||||
|
|
||||||
USER www-data
|
USER www-data
|
||||||
|
|
||||||
ENTRYPOINT ["start.sh"]
|
ENTRYPOINT ["/start.sh"]
|
||||||
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
|
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
|
||||||
|
|
||||||
HEALTHCHECK CMD healthcheck.sh
|
HEALTHCHECK CMD /healthcheck.sh
|
||||||
LABEL com.centurylinklabs.watchtower.monitor-only="true"
|
LABEL com.centurylinklabs.watchtower.monitor-only="true"
|
||||||
|
|
Loading…
Add table
Reference in a new issue