Level 1
It's probably late but as I'm interested in the topic can you configure traefik to point to port 8000? maybe FrankenPhp points to that automatically.
Hello, Is someone already deployed a Laravel/Franken/Docker with Traefik ? I'm trying to deploy one. And all I tried, at the best, give me a bad gateway error. Here my traefik config :
version: '3'
services:
r-p:
image: traefik:v3.1
command: --configFile=/etc/traefik/traefik.yml
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik.yml:/etc/traefik/traefik.yml
- ./acme.json:/acme.json
networks:
- r-p
labels:
- "traefik.http.middlewares.https_redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.https_redirect.redirectscheme.permanent=true"
- traefik.http.middlewares.SslHeader.headers.frameDeny=true
- traefik.http.middlewares.SslHeader.headers.SslRedirect=true
- traefik.http.middlewares.SslHeader.headers.AccessControlAllowMethods=GET,OPTIONS,PUT
- traefik.http.middlewares.SslHeader.headers.AccessControlAllowOrigin=origin-list-or-null
- traefik.http.middlewares.SslHeader.headers.AccessControlMaxAge=100
- traefik.http.middlewares.SslHeader.headers.AddVaryHeader=true
- traefik.http.middlewares.SslHeader.headers.BrowserXssFilter=true
- traefik.http.middlewares.SslHeader.headers.ContentTypeNosniff=true
- traefik.http.middlewares.SslHeader.headers.ForceSTSHeader=true
- traefik.http.middlewares.SslHeader.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.SslHeader.headers.STSPreload=true
- traefik.http.middlewares.SslHeader.headers.ContentSecurityPolicy=default-src 'self' 'unsafe-eval'
- traefik.http.middlewares.SslHeader.headers.ReferrerPolicy=same-origin
- traefik.http.middlewares.SslHeader.headers.FeaturePolicy="vibrate 'self'"
- traefik.http.middlewares.SslHeader.headers.STSSeconds=31536000
- "traefik.http.middlewares.autodetect.contenttype=true"
- "traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto=https"
networks:
r-p:
external: true
The traefik.yml
entryPoints:
web:
address: ":80"
websecure:
address: ":443"
http:
middlewares:
test-redirectscheme:
redirectScheme:
scheme: https
permanent: true
certificatesResolvers:
myresolver:
acme:
email: ****@gmail.com
storage: acme.json
httpChallenge:
entryPoint: web
providers:
docker:
exposedByDefault: false
franken docker-compose.yml
services:
franken:
build:
context: .
volumes:
- type: bind
source: ./.env
target: /app/.env
- ./storage:/app/storage
- public:/app/public
restart: always
working_dir: /app
networks:
- r-p
environment:
- "SERVER_NAME=:83"
labels:
- "traefik.enable=true"
- "traefik.docker.network=r-p"
- "traefik.http.routers.franken.rule=Host(`***.***.fr`)"
- "traefik.http.routers.franken.entrypoints=websecure,web"
- "traefik.http.routers.franken.tls=true"
- "traefik.http.routers.franken.tls.certresolver=myresolver"
- "traefik.http.services.franken.loadbalancer.server.port=80"
- "traefik.http.middlewares.autodetect.contenttype=true"
#ports:
#- "83:80"
networks:
r-p:
external: true
volumes:
public:
I'm using Octane on top of Laravel. And the last my Dockerfile
FROM dunglas/frankenphp:latest-php8.3-alpine
RUN apk add --no-cache bash git linux-headers libzip-dev libxml2-dev supervisor nodejs npm chromium
RUN cu rl to composer.*** | php -- --install-dir=/usr/local/bin --filename=composer
RUN docker-php-ext-install pdo pdo_mysql sockets pcntl zip exif bcmath
# Redis
RUN apk --no-cache add pcre-dev ${PHPIZE_DEPS} \
&& pecl install redis \
&& docker-php-ext-enable redis \
&& apk del pcre-dev ${PHPIZE_DEPS} \
&& rm -rf /tmp/pear
COPY . /app
WORKDIR /app
ENV COMPOSER_ALLOW_SUPERUSER=1
RUN composer install --no-dev --prefer-dist --no-interaction
RUN npm install
RUN npm run build
RUN mkdir /tmp/public/
RUN cp -r /app/public/* /tmp/public/
RUN composer require laravel/octane
RUN yes | php artisan octane:install --server=frankenphp
#RUN /usr/bin/crontab /app/docker/crontab
ENV CHROME_PATH=/usr/bin/chromium
ENV OCTANE_SERVER=frankenphp
ENTRYPOINT ["sh", "/app/docker/entrypoint.sh"]
In my entrypoint I just have supervisor start the php artisan octane:frankenphp. Do you know what's wrong ? I tried all I could.
Please or to participate in this conversation.