fiveai / Cachet

📛 An open source status page system for everyone.
https://cachethq.io
BSD 3-Clause "New" or "Revised" License
101 stars 28 forks source link

Cachet Setup does not load all Environment Variables #43

Open manwern opened 3 years ago

manwern commented 3 years ago

Environment

Dev: Windows 10 2004 Docker: v20.10.2 Cachet: v2.5.0

What I am trying to achieve

I want to minimize user interaction to setup cachet.

What I've tried so far

Setting Environment Variables in the docker-compose.yaml

version: '2'
services:   
  cachet:     
    image: cachet:2.5
    ports:
     - "80:8000"
    environment: 
      APP_NAME: statuspage      
      APP_DEBUG: 'true'
      APP_LOG: errorlog
      DB_DRIVER: sqlite
      DEBUG: 'true'
      MAIL_DRIVER: smtp
      MAIL_HOST: smtphost
      MAIL_PORT: '25'
      MAIL_USERNAME: username
      MAIL_ADDRESS: mail
      MAIL_PASSWORD: password
      APP_URL: http://something
      APP_KEY: <appkey>
      SESSION_DRIVER: database
      QUEUE_DRIVER: database
      CACHE_DRIVER: database
      DOCKER: 'true'
      APP_TIMEZONE: Europe/Berlin
      CACHET_BEACON: 'false'

This fills some blanks in the setup, but here comes the Problem

Problem

Using this configuration the setup shows the right mail configuration but for the Drivers, Apptimezone , Cachet_beacon, Appurl and Appname it does not work. image Refreshing the page shows the correctly configured values, looking into the pages sources also shows that the correct configuration is selected. image Trying to continue with doesn't work unless I manually select the values again. image Continuing to the next page shows no value correctly configured: image Looking inside the container both .env file and all environment variables are set correctly. Except for the APP_NAME which is not correctly parsed to docker. image image

sedan07 commented 3 years ago

@manwern I've got a funny feeling Cachet doesn't currently pull those values from the .env into the setup process, although it probably should. I've have a look when I get a moment.