404 on subfolders

Can someone tell me what I'm doing wrong here? With this configuration, https://username.duckdns.org takes me straight to the Home Assistant container. https://username.duckdns.org/portainer yields a 404 error though, as does /home-assistant. Basically the Home Assistant container is the only one accessible through Traefik at the moment.

docker-compose.yml

version: '3'

networks:
  proxy:
    external: true

services:
  reverse-proxy:
    container_name: reverse-proxy
    image: traefik:v1.7.24-alpine
    restart: always
    command: --web --docker
    networks:
      - proxy
    ports:
      - 8080:8080
      - 80:80
      - 443:443
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/USERNAME/DockerContainers/traefik/traefik.toml:/traefik.toml
      - /home/USERNAME/DockerContainers/traefik/acme.json:/acme.json

  homeassistant:
    image: homeassistant/home-assistant
    container_name: home-assistant
    restart: unless-stopped
    networks:
      - proxy
    ports:
      - 8123:8123
    volumes:
     - /home/USERNAME/DockerContainers/homeassistant:/config
     - /etc/localtime:/etc/localtime:ro
    labels:
      - "traefik.backend=home-assistant"
      - "traefik.docker.network=proxy"
      - "traefik.frontend.rule=Host:USERNAME.duckdns.org; PathPrefix:/home-assistant"
      - "traefik.enable=true"
      - "traefik.port=8123"
      - "traefik.default.protocol=http"

  portainer:
    image: portainer/portainer
    container_name: portainer
    restart: unless-stopped
    networks:
      - proxy
    ports:
      - 9000:9000
    volumes:
     - /home/USERNAME/DockerContainers/portainer:/data
     - /var/run/docker.sock:/var/run/docker.sock
    labels:
      - "traefik.backend=portainer"
      - "traefik.docker.network=proxy"
      - "traefik.frontend.rule=Host:USERNAME.duckdns.org; PathPrefix:/portainer"
      - "traefik.enable=true"
      - "traefik.port=9000"
      - "traefik.default.protocol=http"

traefik.toml:

debug = false

logLevel = "ERROR"
defaultEntryPoints = ["https","http"]

[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
    entryPoint = "https"
  [entryPoints.https]
  address = ":443"
  [entryPoints.https.tls]

[retry]

[web]
address = ":8080"

[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "docker.localhost"
watch = true
exposedbydefault = false

[acme]
email = "USERNAME@gmail.com"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
[acme.httpChallenge]
entryPoint = "http"

[[acme.domains]]
  main = "USERNAME.duckdns.org"