DEV Community

Cover image for How to Set Up Laravel in a Subfolder Using Traefik
Ferri Sutanto
Ferri Sutanto

Posted on • Originally published at ferrisutanto.com

How to Set Up Laravel in a Subfolder Using Traefik

Here’s how you can run Laravel in a subfolder with Traefik. Let’s consider this scenario:

  • Traefik is already installed with entry points http and https.
  • Laravel will be installed in the /app subfolder.
  • Traefik and Laravel will use an external network called traefik.

Edit docker-compose.yml as following:

services:
  app:
    image: your-app-image

    # ...the rest of the configuration

    networks:
      - traefik
    labels:
      - traefik.enable=true
      - traefik.docker.network=traefik
      - traefik.constraint-label=traefik

      - traefik.http.middlewares.app-strip.stripprefix.prefixes=/app

      # HTTP entrypoint
      - traefik.http.routers.app-http.entrypoints=http
      - traefik.http.routers.app-http.rule=Host(`your-app-domain.com`) && PathPrefix(`/app`)
      - traefik.http.routers.app-http.middlewares=https-redirect,app-strip

      # HTTPS  entrypoint
      - traefik.http.routers.app-https.entrypoints=https
      - traefik.http.routers.app-https.rule=Host(`your-app-domain.com`) && PathPrefix(`/app`)
      - traefik.http.routers.app-https.tls=true
      - traefik.http.routers.app-https.middlewares=app-strip

networks:
  traefik:
    external: true
Enter fullscreen mode Exit fullscreen mode

Edit .env and set the subfolder in APP_URL.

APP_URL=https://your-app-domain.com/app

# ...the rest of the configuration
Enter fullscreen mode Exit fullscreen mode

Edit app/Http/Middleware/TrustProxies.php and ensure that all proxies are allowed to let Laravel generate HTTPS URLs.

Always use URL helpers like url(), route(), etc., to generate full URLs, including the subfolder path.

That’s it! Now you can run your compose file with docker compose up -d and access your Laravel application via the subfolder.

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

Top comments (0)

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay