feat: support MySQL SSL connection (close #185)
This commit is contained in:
@@ -40,6 +40,18 @@ Default: `vaultwarden`
|
|||||||
|
|
||||||
MySQL(MariaDB) password, **required**.
|
MySQL(MariaDB) password, **required**.
|
||||||
|
|
||||||
|
#### MYSQL_SSL_CA
|
||||||
|
|
||||||
|
The path to the CA certificate for TLS connection (optional).
|
||||||
|
|
||||||
|
#### MYSQL_SSL_CERT
|
||||||
|
|
||||||
|
The path to the client certificate for TLS connection (optional).
|
||||||
|
|
||||||
|
#### MYSQL_SSL_KEY
|
||||||
|
|
||||||
|
The path to the client key for TLS connection (optional).
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+12
-1
@@ -52,7 +52,18 @@ function backup_db_postgresql() {
|
|||||||
function backup_db_mysql() {
|
function backup_db_mysql() {
|
||||||
color blue "backup vaultwarden mysql database"
|
color blue "backup vaultwarden mysql database"
|
||||||
|
|
||||||
mariadb-dump -h "${MYSQL_HOST}" -P "${MYSQL_PORT}" -u "${MYSQL_USERNAME}" -p"${MYSQL_PASSWORD}" "${MYSQL_DATABASE}" > "${BACKUP_FILE_DB_MYSQL}"
|
local EXTRA_OPTIONS=()
|
||||||
|
if [[ -n "${MYSQL_SSL_CA}" ]]; then
|
||||||
|
EXTRA_OPTIONS+=("--ssl-ca=\"${MYSQL_SSL_CA}\"")
|
||||||
|
fi
|
||||||
|
if [[ -n "${MYSQL_SSL_CERT}" ]]; then
|
||||||
|
EXTRA_OPTIONS+=("--ssl-cert=\"${MYSQL_SSL_CERT}\"")
|
||||||
|
fi
|
||||||
|
if [[ -n "${MYSQL_SSL_KEY}" ]]; then
|
||||||
|
EXTRA_OPTIONS+=("--ssl-key=\"${MYSQL_SSL_KEY}\"")
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval "mariadb-dump -h \"${MYSQL_HOST}\" -P \"${MYSQL_PORT}\" -u \"${MYSQL_USERNAME}\" -p\"${MYSQL_PASSWORD}\" ${EXTRA_OPTIONS[@]} \"${MYSQL_DATABASE}\" > \"${BACKUP_FILE_DB_MYSQL}\""
|
||||||
if [[ $? != 0 ]]; then
|
if [[ $? != 0 ]]; then
|
||||||
color red "backup vaultwarden mysql database failed"
|
color red "backup vaultwarden mysql database failed"
|
||||||
|
|
||||||
|
|||||||
@@ -492,6 +492,15 @@ function init_env_db() {
|
|||||||
|
|
||||||
# MYSQL_PASSWORD
|
# MYSQL_PASSWORD
|
||||||
get_env MYSQL_PASSWORD
|
get_env MYSQL_PASSWORD
|
||||||
|
|
||||||
|
# MYSQL_SSL_CA
|
||||||
|
get_env MYSQL_SSL_CA
|
||||||
|
|
||||||
|
# MYSQL_SSL_CERT
|
||||||
|
get_env MYSQL_SSL_CERT
|
||||||
|
|
||||||
|
# MYSQL_SSL_KEY
|
||||||
|
get_env MYSQL_SSL_KEY
|
||||||
else # sqlite
|
else # sqlite
|
||||||
DB_TYPE="SQLITE"
|
DB_TYPE="SQLITE"
|
||||||
fi
|
fi
|
||||||
|
|||||||
+12
-1
@@ -90,7 +90,18 @@ function restore_db_postgresql() {
|
|||||||
function restore_db_mysql() {
|
function restore_db_mysql() {
|
||||||
color blue "restore vaultwarden mysql database"
|
color blue "restore vaultwarden mysql database"
|
||||||
|
|
||||||
mariadb -h "${MYSQL_HOST}" -P "${MYSQL_PORT}" -u "${MYSQL_USERNAME}" -p"${MYSQL_PASSWORD}" "${MYSQL_DATABASE}" < "${RESTORE_FILE_DB}"
|
local EXTRA_OPTIONS=()
|
||||||
|
if [[ -n "${MYSQL_SSL_CA}" ]]; then
|
||||||
|
EXTRA_OPTIONS+=("--ssl-ca=\"${MYSQL_SSL_CA}\"")
|
||||||
|
fi
|
||||||
|
if [[ -n "${MYSQL_SSL_CERT}" ]]; then
|
||||||
|
EXTRA_OPTIONS+=("--ssl-cert=\"${MYSQL_SSL_CERT}\"")
|
||||||
|
fi
|
||||||
|
if [[ -n "${MYSQL_SSL_KEY}" ]]; then
|
||||||
|
EXTRA_OPTIONS+=("--ssl-key=\"${MYSQL_SSL_KEY}\"")
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval "mariadb -h \"${MYSQL_HOST}\" -P \"${MYSQL_PORT}\" -u \"${MYSQL_USERNAME}\" -p\"${MYSQL_PASSWORD}\" ${EXTRA_OPTIONS[@]} \"${MYSQL_DATABASE}\" < \"${RESTORE_FILE_DB}\""
|
||||||
|
|
||||||
if [[ $? == 0 ]]; then
|
if [[ $? == 0 ]]; then
|
||||||
color green "restore vaultwarden mysql database successful"
|
color green "restore vaultwarden mysql database successful"
|
||||||
|
|||||||
Reference in New Issue
Block a user