mirror of
https://github.com/10h30/kazewp.git
synced 2026-05-12 15:21:20 +09:00
Add phpMyAdmin support to Docker and Caddy configuration. Fix validation to allow subdomain
This commit is contained in:
@@ -11,6 +11,27 @@ create_caddy_config() {
|
||||
|
||||
mkdir -p "${CADDY_DIR}/sites"
|
||||
|
||||
|
||||
# Define phpMyAdmin service block
|
||||
PHPMYADMIN_CADDY_BLOCK=$(
|
||||
cat <<-EOL
|
||||
# Redirect /pma to /pma/
|
||||
redir /pma /pma/ 301
|
||||
# Route requests for /pma (and subpaths) to the phpMyAdmin container
|
||||
handle_path /pma* {
|
||||
reverse_proxy phpmyadmin_${DOMAIN}
|
||||
}
|
||||
EOL
|
||||
)
|
||||
|
||||
|
||||
|
||||
if [[ "$USE_PHPMYADMIN" == "y" ]]; then
|
||||
export PHPMYADMIN_CADDY_BLOCK="$PHPMYADMIN_CADDY_BLOCK"
|
||||
else
|
||||
export PHPMYADMIN_CADDY_BLOCK=""
|
||||
fi
|
||||
|
||||
envsubst < "${SCRIPT_DIR}/templates/caddy.template" > "$CONFIG_FILE"
|
||||
|
||||
if ! grep -q "import sites/\*.caddy" "${CADDY_DIR}/Caddyfile"; then
|
||||
|
||||
+3
-5
@@ -77,7 +77,7 @@ create_docker_compose() {
|
||||
# Define phpMyAdmin service block
|
||||
PHPMYADMIN_BLOCK=$(
|
||||
cat <<-EOL
|
||||
phpmyadmin:
|
||||
phpmyadmin_${DOMAIN}:
|
||||
container_name: phpmyadmin_${DOMAIN}
|
||||
depends_on:
|
||||
- db_${DOMAIN}
|
||||
@@ -85,13 +85,11 @@ create_docker_compose() {
|
||||
environment:
|
||||
- PMA_HOST=db_${DOMAIN}
|
||||
- MYSQL_ROOT_PASSWORD=\${MYSQL_ROOT_PASSWORD}
|
||||
- PMA_ABSOLUTE_URI=https://${DOMAIN}/pma/
|
||||
restart: always
|
||||
ports:
|
||||
- "8080:80"
|
||||
networks:
|
||||
- ${DOMAIN}_net
|
||||
profiles:
|
||||
- phpmyadmin
|
||||
- caddy_net
|
||||
EOL
|
||||
)
|
||||
|
||||
|
||||
+2
-1
@@ -207,7 +207,8 @@ install_site() {
|
||||
cd "$WP_PROJECT_DIR"
|
||||
|
||||
# Ask if the user wants to include phpMyAdmin in the setup
|
||||
read -p "Do you want to include phpMyAdmin? (y/n): " USE_PHPMYADMIN
|
||||
read -p "Do you want to include phpMyAdmin? (Y/n) [N]: " USE_PHPMYADMIN
|
||||
USE_PHPMYADMIN=${USE_PHPMYADMIN:-n}
|
||||
USE_PHPMYADMIN=$(echo "$USE_PHPMYADMIN" | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
# Create necessary configuration files for Docker Compose, Caddy, and WordPress
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
validate_domain() {
|
||||
if [[ ! $1 =~ ^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}$ ]]; then
|
||||
if [[ ! $1 =~ ^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$ ]]; then
|
||||
echo -e "${RED}Invalid domain format${NC}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
@@ -18,5 +18,6 @@ ${DOMAIN} {
|
||||
X-Content-Type-Options "nosniff"
|
||||
}
|
||||
import wordpress
|
||||
}
|
||||
|
||||
$PHPMYADMIN_CADDY_BLOCK
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user