paheko_docker_image_builder/README.md

3.5 KiB

Paheko docker image builder

Unofficial Paheko docker image with plugins based on php official image with apache.

How to build image

If you choose to use image from Docker Hub, you can skip to next section.

If you prefer to build your own image with Dockerfile in Git repository, 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 or our ansible role to deploy paheko with this docker image.

For an example of custom php.ini, see php docker image. 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 and traefik configuration)

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 is free (FOSS) software. Thanks to Paheko team!

This builder relies on resources hosted on Paheko's fossil server :