feat: Casdoor support postgresql (#4068)
This commit is contained in:
parent
aa9ec25475
commit
165e187d38
|
|
@ -41,6 +41,8 @@ additionalProperties:
|
||||||
value: mysql
|
value: mysql
|
||||||
- label: MariaDB
|
- label: MariaDB
|
||||||
value: mariadb
|
value: mariadb
|
||||||
|
- label: PostgreSQL
|
||||||
|
value: postgres
|
||||||
- default: casdoor
|
- default: casdoor
|
||||||
envKey: PANEL_DB_NAME
|
envKey: PANEL_DB_NAME
|
||||||
labelEn: Database
|
labelEn: Database
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ services:
|
||||||
- ${PANEL_APP_PORT_HTTP}:8000
|
- ${PANEL_APP_PORT_HTTP}:8000
|
||||||
environment:
|
environment:
|
||||||
RUNNING_IN_DOCKER: "true"
|
RUNNING_IN_DOCKER: "true"
|
||||||
driverName: "mysql"
|
driverName: ${CASDOOR_DRIVER_NAME}
|
||||||
dataSourceName: ${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@tcp(${PANEL_DB_HOST}:${PANEL_DB_PORT})/
|
dataSourceName: ${CASDOOR_DATASOURCE_NAME}
|
||||||
dbName: ${PANEL_DB_NAME}
|
dbName: ${PANEL_DB_NAME}
|
||||||
volumes:
|
volumes:
|
||||||
- ./conf:/conf
|
- ./conf:/conf
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
[ -f ./.env ] && source ./.env
|
||||||
|
|
||||||
|
# Default configuration
|
||||||
|
CASDOOR_DRIVER_NAME=${PANEL_DB_TYPE}
|
||||||
|
CASDOOR_DATASOURCE_NAME="${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@tcp(${PANEL_DB_HOST}:${PANEL_DB_PORT})/"
|
||||||
|
|
||||||
|
# Reset mariadb driver
|
||||||
|
if [ "$PANEL_DB_TYPE" = "mariadb" ]; then
|
||||||
|
CASDOOR_DRIVER_NAME="mysql"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Reset postgresql datasource
|
||||||
|
if [ "$PANEL_DB_TYPE" = "postgres" ]; then
|
||||||
|
CASDOOR_DATASOURCE_NAME="user=${PANEL_DB_USER} password=${PANEL_DB_USER_PASSWORD} host=${PANEL_DB_HOST} port=${PANEL_DB_PORT} dbname=${PANEL_DB_NAME} sslmode=disable"
|
||||||
|
fi
|
||||||
|
|
||||||
|
{
|
||||||
|
# Retain the original environment variables
|
||||||
|
grep -vE '^(CASDOOR_DRIVER_NAME|CASDOOR_DATASOURCE_NAME)' ./.env 2>/dev/null
|
||||||
|
|
||||||
|
# Add CASDOOR_xx environment variables
|
||||||
|
echo "CASDOOR_DRIVER_NAME=${CASDOOR_DRIVER_NAME}"
|
||||||
|
echo "CASDOOR_DATASOURCE_NAME=\"${CASDOOR_DATASOURCE_NAME}\""
|
||||||
|
echo ""
|
||||||
|
} > ./.env.tmp && mv ./.env.tmp ./.env
|
||||||
|
|
||||||
Loading…
Reference in New Issue