REGmon-project / regmon

Athlete Monitoring in Sport Practice and Research
https://regmon-project.github.io/
MIT License
6 stars 1 forks source link

.env file creation enforced each time after restart of Docker stack #24

Open jeli0001 opened 5 months ago

jeli0001 commented 5 months ago

We have currently deployed a REGMon Docker stack running on localhost:8000. The installation runs fine except for the fact that each time the stack is restarted with docker compose -f "docker-compose-prod.yml" up -d, we are first redirected to the ".env file is missing" Configuration page where we are asked to generate and save an .env file. Is there any way to make the .env settings permanent so that they survive a restart of the stack? We have already tried to put an .env file (simple copy of the .env.sample file which ships with the installation files) into the Docker root directory and reference it in the docker compose file, but the problem remains the same: When trying to access the REGmon URL after restarting the stack, we are redirected to the ".env file is missing" page.

QuasiMoko commented 5 months ago

hi, I deployed REGmon about 2month ago manually and not with docker. I had similar difficulties as you. My solution was, that there was a configuration value that wasn't set correctly by install script. I found the values in the DB-Table "CONFIG" in the json-val-string but can't remember which one it exactly was. May you take a look on that point and can tell us where the problem is?

jeli0001 commented 5 months ago

Hi, thanks a lot for the hint. Just checked the contents of table config in the MySQL database of the db-container. Looks rather inconspicuous:

{"DB_Debug_File":"__log_query.log",
"DB_Debug":"0",
"DOMAIN":"localhost",
"REGmon_Folder":"",
"Production_Mode":"0",
"HTTP":"http://",
"Force_Redirect_To_HTTPS":"0",
"Use_Multi_Language_Selector":"1",
"Use_VisualCaptcha":"1",
"Default_Language":"de",
"LogLimiter":{
    "Max_Attempts":"5",
    "Block_Minutes":"10"},
"EMAIL":{
    "Host":"smtp-host-url",
    "Port":"587",
    "Username":"someone@mailserver.com",
    "Password":"fancyhash==",
    "From_Name":"Your admin",
    "From_Email":"someone@mailserver.com",
    "Reply_Name":"Your admin",
    "Reply_Email":"someone@mailserver.com",
    "Support":"someone@mailserver.com"},
"SEC_Hash_IP":"1",
"SEC_Page_Secret":"justanotherrandomstring",
"SEC_Hash_Secret":"yetanotherhash",
"SEC_Encrypt_Secret":"someencryptionkey"}

I first thought that there was a missing value for the REGmon_Folder key because it contained an empty string. But it turns out that this k/v-pair does not refer to a folder on the file system but is used for URL-generation. So if it's the JSON in that config string, I assume that it must be a key-value-pair which is not misconfigured but completely missing. So the question is: What key-value pair would we need to add there in order to enable the code to pick up the information stored in the .env file?

ChristianStrotkoetter commented 5 months ago

Hi jeli0001, thanks for reaching out and sharing feedback!

I'd like to redirect this issue and question to @kencreek. I think he can provide feedback next week.