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"
|
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"
|
envsubst < "${SCRIPT_DIR}/templates/caddy.template" > "$CONFIG_FILE"
|
||||||
|
|
||||||
if ! grep -q "import sites/\*.caddy" "${CADDY_DIR}/Caddyfile"; then
|
if ! grep -q "import sites/\*.caddy" "${CADDY_DIR}/Caddyfile"; then
|
||||||
|
|||||||
+3
-5
@@ -77,7 +77,7 @@ create_docker_compose() {
|
|||||||
# Define phpMyAdmin service block
|
# Define phpMyAdmin service block
|
||||||
PHPMYADMIN_BLOCK=$(
|
PHPMYADMIN_BLOCK=$(
|
||||||
cat <<-EOL
|
cat <<-EOL
|
||||||
phpmyadmin:
|
phpmyadmin_${DOMAIN}:
|
||||||
container_name: phpmyadmin_${DOMAIN}
|
container_name: phpmyadmin_${DOMAIN}
|
||||||
depends_on:
|
depends_on:
|
||||||
- db_${DOMAIN}
|
- db_${DOMAIN}
|
||||||
@@ -85,13 +85,11 @@ create_docker_compose() {
|
|||||||
environment:
|
environment:
|
||||||
- PMA_HOST=db_${DOMAIN}
|
- PMA_HOST=db_${DOMAIN}
|
||||||
- MYSQL_ROOT_PASSWORD=\${MYSQL_ROOT_PASSWORD}
|
- MYSQL_ROOT_PASSWORD=\${MYSQL_ROOT_PASSWORD}
|
||||||
|
- PMA_ABSOLUTE_URI=https://${DOMAIN}/pma/
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
|
||||||
- "8080:80"
|
|
||||||
networks:
|
networks:
|
||||||
- ${DOMAIN}_net
|
- ${DOMAIN}_net
|
||||||
profiles:
|
- caddy_net
|
||||||
- phpmyadmin
|
|
||||||
EOL
|
EOL
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -207,7 +207,8 @@ install_site() {
|
|||||||
cd "$WP_PROJECT_DIR"
|
cd "$WP_PROJECT_DIR"
|
||||||
|
|
||||||
# Ask if the user wants to include phpMyAdmin in the setup
|
# 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:]')
|
USE_PHPMYADMIN=$(echo "$USE_PHPMYADMIN" | tr '[:upper:]' '[:lower:]')
|
||||||
|
|
||||||
# Create necessary configuration files for Docker Compose, Caddy, and WordPress
|
# Create necessary configuration files for Docker Compose, Caddy, and WordPress
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
validate_domain() {
|
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}"
|
echo -e "${RED}Invalid domain format${NC}"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -18,5 +18,6 @@ ${DOMAIN} {
|
|||||||
X-Content-Type-Options "nosniff"
|
X-Content-Type-Options "nosniff"
|
||||||
}
|
}
|
||||||
import wordpress
|
import wordpress
|
||||||
}
|
|
||||||
|
|
||||||
|
$PHPMYADMIN_CADDY_BLOCK
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user