-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathDockerfile.template
More file actions
88 lines (79 loc) · 2.93 KB
/
Dockerfile.template
File metadata and controls
88 lines (79 loc) · 2.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
FROM wordpress:4-apache
ENV BEDROCK_VERSION=%%BEDROCK_VERSION%% \
BEDROCK_SHA1=%%BEDROCK_SHA1%% \
WP_CLI_VERSION=%%WP_CLI_VERSION%% \
WP_CLI_SHA1=%%WP_CLI_SHA1%%
ENV LC_ALL=C.UTF-8 \
LANG=C.UTF-8 \
WP_ENV=production \
DEFAULT_TIMEZONE=Australia/Melbourne \
WEBROOT=/app/web
RUN set -xe && \
apt-get -qq update && \
apt-get -qq install \
git \
zlib1g-dev \
less \
--no-install-recommends \
&& \
docker-php-ext-install zip && \
apt-get clean && \
rm -r /var/lib/apt/lists/* && \
true
RUN set -xe && \
curl -sS -o /usr/local/bin/wp \
-L https://github.com/wp-cli/wp-cli/releases/download/v${WP_CLI_VERSION}/wp-cli-${WP_CLI_VERSION}.phar && \
sha1sum /usr/local/bin/wp && \
echo "$WP_CLI_SHA1 */usr/local/bin/wp" | sha1sum -c - && \
chmod +x /usr/local/bin/wp && \
curl -sS -o /tmp/composer-setup.php \
-L https://getcomposer.org/installer && \
php /tmp/composer-setup.php --install-dir=/usr/bin --filename=composer && \
rm /tmp/composer-setup.php && \
true
WORKDIR /app
RUN set -xe && \
curl -sS -o /tmp/bedrock.tar.gz \
-L https://github.com/roots/bedrock/archive/${BEDROCK_VERSION}.tar.gz && \
echo "$BEDROCK_SHA1 */tmp/bedrock.tar.gz" | sha1sum -c - && \
tar --strip-components=1 -xzf /tmp/bedrock.tar.gz -C /app && \
rm /tmp/bedrock.tar.gz && \
chown -R www-data:www-data /app && \
composer install --no-interaction --no-dev && \
composer remove \
johnpbloch/wordpress \
--no-interaction && \
composer install --no-interaction --no-dev && \
composer clear-cache && \
rm -rf /app/web/wp && \
ln -s /usr/src/wordpress /app/web/wp && \
true
COPY wordpress-rewrite.conf /etc/apache2/conf-available/wordpress-rewrite.conf
RUN set -xe && \
{ \
echo 'date.timezone = ${DEFAULT_TIMEZONE}'; \
} > /usr/local/etc/php/conf.d/date-timezone.ini && \
{ \
echo 'upload_max_filesize=20M'; \
echo 'post_max_size=60M'; \
} > /usr/local/etc/php/conf.d/upload-limit.ini && \
echo "DocumentRoot /app/web" >> /etc/apache2/apache2.conf && \
rm /etc/apache2/sites-enabled/000-default.conf && \
sed -i 's#<Directory /var/www/>.*#<Directory /app/web/>#' /etc/apache2/apache2.conf && \
ln -s /etc/apache2/conf-available/wordpress-rewrite.conf /etc/apache2/conf-enabled/wordpress-rewrite.conf && \
{ \
echo "<?php"; \
echo "require('/app/web/wp-config.php');"; \
echo "require_once(ABSPATH . 'wp-settings.php');"; \
} > /usr/src/wordpress/wp-config.php && \
{ \
echo ""; \
echo "if (file_exists(__DIR__ . '/application.local.php')) {"; \
echo " require(__DIR__ . '/application.local.php');"; \
echo "}"; \
} >> /app/config/application.php && \
mkdir -p /app/web/app/uploads && \
true
VOLUME /app/web/app/uploads
ENTRYPOINT []
CMD ["apache2-foreground"]