1
1
# From PHP8.3-cli
2
- FROM php:8.3-cli -alpine
2
+ FROM php:8.3-fpm -alpine
3
3
4
4
RUN adduser -h /home/admin -s /home/admin/vendor/bin/phpterminal -D admin
5
5
RUN echo -n 'admin:admin' | chpasswd
6
6
7
- WORKDIR /home/admin
7
+ WORKDIR /home/admin/
8
8
9
9
RUN apk update
10
10
RUN apk add --update --no-cache git
11
11
RUN apk add --update --no-cache zip
12
+ RUN apk add --update --no-cache vim
13
+ RUN apk add --update --no-cache openssh
14
+ RUN apk add --update --no-cache openrc
15
+ RUN apk add --update --no-cache apache2
16
+ RUN apk add --update --no-cache apache2-proxy
17
+ RUN apk add --update --no-cache php83-apache2
18
+ RUN apk add --update --no-cache shadow
19
+ RUN mkdir -p /run/openrc/exclusive
20
+ RUN touch /run/openrc/softlevel
21
+ RUN rc-update add apache2
12
22
13
23
RUN docker-php-ext-configure pcntl --enable-pcntl && docker-php-ext-install pcntl
24
+ RUN docker-php-ext-configure bcmath --enable-bcmath && docker-php-ext-install bcmath
25
+
26
+ RUN cat <<EOF > /etc/apache2/conf.d/phpfirewall.conf
27
+ <VirtualHost *:80>
28
+ DocumentRoot /home/admin/public/
29
+
30
+ ErrorLog ${APACHE_LOG_DIR}/error.log
31
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
32
+
33
+ ProxyPassMatch ^/(.*\. php(/.*)?)$ fcgi://127.0.0.1:9000/home/admin/public/$1
34
+ DirectoryIndex /index.php index.php
35
+
36
+ <Directory /home/admin/public/>
37
+ Options -Indexes
38
+ AllowOverride All
39
+ Order allow,deny
40
+ allow from all
41
+ </Directory>
42
+ </VirtualHost>
43
+ <IfModule unixd_module>
44
+ User admin
45
+ Group admin
46
+ </IfModule>
47
+ EOF
14
48
15
49
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
16
50
RUN php composer-setup.php
@@ -20,15 +54,20 @@ RUN chmod +x /home/admin/composer
20
54
RUN /home/admin/composer require oyeaussie/phpfirewall
21
55
ENV COMPOSER_ALLOW_SUPERUSER=1
22
56
23
- RUN mkdir /home/admin/terminaldata
24
-
25
- RUN apk add --update --no-cache openssh
26
57
RUN echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config
27
58
RUN echo 'Port 2233' >> /etc/ssh/sshd_config
28
59
ENTRYPOINT ["/entrypoint.sh" ]
29
60
COPY entrypoint.sh /
30
- RUN chown -R admin:admin /home/admin/
31
61
62
+ RUN echo 'user = admin' >> /usr/local/etc/php-fpm.d/www.conf
63
+ RUN echo 'group = admin' >> /usr/local/etc/php-fpm.d/www.conf
64
+
65
+ RUN mkdir /home/admin/terminaldata
66
+ RUN mkdir /home/admin/firewalldata
67
+ RUN mkdir /home/admin/public
68
+
69
+ COPY index.php ./public/
70
+ RUN chown -R admin:admin /home/admin
32
71
# Running
33
72
# docker run -d --name phpfirewall -h phpfirewall oyeaussie/phpfirewall
34
73
# Grab IP
0 commit comments