Wrong page after login
franciscohosting opened this issue · 1 comments
Hello tuxgasy, first of all good work!
Second, well I have a problem, I have everything configured, but when I login to Dolibarr it gets me to the wrong page.
I login in:
https://some.server.com/dolibarr/
(because I have several other containers)
but it gets me to:
https://some.server.com/index.php?mainmenu=home
(if I send a POST with the credentials to https://some.server.com/dolibarr/index.php?mainmenu=home it logs me and everything works like a charm)
my docker-compose file is:
`version: '3'
services:
dolibarr:
image: tuxgasy/dolibarr
container_name: dolibarr
depends_on:
- mysql
- traefik
labels:
- "traefik.enable=true"
- "traefik.backend=dolibarr"
- "traefik.dolibarr.frontend.rule=Host:${SUBDOMAIN}.${DOMAIN_NAME}.${DOMAIN_TLD};PathPrefixStrip:/${DOLIBARR_PATH}"
environment:
- DOLI_DB_HOST=mysql
- DOLI_DB_USER=${MYSQL_ADD_DOLIBARR}
- DOLI_DB_PASSWORD=${ADMIN_PASSWORD}
- DOLI_DB_NAME=${MYSQL_ADD_DOLIBARR}
- DOLI_ADMIN_LOGIN=root
- DOLI_ADMIN_PASSWORD=${ADMIN_PASSWORD}
- DOLI_URL_ROOT=https://${SUBDOMAIN}.${DOMAIN_NAME}.${DOMAIN_TLD}/${DOLIBARR_PATH}
- PHP_INI_DATE_TIMEZONE='Continent/Country'
links:
- mysql
mysql:
environment:
- MYSQL_ADD_DOLIBARR=${MYSQL_ADD_DOLIBARR}
`
Thanks for your time!
I fixed it, I made a script which edits the login file in the container (/var/www/html/core/tpl/login.tpl.php) to redirect to $DOLIBARR_PATH
docker-compose.dolibarr.yml:
version: '3'
services:
dolibarr:
image: hufon/dolibarr:10.0.2
container_name: dolibarr
depends_on:
- mysql
- traefik
volumes:
- ./src/dolibarr/loginfix.sh:/loginfix.sh
labels:
- "traefik.enable=true"
- "traefik.backend=dolibarr"
- "traefik.dolibarr.frontend.rule=Host:${SUBDOMAIN}.${DOMAIN_NAME}.${DOMAIN_TLD};PathPrefixStrip:/${DOLIBARR_PATH}"
environment:
- DOLI_DB_HOST=mysql
- DOLI_DB_USER=${MYSQL_ADD_DOLIBARR}
- DOLI_DB_PASSWORD=${ADMIN_PASSWORD}
- DOLI_DB_NAME=${MYSQL_ADD_DOLIBARR}
- DOLI_ADMIN_LOGIN=root
- DOLI_ADMIN_PASSWORD=${ADMIN_PASSWORD}
- DOLI_URL_ROOT=https://${SUBDOMAIN}.${DOMAIN_NAME}.${DOMAIN_TLD}/${DOLIBARR_PATH}
- PHP_INI_DATE_TIMEZONE='Continent/City'
- DOLIBARR_PATH=${DOLIBARR_PATH}
links:
- mysql
entrypoint: /loginfix.sh
mysql:
environment:
- MYSQL_ADD_DOLIBARR=${MYSQL_ADD_DOLIBARR}
and the loginfix.sh as follows:
#!/bin/bash
set -eu
PLACE="/var/www/html/core/tpl/login.tpl.php"
if grep -q "DOLIBARR_PATH" $PLACE; then
echo "Info: login already fixed"
else
echo "Info: fixing login"
sed -i 's/action="<?php echo $php_self/echo getenv("DOLIBARR_PATH").$php_self/g' $PLACE
fi
exec /usr/local/bin/docker-run.sh