No description
Find a file
2023-01-28 16:19:14 +01:00
.htaccess Initial commit 2023-01-28 15:28:34 +01:00
build.sh Initial commit 2023-01-28 15:28:34 +01:00
config.local.php.example Added example of config.local.php 2023-01-28 15:44:51 +01:00
docker-compose.yml Initial commit 2023-01-28 15:28:34 +01:00
Dockerfile Initial commit 2023-01-28 15:28:34 +01:00
README.md Changed url of git repository 2023-01-28 16:19:14 +01:00
version Initial commit 2023-01-28 15:28:34 +01:00

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.2.4:

PAHEKO_VERSION=1.2.4
  • 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 git repository.

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)

version: '3.1'
services:
  paheko:
    image: libretic/paheko:1.2.4
    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.

version: '3.1'
services:
  paheko:
    image: libretic/paheko:1.2.4
    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

Acknowledgements

Paheko is free (FOSS) software. Thanks to Paheko team!

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