Replies: 11 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. |
Beta Was this translation helpful? Give feedback.
-
|
I have changed my Caddyfile to your recommendation. But the problem still exists.
What I'm not understand:
|
Beta Was this translation helpful? Give feedback.
-
Is it that what you want? |
Beta Was this translation helpful? Give feedback.
-
|
#2070 (reply in thread) |
Beta Was this translation helpful? Give feedback.
-
|
I was thinking, that frankenphp is doing all neccessary stuff and I was folling the frankenphp instructions. |
Beta Was this translation helpful? Give feedback.
-
|
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. |
Beta Was this translation helpful? Give feedback.
-
|
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. |
Beta Was this translation helpful? Give feedback.
-
|
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. |
Beta Was this translation helpful? Give feedback.
-
|
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 |
Beta Was this translation helpful? Give feedback.
-
|
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. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks @henderkes , Thanks for your patience with a absolut beginner. |
Beta Was this translation helpful? Give feedback.


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?
Beta Was this translation helpful? Give feedback.
All reactions