Compare commits
5 Commits
8eba3fe655
...
v3.3.14-1
| Author | SHA1 | Date | |
|---|---|---|---|
|
5071b3131d
|
|||
|
04363efd07
|
|||
|
550d1aad08
|
|||
|
c3d519bd39
|
|||
|
52df42d173
|
@@ -1,3 +1,4 @@
|
||||
.secrets
|
||||
.act
|
||||
examples
|
||||
.env
|
||||
|
||||
@@ -4,7 +4,7 @@ when:
|
||||
event: [push, pull_request, tag]
|
||||
|
||||
variables:
|
||||
- &repo source.hodakov.me/${CI_REPO_OWNER}/docker-phpbb
|
||||
- &repo source.hodakov.me/${CI_REPO_OWNER}/phpbb
|
||||
|
||||
steps:
|
||||
dryrun:
|
||||
|
||||
10
Dockerfile
10
Dockerfile
@@ -71,7 +71,7 @@ COPY phpbb/config.php /phpbb/www
|
||||
|
||||
# Expose the ports Caddy is reachable on
|
||||
EXPOSE 8080
|
||||
EXPOSE 8181
|
||||
EXPOSE 9080
|
||||
|
||||
WORKDIR /phpbb/www
|
||||
|
||||
@@ -88,8 +88,14 @@ ENV PHPBB_INSTALL= \
|
||||
PHPBB_DEBUG= \
|
||||
PHPBB_DEBUG_CONTAINER=
|
||||
|
||||
# Add sane default volumes for phpBB
|
||||
VOLUME /phpbb/sqlite
|
||||
VOLUME /phpbb/www/files
|
||||
VOLUME /phpbb/www/store
|
||||
VOLUME /phpbb/www/images/avatars/upload
|
||||
|
||||
COPY start.sh /usr/local/bin/
|
||||
CMD ["start.sh"]
|
||||
|
||||
# Configure a healthcheck to validate that everything is up and running
|
||||
HEALTHCHECK --timeout=10s CMD curl --silent --fail http://127.0.0.1:8080/fpm-ping
|
||||
HEALTHCHECK --timeout=10s CMD curl --silent --fail http://127.0.0.1:9080/fpm-ping
|
||||
|
||||
66
README.md
66
README.md
@@ -2,18 +2,19 @@
|
||||
|
||||
[](https://ci.hodakov.me/repos/1)
|
||||
|
||||
This is updated fork of [selim13's docker-phpbb image](https://github.com/selim13/docker-phpbb).
|
||||
|
||||
Now it even bundles caddy instead of apache2. Thanks
|
||||
[ParaParty/docker-php-caddy](https://github.com/ParaParty/docker-php-caddy) for the inspiration.
|
||||
|
||||
Lightweight, Alpine based [phpBB](https://www.phpbb.com/) docker image.
|
||||
|
||||
This is a heavily modified fork of [selim13's docker-phpbb image](https://github.com/selim13/docker-phpbb). Now it even bundles caddy instead of apache2. Thanks
|
||||
[ParaParty/docker-php-caddy](https://github.com/ParaParty/docker-php-caddy) for the inspiration.
|
||||
|
||||
You can find an example of forum running using this image at [ks.fhs.sh](https://ks.fhs.sh).
|
||||
|
||||
Note: this image expects that you run it behind another reverse proxy and does _not_ handle HTTPS automatically. Use it
|
||||
behind another instance of caddy, for example.
|
||||
|
||||
# Supported tags and respective `Dockerfile` links
|
||||
|
||||
- [`3.3`, `3.3.11`, `latest`](https://github.com/fat0troll/docker-phpbb/blob/master/Dockerfile) bundled with PHP 8
|
||||
- [`3`,`3.3`, `3.3.14`, `latest`](https://source.hodakov.me/hdkv/docker-phpbb/src/branch/main/Dockerfile) bundled with PHP 8
|
||||
|
||||
# How to use this image
|
||||
|
||||
@@ -24,10 +25,10 @@ installer script, just run a temporary container with `PHPBB_INSTALL=true`
|
||||
environment variable:
|
||||
|
||||
```console
|
||||
$ docker run -p 8000:8181 --name phpbb-install -e PHPBB_INSTALL=true -d fat0troll/phpbb:3.3
|
||||
$ docker run -p 8080:8080 --name phpbb-install -e PHPBB_INSTALL=true -d source.hodakov.me/hdkv/phpbb
|
||||
```
|
||||
|
||||
Point your browser to the http://localhost:8000 to begin the
|
||||
Point your browser to the http://localhost:8080 to begin the
|
||||
installation process.
|
||||
|
||||
This image is bundled with SQLite3, MySQL and PostgresSQL database engines
|
||||
@@ -50,7 +51,7 @@ $ docker stop phpbb-install
|
||||
You can start a container as follows:
|
||||
|
||||
```console
|
||||
$ docker run --name phpbb -d fat0troll/phpbb:3.3
|
||||
$ docker run --name phpbb -d source.hodakov.me/hdkv/phpbb
|
||||
```
|
||||
|
||||
By default, it uses SQLite3 as a database backend, so you will need to supply
|
||||
@@ -59,7 +60,7 @@ it with a database file. It's default path is `/phpbb/sqlite/sqlite.db`.
|
||||
You can import it from the temporary installation container above:
|
||||
|
||||
```console
|
||||
$ docker run --volumes-from phpbb-install --name phpbb -d fat0troll/phpbb:3.3
|
||||
$ docker run --volumes-from phpbb-install --name phpbb -d source.hodakov.me/hdkv/phpbb
|
||||
```
|
||||
|
||||
Or just copy it inside container if you have one from previous phpBB
|
||||
@@ -79,7 +80,7 @@ $ docker run --name phpbb \
|
||||
-e PHPBB_DB_PORT=3306 \
|
||||
-e PHPBB_DB_NAME=phpbb \
|
||||
-e PHPBB_DB_USER=phpbb \
|
||||
-e PHPBB_DB_PASSWD=pass -d selim13/phpbb:3.3
|
||||
-e PHPBB_DB_PASSWD=pass -d source.hodakov.me/hdkv/phpbb
|
||||
```
|
||||
|
||||
## Environment variables
|
||||
@@ -174,41 +175,8 @@ If set to `true`, enables phpBB debug mode.
|
||||
|
||||
## Volumes
|
||||
|
||||
By default there are four volumes created for each container:
|
||||
|
||||
- /phpbb/sqlite
|
||||
- /phpbb/www/files
|
||||
- /phpbb/www/store
|
||||
- /phpbb/www/images/avatars/upload
|
||||
|
||||
# Additional configuration
|
||||
|
||||
This image is based on a stock official Alpine image with apache2 and php5
|
||||
packages from the Alpine Linux repository, so you can drop their custom
|
||||
configuration files to `/etc/apache2/conf.d` and `/etc/php5/conf.d`.
|
||||
|
||||
## Pass user's IP from proxy
|
||||
|
||||
If you are planning to start a container behind proxy
|
||||
(like [nginx-proxy](https://github.com/jwilder/nginx-proxy)), it will probably
|
||||
be a good idea to get user's real IP instead of proxy one. For this, you can use
|
||||
Apache RemoteIP module. Create a configuration file:
|
||||
|
||||
```apache
|
||||
LoadModule remoteip_module modules/mod_remoteip.so
|
||||
|
||||
RemoteIPHeader X-Real-IP
|
||||
RemoteIPInternalProxy nginx-proxy
|
||||
```
|
||||
|
||||
Here `X-Real-IP` is a header name, where proxy passed user's real IP and
|
||||
`nginx-proxy` is proxy host name.
|
||||
|
||||
Then push it to `/etc/apache2/conf.d/` directory, for example, by extending this
|
||||
image:
|
||||
|
||||
```dockerfile
|
||||
FROM selim13/phpbb:3.3
|
||||
|
||||
COPY remoteip.conf /etc/apache2/conf.d
|
||||
```
|
||||
No default volumes are predefined. You can mount everything you want
|
||||
inside `/phpbb/<something>`. For example, given that [ks.fhs.sh](https://ks.fhs.sh)
|
||||
was migrating into Docker from bare metal instance back in 2023, I
|
||||
mounted the directories `files`, `store`, `ext`, `images` and
|
||||
`themes`, which proved working for more than a year at this point.
|
||||
|
||||
@@ -1,4 +1,24 @@
|
||||
{
|
||||
servers {
|
||||
trusted_proxies static private_ranges
|
||||
trusted_proxies_strict
|
||||
}
|
||||
}
|
||||
|
||||
:8080 {
|
||||
root * /phpbb/www
|
||||
|
||||
php_fastcgi unix//run/php-fpm.sock {
|
||||
trusted_proxies private_ranges
|
||||
env REMOTE_ADDR {client_ip}
|
||||
}
|
||||
|
||||
file_server
|
||||
|
||||
log stdout
|
||||
}
|
||||
|
||||
:9080 {
|
||||
root * /var/www/html/public
|
||||
|
||||
php_fastcgi unix//run/php-fpm.sock {
|
||||
@@ -9,15 +29,3 @@
|
||||
|
||||
log stdout
|
||||
}
|
||||
|
||||
:8181 {
|
||||
root * /phpbb/www
|
||||
|
||||
php_fastcgi unix//run/php-fpm.sock {
|
||||
trusted_proxies private_ranges
|
||||
}
|
||||
|
||||
file_server
|
||||
|
||||
log stdout
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user