|
1 |
| -# alpine:latest at 2021-06-01T15:15:12IST |
2 |
| -FROM alpine@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f |
| 1 | +FROM ubuntu:20.04 |
| 2 | + |
| 3 | +ARG DEBIAN_FRONTEND=noninteractive |
3 | 4 |
|
4 | 5 | LABEL "com.github.actions.icon"="upload-cloud"
|
5 | 6 | LABEL "com.github.actions.color"="yellow"
|
6 | 7 | LABEL "com.github.actions.name"="Deploy WordPress"
|
7 | 8 | LABEL "com.github.actions.description"="Deploy WordPress code to a server"
|
8 | 9 | LABEL "org.opencontainers.image.source"="https://github.com/rtCamp/action-deploy-wordpress"
|
9 | 10 |
|
10 |
| -# Environments |
11 |
| -ENV TIMEZONE Asia/Kolkata |
12 |
| -ENV PHP_MEMORY_LIMIT 512M |
13 |
| -ENV MAX_UPLOAD 50M |
14 |
| -ENV PHP_MAX_FILE_UPLOAD 200 |
15 |
| -ENV PHP_MAX_POST 100M |
16 |
| -ENV PHP_INI_DIR /etc/php7/php.ini |
17 |
| -ENV HOME /root |
| 11 | + |
18 | 12 | ENV PATH "/composer/vendor/bin:~/.local/bin:$PATH"
|
19 | 13 | ENV COMPOSER_ALLOW_SUPERUSER 1
|
20 | 14 | ENV COMPOSER_HOME /composer
|
21 |
| -ENV VAULT_VERSION 1.0.2 |
22 |
| - |
23 |
| -# PHP-CLI installation inspired from https://github.com/bravist/php-cli-alpine-aliyun-app/blob/master/Dockerfile |
24 |
| -# https://github.com/matriphe/docker-alpine-php/blob/master/7.0/FPM/Dockerfile |
25 |
| - |
26 |
| -RUN apk update \ |
27 |
| - && apk upgrade \ |
28 |
| - && apk add \ |
29 |
| - bash \ |
30 |
| - jq \ |
31 |
| - curl \ |
32 |
| - git \ |
33 |
| - tzdata \ |
34 |
| - rsync \ |
35 |
| - yarn \ |
36 |
| - mysql-client \ |
37 |
| - subversion \ |
38 |
| - unzip \ |
39 |
| - wget \ |
40 |
| - zip \ |
41 |
| - nodejs \ |
42 |
| - npm \ |
43 |
| - openssh-client \ |
44 |
| - php7 \ |
45 |
| - php7-dev \ |
46 |
| - php7-apcu \ |
47 |
| - php7-bcmath \ |
48 |
| - php7-bz2 \ |
49 |
| - php7-xmlwriter \ |
50 |
| - php7-ctype \ |
51 |
| - php7-curl \ |
52 |
| - php7-exif \ |
53 |
| - php7-iconv \ |
54 |
| - php7-intl \ |
55 |
| - php7-json \ |
56 |
| - php7-mbstring\ |
57 |
| - php7-opcache \ |
58 |
| - php7-openssl \ |
59 |
| - php7-pcntl \ |
60 |
| - php7-pdo \ |
61 |
| - php7-mysqlnd \ |
62 |
| - php7-mysqli \ |
63 |
| - php7-pdo_mysql \ |
64 |
| - php7-pdo_pgsql \ |
65 |
| - php7-phar \ |
66 |
| - php7-posix \ |
67 |
| - php7-session \ |
68 |
| - php7-xml \ |
69 |
| - php7-simplexml \ |
70 |
| - php7-mcrypt \ |
71 |
| - php7-xsl \ |
72 |
| - php7-zip \ |
73 |
| - php7-zlib \ |
74 |
| - php7-dom \ |
75 |
| - php7-redis\ |
76 |
| - php7-tokenizer \ |
77 |
| - php7-gd \ |
78 |
| - php7-fileinfo \ |
79 |
| - php7-zmq \ |
80 |
| - php7-memcached \ |
81 |
| - php7-xmlreader \ |
82 |
| - python3 \ |
83 |
| - py-pip \ |
84 |
| - && pip install shyaml \ |
85 |
| - && cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \ |
86 |
| - && echo "${TIMEZONE}" > /etc/timezone \ |
87 |
| - && apk del tzdata \ |
88 |
| - && pip install shyaml \ |
89 |
| - && rm -rf /var/cache/apk/* |
90 | 15 |
|
91 |
| -# https://github.com/docker-library/php/issues/240 |
92 |
| -# https://gist.github.com/guillemcanal/be3db96d3caa315b4e2b8259cab7d07e |
93 |
| -# https://forum.alpinelinux.org/forum/installation/php-iconv-issue |
94 |
| -# https://github.com/gliderlabs/docker-alpine/issues/157#issuecomment-200860301 |
95 |
| - |
96 |
| -RUN rm -rf /var/cache/apk/* |
97 |
| - |
98 |
| -# Set environments |
99 |
| -RUN sed -i "s|;*date.timezone =.*|date.timezone = ${TIMEZONE}|i" "$PHP_INI_DIR" && \ |
100 |
| - sed -i "s|;*memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|i" "$PHP_INI_DIR" && \ |
101 |
| - sed -i "s|;*upload_max_filesize =.*|upload_max_filesize = ${MAX_UPLOAD}|i" "$PHP_INI_DIR" && \ |
102 |
| - sed -i "s|;*max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|i" "$PHP_INI_DIR" && \ |
103 |
| - sed -i "s|;*post_max_size =.*|post_max_size = ${PHP_MAX_POST}|i" "$PHP_INI_DIR" && \ |
104 |
| - sed -i "s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= 0|i" "$PHP_INI_DIR" |
105 |
| - |
106 |
| -# Update php config |
107 |
| -RUN mkdir -p "/etc/php7/conf.d" && \ |
108 |
| - echo "memory_limit=-1" > "/etc/php7/conf.d/memory-limit.ini" && \ |
109 |
| - echo "date.timezone=Asia/Kolkata" > "/etc/php7/conf.d/date_timezone.ini" |
| 16 | +RUN apt update && \ |
| 17 | + apt install -y \ |
| 18 | + bash \ |
| 19 | + git \ |
| 20 | + curl \ |
| 21 | + jq \ |
| 22 | + rsync \ |
| 23 | + zip \ |
| 24 | + unzip \ |
| 25 | + python3-pip \ |
| 26 | + software-properties-common && \ |
| 27 | + add-apt-repository ppa:ondrej/php && \ |
| 28 | + apt update && \ |
| 29 | + apt-get install -y php7.4-cli php7.4-curl php7.4-json php7.4-mbstring php7.4-xml php7.4-iconv && \ |
| 30 | + pip3 install shyaml && \ |
| 31 | + rm -rf /var/lib/apt/lists/* |
110 | 32 |
|
111 | 33 | # Setup wp-cli
|
112 | 34 | RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \
|
113 |
| - chmod +x wp-cli.phar && \ |
114 |
| - mv wp-cli.phar /usr/local/bin/wp |
| 35 | + chmod +x wp-cli.phar && \ |
| 36 | + mv wp-cli.phar /usr/local/bin/wp |
115 | 37 |
|
116 | 38 | # Setup composer
|
117 | 39 | RUN mkdir -p /composer && \
|
118 |
| - curl -sS https://getcomposer.org/installer | \ |
119 |
| - php -- --install-dir=/usr/bin/ --filename=composer |
| 40 | + curl -sS https://getcomposer.org/installer | \ |
| 41 | + php -- --install-dir=/usr/bin/ --filename=composer |
120 | 42 | COPY composer.* /composer/
|
121 | 43 | RUN cd /composer && composer install
|
122 | 44 |
|
123 |
| -# Setup Vault |
124 |
| -RUN wget https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_amd64.zip && \ |
125 |
| - unzip vault_${VAULT_VERSION}_linux_amd64.zip && \ |
126 |
| - rm vault_${VAULT_VERSION}_linux_amd64.zip && \ |
127 |
| - mv vault /usr/local/bin/vault |
128 |
| - |
129 | 45 | COPY deploy.php hosts.yml /
|
130 | 46 | COPY *.sh /
|
131 | 47 | RUN chmod +x /*.sh
|
|
0 commit comments