1
0
Fork 0

feat: Casdoor support postgresql (#4068)

This commit is contained in:
猪儿虫 2025-06-08 22:25:47 +08:00 committed by GitHub
parent aa9ec25475
commit 165e187d38
3 changed files with 32 additions and 2 deletions

View File

@ -41,6 +41,8 @@ additionalProperties:
value: mysql
- label: MariaDB
value: mariadb
- label: PostgreSQL
value: postgres
- default: casdoor
envKey: PANEL_DB_NAME
labelEn: Database

View File

@ -9,8 +9,8 @@ services:
- ${PANEL_APP_PORT_HTTP}:8000
environment:
RUNNING_IN_DOCKER: "true"
driverName: "mysql"
dataSourceName: ${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@tcp(${PANEL_DB_HOST}:${PANEL_DB_PORT})/
driverName: ${CASDOOR_DRIVER_NAME}
dataSourceName: ${CASDOOR_DATASOURCE_NAME}
dbName: ${PANEL_DB_NAME}
volumes:
- ./conf:/conf

View File

@ -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