2 years ago

#46951

test-img

jodm

Strapi in Docker using traefik /admin Not Found

I am attempting to get:

  • ExpressJS running on "/"
  • Strapi running from "/cms" e.g. cms/admin for admin panel.

http://localhost/cms is working and shows the Strapi "Create the first administrator" page. However http://localhost/cms/admin gives "Not Found".

In my docker-compose file I have the following:

version: "3.3"
services:
  traefik:
    image: traefik:v2.1
    command:
      - "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
  server:
    image: backend
    build:
        context: Backend
        dockerfile: Dockerfile
    labels:      
        - "traefik.enable=true"
        - "traefik.http.routers.server.rule=PathPrefix(`/cms`)"
        - "traefik.http.routers.server.middlewares=server-stripprefix"
        - "traefik.http.middlewares.server-stripprefix.stripprefix.prefixes=/cms"        
        - "traefik.http.routers.web.entrypoints=web"
        - "traefik.http.services.server.loadbalancer.server.port=1337"
  web:
    image: frontend
    build:
        context: Frontend
        dockerfile: Dockerfile
    environment:
        - APP_SERVER_URI=http://localhost/
    depends_on:
        - server
    labels:
        - "traefik.enable=true"
        - "traefik.http.routers.web.rule=PathPrefix(`/`)"
        - "traefik.http.routers.web.entrypoints=web"
        - "traefik.http.services.web.loadbalancer.server.port=5000"

In my Strapi /config/server.js:

module.exports = ({ env }) => ({
  host: env('HOST', '0.0.0.0'),
  port: env.int('PORT', 1337),
  proxy: true, 
  url: 'cms',
  admin: {
    auth: {
      secret: env('ADMIN_JWT_SECRET', 'SECRET'),
    },
  },
});

docker

docker-compose

traefik

strapi

0 Answers

Your Answer

Accepted video resources