paheko_docker_image_builder/README.md

130 lines
3.5 KiB
Markdown
Raw Permalink Normal View History

2023-01-28 15:28:34 +01:00
# 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.
2023-01-28 16:19:14 +01:00
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.
2023-01-28 15:28:34 +01:00
* Clone the repository
```
2023-01-28 16:19:14 +01:00
git clone https://git.libretic.fr/libretic/paheko_docker_image_builder
2023-01-28 15:28:34 +01:00
cd paheko_docker_image_builder
```
* Edit version file to choose your version of paheko
2024-04-23 17:06:39 +02:00
Content of version file for paheko version 1.3.8:
2023-01-28 15:28:34 +01:00
```
2024-04-23 17:06:39 +02:00
PAHEKO_VERSION=1.3.8
2023-01-28 15:28:34 +01:00
```
* 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:
2023-01-28 15:28:34 +01:00
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:
2024-04-23 17:06:39 +02:00
image: libretic/paheko
2023-01-28 15:28:34 +01:00
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:
2024-04-23 17:06:39 +02:00
image: libretic/paheko
2023-01-28 15:28:34 +01:00
restart: always
volumes:
- ./config.local.php:/var/www/paheko/config.local.php
- ./php.ini:/usr/local/etc/php/php.ini
2023-01-28 15:28:34 +01:00
- pahekodata:/var/www/paheko/data
- /var/www/paheko/data/plugins
ports:
- 8080:80
```
## Run the container
* To start the container
```
docker compose up -d
2023-01-28 15:28:34 +01:00
```
Then open `https://my.paheko.fqdn` in your browser.
* To stop the container
```
docker compose down
2023-01-28 15:28:34 +01:00
```
## Change log
2024-04-23 17:06:39 +02:00
* [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
2023-01-28 15:28:34 +01:00
## 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