129 lines
3.5 KiB
Markdown
129 lines
3.5 KiB
Markdown
# Paheko docker image builder
|
|
|
|
Unofficial [Paheko](https://paheko.cloud/) docker image with plugins based on php official image with apache.
|
|
|
|
## How to build image
|
|
|
|
If you choose to use image from [*Docker Hub*](https://hub.docker.com/r/libretic/paheko), you can skip to next section.
|
|
|
|
If you prefer to build your own image with Dockerfile in [*Git repository*](https://git.libretic.fr/libretic/paheko_docker_image_builder), you can do the following.
|
|
|
|
|
|
* Clone the repository
|
|
|
|
```
|
|
git clone https://git.libretic.fr/libretic/paheko_docker_image_builder
|
|
cd paheko_docker_image_builder
|
|
```
|
|
|
|
* Edit version file to choose your version of paheko
|
|
|
|
Content of version file for paheko version 1.3.8:
|
|
|
|
```
|
|
PAHEKO_VERSION=1.3.8
|
|
```
|
|
|
|
* Build and tag the image
|
|
```
|
|
./build.sh
|
|
```
|
|
|
|
At the end of the build process you can check that you have a docker image for paheko tagged with chosen version:
|
|
```
|
|
docker image ls | grep paheko
|
|
```
|
|
|
|
|
|
## Adapt docker-compose.yml to fit your needs
|
|
|
|
For an example of custom paheko config see our [builder git repository](https://git.libretic.fr/libretic/paheko_docker_image_builder) or
|
|
our [ansible role to deploy paheko with this docker image](https://git.libretic.fr/libretic/ansible-role-docker_paheko).
|
|
|
|
For an example of custom php.ini, see [php docker image](https://hub.docker.com/_/php). You may have to adjust `post_max_size` and `upload_max_filesize` to fit your needs.
|
|
|
|
|
|
* Example with traefik routing by fqdn:
|
|
|
|
This example assumes that my.paheko.fqdn is resolved to the address of a reverse proxy that serves https and forwards requests to
|
|
traefik container on port named "web" (see: [traefik](https://github.com/traefik/traefik) and [traefik configuration](https://git.libretic.fr/libretic/ansible-role-docker_host))
|
|
|
|
```
|
|
services:
|
|
paheko:
|
|
image: libretic/paheko
|
|
restart: always
|
|
volumes:
|
|
- ./config.local.php:/var/www/paheko/config.local.php
|
|
- ./php.ini:/usr/local/etc/php/php.ini
|
|
- pahekodata:/var/www/paheko/data
|
|
- /var/www/paheko/data/plugins
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=traefik"
|
|
- "traefik.http.routers.demogarradin.entrypoints=web"
|
|
- "traefik.http.routers.demogarradin.rule=Host(`my.paheko.fqdn`)"
|
|
- "traefik.http.services.demogarradin.loadbalancer.server.port=80"
|
|
networks:
|
|
- traefik
|
|
|
|
networks:
|
|
traefik:
|
|
external: true
|
|
```
|
|
|
|
|
|
* Example with paheko container listening on port 8080:
|
|
|
|
This example assumes that my.paheko.fqdn is resolved to the address of a reverse proxy that serves https and forwards requests to port 8080 on
|
|
the host running paheko container.
|
|
|
|
```
|
|
services:
|
|
paheko:
|
|
image: libretic/paheko
|
|
restart: always
|
|
volumes:
|
|
- ./config.local.php:/var/www/paheko/config.local.php
|
|
- ./php.ini:/usr/local/etc/php/php.ini
|
|
- pahekodata:/var/www/paheko/data
|
|
- /var/www/paheko/data/plugins
|
|
ports:
|
|
- 8080:80
|
|
```
|
|
|
|
## Run the container
|
|
|
|
* To start the container
|
|
|
|
```
|
|
docker compose up -d
|
|
```
|
|
|
|
Then open `https://my.paheko.fqdn` in your browser.
|
|
|
|
|
|
* To stop the container
|
|
|
|
```
|
|
docker compose down
|
|
```
|
|
|
|
|
|
## Change log
|
|
|
|
* [2024-04-23]
|
|
* Upgrade to Paheko version 1.3.8
|
|
|
|
* [2024-04-14]
|
|
* Upgrade to Paheko version 1.3.7
|
|
* Changed base image to php:8.2.18-apache-bookworm
|
|
|
|
|
|
## Acknowledgements
|
|
|
|
[Paheko](https://paheko.cloud/) is free (FOSS) software. Thanks to Paheko team!
|
|
|
|
This builder relies on resources hosted on Paheko's fossil server :
|
|
|
|
* [general installation page](https://fossil.kd2.org/paheko/wiki?name=Installation) in French
|