Need help building flarum container please!

See subject line. Using crazymax’s flarum Docker image on Scale 25.04.0. At this point I cannot access the portal UI. Here’s what I have so far:



What am I doing wrong please?

Here’s also crazymax’s flarum Github.

Not going to get an eyestrain headache trying to figure out the screenshots. Do the custom app from YAML, and the provided Compose file:

I prefer Compose via Dockge, but this ought to work as well.

Just click on the screenshots, and they will expand. Otherwise, I do not know how to “do a custom app from YAML,” I’m afraid. Where do I find this YAML file?

It’s the file dan posted and next to the custom app option click on the 3 dots to open the window where you have to paste it to.

Edit: you obviously have to edit the storage paths

Thanks, but that hardly clears my confusion: What paths are you talking about? The ones in the YAML file? I do, indeed, see a few paths in the YAML file (such as those on the env_file and volumes lines), though I haven’t the faintest idea as to what they refer to. To what are these paths supposed to point? Paths in the container (the one that doesn’t yet exist)? Or are they paths on the local system where the UI is opened? How would I know what values they should have?

Apologies, but i am completely lost.

Maybe this makes it clearer

Replace “/mnt/Poolname/datasetname” with the dataset you want to mount inside the container.
The part before the : is the path on the host, the one after the path inside the container.

2 Likes

Alright, here below is what I could come up with. Looks like the containers are, indeed, running, though I still can’t access the UI. Again what am I doing wrong please?

name: flarum

services:
  db:
    image: mariadb:10
    container_name: flarum_db
    command:
      - "mysqld"
      - "--character-set-server=utf8mb4"
      - "--collation-server=utf8mb4_unicode_ci"
    volumes:
      - "/mnt/nas0_app/flarum:/var/lib/mysql"
    environment:
      - "TZ: America/New_York"
      - "MARIADB_RANDOM_ROOT_PASSWORD=yes"
      - "MYSQL_DATABASE: flarum"
      - "MYSQL_USER: flarum"
      - "MYSQL_PASSWORD: flarum"
    restart: always

  msmtpd:
    image: crazymax/msmtpd:latest
    container_name: flarum_msmtpd
    environment:
      - "TZ: America/New_York"
      - SMTP_HOST=smtp.gmail.com
      - SMTP_PORT=587
      - SMTP_TLS=on
      - SMTP_STARTTLS=on
      - SMTP_TLS_CHECKCERT=on
      - SMTP_AUTH=on
      - SMTP_USER=<some_user>
      - SMTP_PASSWORD=<some_password>
      - SMTP_FROM=<some_user>@gmail.com
    restart: always

  flarum:
    image: crazymax/flarum:latest
    container_name: flarum
    ports:
      - target: 8000
        published: 8000
        protocol: tcp
    depends_on:
      - db
      - msmtpd
    volumes:
      - "/mnt/nas0_app/flarum:/data"
    environment:
      - "TZ=America/New_York"
      - "PUID=1000"
      - "PGID=1000"
      - "DB_HOST=db"
      - "DB_NAME=flarum"
      - "DB_USER=flarum"
      - "DB_PASSWORD=flarum"
      - MEMORY_LIMIT=256M
      - UPLOAD_MAX_SIZE=16M
      - OPCACHE_MEM_SIZE=128
      - REAL_IP_FROM=0.0.0.0/32
      - REAL_IP_HEADER=X-Forwarded-For
      - LOG_IP_VAR=remote_addr
      - FLARUM_DEBUG=false
      - FLARUM_BASE_URL=http://127.0.0.1:8000
    restart: unless-stopped

x-portals:
  - host: 0.0.0.0
    name: Web UI
    path: /
    port: 15000
    scheme: http

Are you using port 8000, or 15000? You seem to have set the latter for some reason for the “Web UI” button, but the stack appears to be listening on the former.

Yeah, the WebUI button wasn’t showing up, so I deleted the x-portals section completely. So please ignore that. Anyway, I am still not able to access the UI.

And here’s what the flarum log shows:

2025-05-11 20:39:40.664462+00:00[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
2025-05-11 20:39:40.788367+00:00[s6-init] ensuring user provided files have correct perms...exited 0.
2025-05-11 20:39:40.791945+00:00[fix-attrs.d] applying ownership & permissions fixes...
2025-05-11 20:39:40.794440+00:00[fix-attrs.d] done.
2025-05-11 20:39:40.796550+00:00[cont-init.d] executing container initialization scripts...
2025-05-11 20:39:40.800891+00:00[cont-init.d] 00-fix-logs.sh: executing... 
2025-05-11 20:39:40.807563+00:00[cont-init.d] 00-fix-logs.sh: exited 0.
2025-05-11 20:39:40.811471+00:00[cont-init.d] 01-fix-uidgid.sh: executing... 
2025-05-11 20:39:40.818712+00:00[cont-init.d] 01-fix-uidgid.sh: exited 0.
2025-05-11 20:39:40.822473+00:00[cont-init.d] 02-fix-perms.sh: executing... 
2025-05-11 20:39:40.827069+00:00Fixing perms...
2025-05-11 20:39:40.832051+00:00[cont-init.d] 02-fix-perms.sh: exited 0.
2025-05-11 20:39:40.836071+00:00[cont-init.d] 03-config.sh: executing... 
2025-05-11 20:39:40.842179+00:00Setting timezone to America/New_York...
2025-05-11 20:39:40.843222+00:00Setting PHP-FPM configuration...
2025-05-11 20:39:40.844378+00:00Setting PHP INI configuration...
2025-05-11 20:39:40.855377+00:00Setting OpCache configuration...
2025-05-11 20:39:40.856219+00:00Setting Nginx configuration...
2025-05-11 20:39:40.858843+00:00Initializing files and folders...
2025-05-11 20:39:40.860969+00:00cp: can't create '/data/assets': File exists
2025-05-11 20:39:40.861691+00:00cp: can't create '/data/storage': File exists
2025-05-11 20:39:40.867422+00:00Permissions already fixed in /data/assets
2025-05-11 20:39:40.868849+00:00Permissions already fixed in /data/extensions
2025-05-11 20:39:40.870574+00:00Permissions already fixed in /data/storage
2025-05-11 20:39:40.977558+00:00Permissions already fixed in /opt/flarum/vendor
2025-05-11 20:39:40.977602+00:00Checking parameters...
2025-05-11 20:39:40.977610+00:00Checking database connection...
2025-05-11 20:39:40.977808+00:00Waiting 60s for database to be ready...
2025-05-11 20:40:41.635920+00:00ERROR: Failed to connect to database on db
2025-05-11 20:40:41.640540+00:00[cont-init.d] 03-config.sh: exited 1.
2025-05-11 20:40:41.674529+00:00[cont-finish.d] executing container finish scripts...
2025-05-11 20:40:41.676960+00:00[cont-finish.d] done.
2025-05-11 20:40:41.678214+00:00[s6-finish] waiting for services.
2025-05-11 20:40:41.895300+00:00[s6-finish] sending all processes the TERM signal.
2025-05-11 20:40:44.914162+00:00[s6-finish] sending all processes the KILL signal and exiting.