I created a Docker Stack to work with Phorge, it's pretty lightweight and easy to setup/configure and has examples for Compose, Swarm, and SSL termination using NGINX or traefik. Not suitable for use as a devcontainer T15011: Build a Phorge Developer Environment but works well for simple deployments.
Description
Related Objects
Event Timeline
For reference: I've been relying on this docker container for docker-compose as well as kubernetes based deployments and it has been a delight to work with.
I think we should strive for something that is as simple as that to deploy, at least for simpler single node deployments.
Yep! I have it setup where almost everything is configured using environment variables/docker secrets. Currently the only configuration file that needs to be passed into the Phorge container is for Configuring Outbound Email since that can vary quite a bit. NGINX has a config file but the only modifications it needs are sections to be commented/uncommented if it's used for SSL termination, otherwise everything is set using environment variables. Of course NGINX could be swapped out for your web server of choice. I might look into providing a example that uses Caddy for the web server as it has native support for ACME and should be pretty easy to do.
Caddy looks interesting - if you get it going, can you make a small instructions writeup?
The Caddyfile boils down to
{$DOMAIN:localhost} { root * /path/to/phorge/webroot rewrite * /index.php?__path__={path}&{query} php_fastcgi phorge:9000 { env HTTPS {$HTTPS:on} } }
Set the two variables to change whether Caddy uses HTTP, HTTPS with a self signed certificate, or HTTPS with a certificate from Let's Encrypt or ZeroSSL.
I switched out NGINX for Caddy in my repo because boy is that much easier to configure for a number of use cases.
Thanks -- I'm curious as to what makes this not particularly suitable for development, though?