$65 GRAYBYTE WORDPRESS FILE MANAGER $25

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/home/bravrvjk/.acme.sh/deploy/

HOME
Current File : /home/bravrvjk/.acme.sh/deploy//openmediavault.sh
#!/bin/bash

# This deploy hook is tested on OpenMediaVault 5.x. It supports both local and remote deployment.
# The way it works is that if a cert with the matching domain name is not found, it will firstly create a dummy cert to get its uuid, and then replace it with your cert.
#
# DEPLOY_OMV_WEBUI_ADMIN - This is OMV web gui admin account. Default value is admin. It's required as the user parameter (-u) for the omv-rpc command.
# DEPLOY_OMV_HOST and DEPLOY_OMV_SSH_USER are optional. They are used for remote deployment through ssh (support public key authentication only). Per design, OMV web gui admin doesn't have ssh permission, so another account is needed for ssh.
#
# returns 0 means success, otherwise error.

########  Public functions #####################

#domain keyfile certfile cafile fullchain
openmediavault_deploy() {
  _cdomain="$1"
  _ckey="$2"
  _ccert="$3"
  _cca="$4"
  _cfullchain="$5"

  _debug _cdomain "$_cdomain"
  _debug _ckey "$_ckey"
  _debug _ccert "$_ccert"
  _debug _cca "$_cca"
  _debug _cfullchain "$_cfullchain"

  _getdeployconf DEPLOY_OMV_WEBUI_ADMIN

  if [ -z "$DEPLOY_OMV_WEBUI_ADMIN" ]; then
    DEPLOY_OMV_WEBUI_ADMIN="admin"
  fi

  _savedeployconf DEPLOY_OMV_WEBUI_ADMIN "$DEPLOY_OMV_WEBUI_ADMIN"

  _getdeployconf DEPLOY_OMV_HOST
  _getdeployconf DEPLOY_OMV_SSH_USER

  if [ -n "$DEPLOY_OMV_HOST" ] && [ -n "$DEPLOY_OMV_SSH_USER" ]; then
    _info "[OMV deploy-hook] Deploy certificate remotely through ssh."
    _savedeployconf DEPLOY_OMV_HOST "$DEPLOY_OMV_HOST"
    _savedeployconf DEPLOY_OMV_SSH_USER "$DEPLOY_OMV_SSH_USER"
  else
    _info "[OMV deploy-hook] Deploy certificate locally."
  fi

  if [ -n "$DEPLOY_OMV_HOST" ] && [ -n "$DEPLOY_OMV_SSH_USER" ]; then

    _command="omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'CertificateMgmt' 'getList' '{\"start\": 0, \"limit\": -1}' | jq -r '.data[] | select(.name==\"/CN='$_cdomain'\") | .uuid'"
    # shellcheck disable=SC2029
    _uuid=$(ssh "$DEPLOY_OMV_SSH_USER@$DEPLOY_OMV_HOST" "$_command")
    _debug _command "$_command"

    if [ -z "$_uuid" ]; then
      _info "[OMV deploy-hook] Domain $_cdomain has no certificate in openmediavault, creating it!"
      _command="omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'CertificateMgmt' 'create' '{\"cn\": \"test.example.com\", \"size\": 4096, \"days\": 3650, \"c\": \"\", \"st\": \"\", \"l\": \"\", \"o\": \"\", \"ou\": \"\", \"email\": \"\"}' | jq -r '.uuid'"
      # shellcheck disable=SC2029
      _uuid=$(ssh "$DEPLOY_OMV_SSH_USER@$DEPLOY_OMV_HOST" "$_command")
      _debug _command "$_command"

      if [ -z "$_uuid" ]; then
        _err "[OMV deploy-hook] An error occured while creating the certificate"
        return 1
      fi
    fi

    _info "[OMV deploy-hook] Domain $_cdomain has uuid: $_uuid"
    _fullchain=$(jq <"$_cfullchain" -aRs .)
    _key=$(jq <"$_ckey" -aRs .)

    _debug _fullchain "$_fullchain"
    _debug _key "$_key"

    _info "[OMV deploy-hook] Updating key and certificate in openmediavault"
    _command="omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'CertificateMgmt' 'set' '{\"uuid\":\"$_uuid\", \"certificate\":$_fullchain, \"privatekey\":$_key, \"comment\":\"acme.sh deployed $(date)\"}'"
    # shellcheck disable=SC2029
    _result=$(ssh "$DEPLOY_OMV_SSH_USER@$DEPLOY_OMV_HOST" "$_command")

    _debug _command "$_command"
    _debug _result "$_result"

    _command="omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'WebGui' 'setSettings' \$(omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'WebGui' 'getSettings' | jq -c '.sslcertificateref=\"$_uuid\"')"
    # shellcheck disable=SC2029
    _result=$(ssh "$DEPLOY_OMV_SSH_USER@$DEPLOY_OMV_HOST" "$_command")

    _debug _command "$_command"
    _debug _result "$_result"

    _info "[OMV deploy-hook] Asking openmediavault to apply changes... (this could take some time, hang in there)"
    _command="omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'Config' 'applyChanges' '{\"modules\":[], \"force\": false}'"
    # shellcheck disable=SC2029
    _result=$(ssh "$DEPLOY_OMV_SSH_USER@$DEPLOY_OMV_HOST" "$_command")

    _debug _command "$_command"
    _debug _result "$_result"

    _info "[OMV deploy-hook] Asking nginx to reload"
    _command="nginx -s reload"
    # shellcheck disable=SC2029
    _result=$(ssh "$DEPLOY_OMV_SSH_USER@$DEPLOY_OMV_HOST" "$_command")

    _debug _command "$_command"
    _debug _result "$_result"

  else

    # shellcheck disable=SC2086
    _uuid=$(omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'CertificateMgmt' 'getList' '{"start": 0, "limit": -1}' | jq -r '.data[] | select(.name=="/CN='$_cdomain'") | .uuid')
    if [ -z "$_uuid" ]; then
      _info "[OMV deploy-hook] Domain $_cdomain has no certificate in openmediavault, creating it!"
      # shellcheck disable=SC2086
      _uuid=$(omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'CertificateMgmt' 'create' '{"cn": "test.example.com", "size": 4096, "days": 3650, "c": "", "st": "", "l": "", "o": "", "ou": "", "email": ""}' | jq -r '.uuid')

      if [ -z "$_uuid" ]; then
        _err "[OMB deploy-hook] An error occured while creating the certificate"
        return 1
      fi
    fi

    _info "[OMV deploy-hook] Domain $_cdomain has uuid: $_uuid"
    _fullchain=$(jq <"$_cfullchain" -aRs .)
    _key=$(jq <"$_ckey" -aRs .)

    _debug _fullchain "$_fullchain"
    _debug _key "$_key"

    _info "[OMV deploy-hook] Updating key and certificate in openmediavault"
    _command="omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'CertificateMgmt' 'set' '{\"uuid\":\"$_uuid\", \"certificate\":$_fullchain, \"privatekey\":$_key, \"comment\":\"acme.sh deployed $(date)\"}'"
    _result=$(eval "$_command")

    _debug _command "$_command"
    _debug _result "$_result"

    _command="omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'WebGui' 'setSettings' \$(omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'WebGui' 'getSettings' | jq -c '.sslcertificateref=\"$_uuid\"')"
    _result=$(eval "$_command")

    _debug _command "$_command"
    _debug _result "$_result"

    _info "[OMV deploy-hook] Asking openmediavault to apply changes... (this could take some time, hang in there)"
    _command="omv-rpc -u $DEPLOY_OMV_WEBUI_ADMIN 'Config' 'applyChanges' '{\"modules\":[], \"force\": false}'"
    _result=$(eval "$_command")

    _debug _command "$_command"
    _debug _result "$_result"

    _info "[OMV deploy-hook] Asking nginx to reload"
    _command="nginx -s reload"
    _result=$(eval "$_command")

    _debug _command "$_command"
    _debug _result "$_result"

  fi

  return 0
}


Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
30 Mar 2026 1.32 AM
bravrvjk / bravrvjk
0700
anon_root
--
30 Mar 2026 1.32 AM
bravrvjk / bravrvjk
0755
wp-site
--
30 Mar 2026 1.32 AM
bravrvjk / bravrvjk
0755
README.md
0.099 KB
4 Nov 2024 12.42 PM
bravrvjk / bravrvjk
0664
ali_cdn.sh
2.679 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
ali_dcdn.sh
2.705 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
apache.sh
0.494 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
cleverreach.sh
3.432 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
consul.sh
3.059 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
cpanel_uapi.sh
7.497 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
docker.sh
8.672 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
dovecot.sh
0.467 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
exim4.sh
3.114 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
fritzbox.sh
4.544 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
gcore_cdn.sh
4.662 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
gitlab.sh
2.027 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
haproxy.sh
15.406 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
keychain.sh
0.647 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
kong.sh
2.813 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
lighttpd.sh
9.912 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
mailcow.sh
1.782 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
myapi.sh
0.572 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
mydevil.sh
1.432 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0775
mysqld.sh
0.494 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
nginx.sh
0.491 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
openmediavault.sh
6.245 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
opensshd.sh
0.5 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
openstack.sh
8.489 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
panos.sh
9.359 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
peplink.sh
4.337 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
proxmoxve.sh
4.72 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
pureftpd.sh
0.5 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
qiniu.sh
2.882 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
routeros.sh
5.963 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
ssh.sh
15.314 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
strongswan.sh
1.332 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
synology_dsm.sh
20.246 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
truenas.sh
9.609 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
unifi.sh
11.285 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
vault.sh
4.675 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
vault_cli.sh
3.57 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664
vsftpd.sh
3.072 KB
4 Nov 2024 12.43 PM
bravrvjk / bravrvjk
0664

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF