mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Ensure libwebp is installed in the base image when imagemagick is installed so that imagemagick works with webp.
105 lines
3.7 KiB
Docker
Executable File
105 lines
3.7 KiB
Docker
Executable File
FROM composer:2.0 AS composer
|
|
|
|
ARG TESTING=false
|
|
ENV TESTING=$TESTING
|
|
|
|
WORKDIR /usr/local/src/
|
|
|
|
COPY composer.lock /usr/local/src/
|
|
COPY composer.json /usr/local/src/
|
|
|
|
RUN composer install --ignore-platform-reqs --optimize-autoloader \
|
|
--no-plugins --no-scripts --prefer-dist \
|
|
`if [ "$TESTING" != "true" ]; then echo "--no-dev"; fi`
|
|
|
|
FROM appwrite/base:0.10.5 AS final
|
|
|
|
LABEL maintainer="team@appwrite.io"
|
|
|
|
ARG VERSION=dev
|
|
ARG DEBUG=false
|
|
ENV DEBUG=$DEBUG
|
|
|
|
ENV _APP_VERSION=$VERSION \
|
|
_APP_HOME=https://appwrite.io
|
|
|
|
RUN \
|
|
if [ "$DEBUG" == "true" ]; then \
|
|
apk add boost boost-dev; \
|
|
fi
|
|
|
|
WORKDIR /usr/src/code
|
|
|
|
COPY --from=composer /usr/local/src/vendor /usr/src/code/vendor
|
|
|
|
# Add Source Code
|
|
COPY ./app /usr/src/code/app
|
|
COPY ./public /usr/src/code/public
|
|
COPY ./bin /usr/local/bin
|
|
COPY ./docs /usr/src/code/docs
|
|
COPY ./src /usr/src/code/src
|
|
COPY ./dev /usr/src/code/dev
|
|
|
|
# Set Volumes
|
|
RUN mkdir -p /storage/uploads && \
|
|
mkdir -p /storage/imports && \
|
|
mkdir -p /storage/cache && \
|
|
mkdir -p /storage/config && \
|
|
mkdir -p /storage/certificates && \
|
|
mkdir -p /storage/functions && \
|
|
mkdir -p /storage/debug && \
|
|
chown -Rf www-data:www-data /storage/uploads && chmod -Rf 0755 /storage/uploads && \
|
|
chown -Rf www-data:www-data /storage/imports && chmod -Rf 0755 /storage/imports && \
|
|
chown -Rf www-data:www-data /storage/cache && chmod -Rf 0755 /storage/cache && \
|
|
chown -Rf www-data:www-data /storage/config && chmod -Rf 0755 /storage/config && \
|
|
chown -Rf www-data:www-data /storage/certificates && chmod -Rf 0755 /storage/certificates && \
|
|
chown -Rf www-data:www-data /storage/functions && chmod -Rf 0755 /storage/functions && \
|
|
chown -Rf www-data:www-data /storage/debug && chmod -Rf 0755 /storage/debug
|
|
|
|
# Executables
|
|
RUN chmod +x /usr/local/bin/doctor && \
|
|
chmod +x /usr/local/bin/install && \
|
|
chmod +x /usr/local/bin/maintenance && \
|
|
chmod +x /usr/local/bin/migrate && \
|
|
chmod +x /usr/local/bin/realtime && \
|
|
chmod +x /usr/local/bin/schedule-functions && \
|
|
chmod +x /usr/local/bin/schedule-executions && \
|
|
chmod +x /usr/local/bin/schedule-messages && \
|
|
chmod +x /usr/local/bin/sdks && \
|
|
chmod +x /usr/local/bin/specs && \
|
|
chmod +x /usr/local/bin/ssl && \
|
|
chmod +x /usr/local/bin/screenshot && \
|
|
chmod +x /usr/local/bin/test && \
|
|
chmod +x /usr/local/bin/upgrade && \
|
|
chmod +x /usr/local/bin/vars && \
|
|
chmod +x /usr/local/bin/queue-retry && \
|
|
chmod +x /usr/local/bin/queue-count-failed && \
|
|
chmod +x /usr/local/bin/queue-count-processing && \
|
|
chmod +x /usr/local/bin/queue-count-success && \
|
|
chmod +x /usr/local/bin/worker-audits && \
|
|
chmod +x /usr/local/bin/worker-builds && \
|
|
chmod +x /usr/local/bin/worker-certificates && \
|
|
chmod +x /usr/local/bin/worker-databases && \
|
|
chmod +x /usr/local/bin/worker-deletes && \
|
|
chmod +x /usr/local/bin/worker-functions && \
|
|
chmod +x /usr/local/bin/worker-mails && \
|
|
chmod +x /usr/local/bin/worker-messaging && \
|
|
chmod +x /usr/local/bin/worker-migrations && \
|
|
chmod +x /usr/local/bin/worker-webhooks && \
|
|
chmod +x /usr/local/bin/worker-stats-usage && \
|
|
chmod +x /usr/local/bin/stats-resources && \
|
|
chmod +x /usr/local/bin/worker-stats-resources
|
|
|
|
# Letsencrypt Permissions
|
|
RUN mkdir -p /etc/letsencrypt/live/ && chmod -Rf 755 /etc/letsencrypt/live/
|
|
|
|
# Enable Extensions
|
|
RUN if [ "$DEBUG" = "true" ]; then cp /usr/src/code/dev/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini; fi
|
|
RUN if [ "$DEBUG" = "true" ]; then mkdir -p /tmp/xdebug; fi
|
|
RUN if [ "$DEBUG" = "false" ]; then rm -rf /usr/src/code/dev; fi
|
|
RUN if [ "$DEBUG" = "false" ]; then rm -f /usr/local/lib/php/extensions/no-debug-non-zts-20230831/xdebug.so; fi
|
|
|
|
EXPOSE 80
|
|
|
|
CMD [ "php", "app/http.php" ]
|