No admin page when using commandbox docker image

I am brand new to CommandBox / lucee and looking for some help!

I’ve currently deployed ortussolutions/commandbox:latest as a container using docker compose. My end goal is to stand up an instance of lucee my devs can use to test migrations from CF → lucee, ultimately with a postgresql DB backend datasource.

All of the guides I am reading indicate that I should be able to hit my lucee instance at http://IP_ADDRESS:8080/lucee/admin/ or http://IP_ADDRESS:8080/lucee/admin/server.cfm, but I’m only getting 404 errors from that. Specifically, I’m getting the error:

Not Found
(Check logs for more info)

Unfortunately nothing appears in the container logs. After digging around inside of the container, I found the installation at /usr/local/lib, but none of the logs I checked in the CommandBox or serverHome directory had anything either. Am I looking in the wrong spot?

I’ve tried setting the adminPassword variable both as an environment variable and using the cfconfig command on the commandbox console inside of the container, thinking maybe that would result in the admin page becoming visible, but it hasn’t worked.

I volume-mounted the /app directory and created an index.cfm there which is just doing a cfdump var="#SERVER#" and that works great. If I remove the volume mount, I see the “COMMANDBOX Is up and Running on Docker!” message when I hit index.cfm. But no /lucee/admin page! Where should I be finding the admin pages so I can add this datasource? Should I be doing something differently?

My docker-compose.yml file:

version: "3"
services:
  lucee:
    image: ortussolutions/commandbox:latest
    restart: always
    volumes:
      - ./app:/app
    ports:
      - 8080:8080
    environment:
      - TZ=America/New_York
      - cfconfig_adminPassword=testing123
    networks:
      - backend
  db:
    image: postgres:latest
    restart: always
    volumes:
      - ./dbdata:/var/lib/postgresql/data
    ports:
      - 5432:5432
    environment:
      - POSTGRES_USER=testing123
      - POSTGRES_PASSWORD=testing123
    networks:
      - backend
networks:
  backend:
    external: true

Thanks in advance for any help!

I got this working! My problem was that the default server profile is “production,” which specifically disallows access to the Lucee admin pages when accessing from anything other than localhost. I was already planning on putting my Lucee service behind a reverse proxy, but I wanted to be certain it was working. The easiest way to was to set the environment variable BOX_SERVER_PROFILE=development in my docker-compose.yml and it worked beautifully.

Immediately after that, I ran into a bug where I was forced back to the login page on every click in the admin menu, and that was fixed by finally setting up the reverse proxy with proper SSL config.