1. Caddy version: v2.6.2 h1:wKoFIxpmOJLGl3QXoo6PNbYvGW4xLEgo32GPBEjWL8o=
2. How I installed, and run Caddy: Docker builder
a. System environment: Docker
b. Command:
caddy run --config docker/Caddyfile
c. Service/unit/compose file:
FROM caddy:builder as builder
RUN xcaddy build \
--with github.com/baldinof/caddy-supervisor
FROM php:8.1-fpm-alpine
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
RUN apk add --no-cache autoconf bash openssl-dev g++ make pcre-dev icu-dev zlib-dev libzip-dev vim && \
docker-php-ext-install bcmath intl opcache zip sockets && \
apk del --purge autoconf g++ make && \
mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
WORKDIR /usr/src/app
COPY . .
RUN composer install \
--no-dev \
--optimize-autoloader \
--no-plugins \
--prefer-dist \
--no-progress \
--no-interaction
ENV PORT=80
RUN caddy validate --config=docker/Caddyfile \
&& cp docker/php-fpm.conf /usr/local/etc/php-fpm.d/zz-docker.conf \
&& chmod -R 777 bootstrap/cache storage
EXPOSE 80 443
CMD ["caddy", "run", "--config", "docker/Caddyfile"]
d. My complete Caddy config:
{
log {
output stdout
format console
level DEBUG
}
supervisor {
php-fpm {
restart_policy always
redirect_stdout stdout
redirect_stderr stderr
}
}
}
*:{$PORT} {
root * /usr/src/app/public
php_fastcgi /var/run/php-fpm.sock {
dial_timeout 60s
capture_stderr
}
}
3. The problem I’m having:
I get a blank white page when viewing the site after running the Docker container
4. Error messages and/or full log output:
twm_1 | {"level":"info","ts":1674692610.1530328,"msg":"using provided configuration","config_file":"docker/Caddyfile","config_adapter":""}
twm_1 | {"level":"warn","ts":1674692610.154689,"msg":"Caddyfile input is not formatted; run the 'caddy fmt' command to fix inconsistencies","adapter":"caddyfile","file":"docker/Caddyfile","line":2}
twm_1 | {"level":"info","ts":1674692610.1551828,"msg":"redirected default logger","from":"stderr","to":"stdout"}
twm_1 | 2023/01/26 00:23:30.157 INFO admin admin endpoint started {"address": "localhost:2019", "enforce_origin": false, "origins": ["//[::1]:2019", "//127.0.0.1:2019", "//localhost:2019"]}
twm_1 | 2023/01/26 00:23:30.158 WARN http server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server {"server_name": "srv0", "http_port": 80}
twm_1 | 2023/01/26 00:23:30.165 DEBUG supervisor module provisioned {"supervisors": [{"Options":{"Command":"php-fpm","Replica":0,"Args":[],"Dir":"","Env":[],"RedirectStdout":{"type":"stdout"},"RedirectStderr":{"type":"stderr"},"RestartPolicy":"always","TerminationGracePeriod":10000000000,"User":""}}]}
twm_1 | 2023/01/26 00:23:30.165 DEBUG http starting server loop {"address": "[::]:80", "tls": false, "http3": false}
twm_1 | 2023/01/26 00:23:30.165 INFO http.log server running {"name": "srv0", "protocols": ["h1", "h2", "h3"]}
twm_1 | 2023/01/26 00:23:30.165 DEBUG supervisor module started
twm_1 | 2023/01/26 00:23:30.166 INFO autosaved config (load with --resume flag) {"file": "/root/.config/caddy/autosave.json"}
twm_1 | 2023/01/26 00:23:30.167 INFO serving initial configuration
twm_1 | 2023/01/26 00:23:30.169 INFO supervisor process started {"command": ["php-fpm"], "replica": 0, "pid": 9}
twm_1 | 2023/01/26 00:23:30.178 INFO tls.cache.maintenance started background certificate maintenance {"cache": "0xc00041d260"}
twm_1 | 2023/01/26 00:23:30.178 INFO tls cleaning storage unit {"description": "FileStorage:/root/.local/share/caddy"}
twm_1 | 2023/01/26 00:23:30.178 INFO tls finished cleaning storage units
twm_1 | [26-Jan-2023 00:23:30] NOTICE: fpm is running, pid 9
twm_1 | [26-Jan-2023 00:23:30] NOTICE: ready to handle connections
5. What I already tried:
I’ve rewritten the setup about 3 times at this point, it was working before with Caddy v1 but now I’ve swapped to Caddy v2 it does not work. I’ve tried restarting PHP-FPM and Caddy and I’ve tried a multitude of different configs and I really do not understand why this does not work.