Container w/ NGINX, PHP, & H5AI
Go to file
Daniel Wolf 55883f12a6
Build Container Image / build_arm64 (push) Successful in 13s Details
Build Container Image / build_amd64 (push) Successful in 32s Details
Build Container Image / publish_arm64 (push) Successful in 26s Details
Build Container Image / build_manifest (push) Successful in 7s Details
Build Container Image / publish_amd64 (push) Successful in 21s Details
Build Container Image / publish_manifest (push) Successful in 25s Details
more workaround for empty gitea.ref_name
2023-10-18 23:54:01 -04:00
.gitea/workflows more workaround for empty gitea.ref_name 2023-10-18 23:54:01 -04:00
override/etc migrate setup to s6-rc 2022-03-04 15:56:53 -05:00
.dockerignore more user-friendly readme and docker-compose example 2023-06-21 15:29:31 -04:00
.gitignore update .gitignore 2022-03-04 15:34:09 -05:00
Dockerfile migrate from drone to gitea-runner 2023-05-01 13:52:40 -04:00
LICENSE.md migrate from drone to gitea-runner 2023-05-01 13:52:40 -04:00
README.md more user-friendly readme and docker-compose example 2023-06-21 15:29:31 -04:00
docker-compose.yml more user-friendly readme and docker-compose example 2023-06-21 15:29:31 -04:00

README.md

Git | Docker | unRAID

NGINX H5AI Web Index

This docker container manages the NGINX application with the H5AI PHP web server index application.

The latest tag points to version 0.31.0-glubsy and this is the only image actively being updated. There are tags for older versions, but these may no longer be using the latest NGINX version, PHP version, or Alpine version and packages.

If using this as a standalone web server, you can configure TLS the same way as the nginx-ssl container. If part of a larger envinronment, we suggest using a separate container as a reverse proxy server and handle TLS there instead.

Remember to change the password in the h5ai configuration as the info page might expose information about your server that you do not want exposed.

Docker-Compose

This is an example docker-compose file:

services:
  h5ai:
    image: nephatrine/nginx-h5ai:latest
    container_name: h5ai
    environment:
      TZ: America/New_York
      PUID: 1000
      PGID: 1000
      ADMINIP: 127.0.0.1
      TRUSTSN: 192.168.0.0/16
      DNSADDR: "8.8.8.8 8.8.4.4"
    ports:
      - "8080:80/tcp"
    volumes:
      - /mnt/containers/h5ai:/mnt/config
      - /mnt/containers/public:/mnt/media

Publishing Files

Just put files and folders into the volume mapped to /mnt/media and they will be made accessible through the web interface. For private files, you can either lock them down via the NGINX config or use a container that is not publicly accessible in the first place.

Server Configuration

These are the configuration and data files you will likely need to be aware of and potentially customize.

  • /mnt/config/etc/mime.type
  • /mnt/config/etc/nginx.conf
  • /mnt/config/etc/nginx.d/*
  • /mnt/config/www/default/*
  • /mnt/config/etc/php.d/*
  • /mnt/config/etc/php.ini
  • /mnt/config/etc/php-fpm.conf
  • /mnt/config/etc/php-fpm.d/*
  • /mnt/media/_h5ai/private/conf/options.json

Modifications to some of these may require a service restart to pull in the changes made.