Replies: 12 comments 17 replies
That's not a valid directive.
That path is not valid in your Docker container. Your Mercure hub is also defined outside of your domain, I don't think that's valid either. |
|
I have changed my Caddyfile to your recommendation. But the problem still exists.
What I'm not understand:
|
Is it that what you want? |
|
#2070 (reply in thread) |
|
I was thinking, that frankenphp is doing all neccessary stuff and I was folling the frankenphp instructions. |
|
Following our docker page: [m@M-NB ~]$ cd symfony_demo/
[m@M-NB symfony_demo]$ docker run -v .:/app -e SERVER_NAME=localhost -p 80:80 -p 443:443 -p 443:443/udp dunglas/frankenphp &
[1] 513
[m@M-NB symfony_demo]$ {"level":"info","ts":1765640142.428611,"msg":"maxprocs: Leaving GOMAXPROCS=16: CPU quota undefined"}
{"level":"info","ts":1765640142.4289536,"msg":"GOMEMLIMIT is updated","package":"github.com/KimMachineGun/automemlimit/memlimit","GOMEMLIMIT":14958246297,"previous":9223372036854775807}
{"level":"info","ts":1765640142.429043,"msg":"using config from file","file":"/etc/frankenphp/Caddyfile"}
{"level":"warn","ts":1765640142.4291155,"msg":"No files matching import glob pattern","pattern":"Caddyfile.d/*.caddyfile"}
{"level":"info","ts":1765640142.430568,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"warn","ts":1765640142.4306087,"msg":"Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies","adapter":"caddyfile","file":"/etc/frankenphp/Caddyfile","line":5}
{"level":"info","ts":1765640142.4863994,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
{"level":"info","ts":1765640142.4869363,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
{"level":"info","ts":1765640142.4869814,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"info","ts":1765640142.4870658,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0005a6880"}
{"level":"warn","ts":1765640142.4875402,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"warn","ts":1765640142.4875715,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"info","ts":1765640142.487575,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
{"level":"info","ts":1765640142.487612,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
{"level":"info","ts":1765640142.4877746,"msg":"failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 7168 kiB, got: 416 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}
{"level":"info","ts":1765640142.4879992,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"info","ts":1765640142.4880202,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["localhost"]}
{"level":"info","ts":1765640142.488245,"logger":"pki.ca.local","msg":"root certificate trust store installation disabled; unconfigured clients may show warnings","path":"storage:pki/authorities/local/root.crt"}
{"level":"info","ts":1765640142.4971974,"logger":"tls.obtain","msg":"acquiring lock","identifier":"localhost"}
{"level":"info","ts":1765640142.4972823,"logger":"tls","msg":"cleaning storage unit","storage":"FileStorage:/data/caddy"}
{"level":"info","ts":1765640142.50303,"logger":"tls.obtain","msg":"lock acquired","identifier":"localhost"}
{"level":"info","ts":1765640142.503123,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"info","ts":1765640142.5031528,"logger":"tls.obtain","msg":"obtaining certificate","identifier":"localhost"}
{"level":"info","ts":1765640142.527225,"logger":"tls.obtain","msg":"certificate obtained successfully","identifier":"localhost","issuer":"local"}
{"level":"info","ts":1765640142.5273845,"logger":"tls.obtain","msg":"releasing lock","identifier":"localhost"}
{"level":"warn","ts":1765640142.5278883,"logger":"tls","msg":"stapling OCSP","identifiers":["localhost"]}
{"level":"info","ts":1765640142.5791152,"logger":"frankenphp","msg":"FrankenPHP started 🐘","php_version":"8.5.0","num_threads":32,"max_threads":32}
{"level":"info","ts":1765640142.5797393,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1765640142.5797899,"msg":"serving initial configuration"}
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a45ead46e4d3 dunglas/frankenphp "docker-php-entrypoi…" 16 seconds ago Up 15 seconds (health: starting) 0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:443->443/udp, [::]:443->443/udp hopeful_poitras
[m@M-NB symfony_demo]$ curl -Ik https://localhost
HTTP/2 200
alt-svc: h3=":443"; ma=2592000
cache-control: no-cache, private
content-type: text/html; charset=UTF-8
date: Sat, 13 Dec 2025 15:36:02 GMT
server: FrankenPHP Caddy
set-cookie: main_deauth_profile_token=a4e3fa; path=/; httponly; samesite=lax
set-cookie: main_auth_profile_token=deleted; expires=Fri, 13 Dec 2024 15:36:01 GMT; Max-Age=0; path=/; httponly
x-debug-token: a4e3fa
x-debug-token-link: https://localhost/_profiler/a4e3fa
x-powered-by: PHP/8.5.0
x-robots-tag: noindexSeems working as intended. |
|
Now that I'm on desktop, it also looks like you're not replacing the Caddyfile of the container. cat > Caddyfile << 'EOF'
hpradio1.country-radio.eu {
root /app/public
php_server {
root /app/public
env APP_NAME hpradio1
}
}
EOF
docker run -v ./Caddyfile:/etc/frankenphp/Caddyfile -v .:/app -p 80:80 -p 443:443 -p 443:443/udp dunglas/frankenphp &This should get you running assuming you're using a Symfony project or something of the sort. If it's an oldschool project that doesn't use the public folder, mount to /app/public instead. |
|
I'm using Laravel and not Synfony. I trying to follow https://frankenphp.dev/docs/laravel/ but it is not working at espected. Please give me more background information. |
|
Hi @henderkes , I had alrady got franken in a container running with you help. I don't understand how it replace the Caddyfile of the container. Thank you, HGA |
|
mounts the Caddyfile in your pwd into the container at /etc/frankenphp/Caddyfile as long as the container is running. You obviously don't need to run the cat command if you already have that content in a Caddyfile in your current folder. |
|
Thanks @henderkes , Thanks for your patience with a absolut beginner. |
|
Hi @henderkes, Danke, |


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I'm using Debian 13 and tried to following the instruction
frankenphp.dev/docs/docker. Here my Dockerfile:`FROM dunglas/frankenphp:1.10.1-php8.5-trixie COPY . /app/public`If I type
docker run -e SERVERNAME="hpradio1.country-radio.eu" -p 80:80 -p 443:443 -v $PWD:/app dunglas/frankenphp:1.10.1-php8.5-trixieI got the following warning:{"level":"warn","ts":1765554259.968748,"logger":"tls","msg":"stapling OCSP","identifiers":["localhost"]}and the execusion stops!And here my Caddyfile:
I have no idea, what's wrong. Can anybody help me?
All reactions