[PR #10] [MERGED] Add multi-site WordPress hub with environments and dev path management #15

Closed
opened 2026-03-02 11:44:07 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jhd3197/ServerKit/pull/10
Author: @jhd3197
Created: 1/29/2026
Status: Merged
Merged: 1/29/2026
Merged by: @jhd3197

Base: mainHead: dev


📝 Commits (3)

  • 5113c85 Add configurable dev paths and centralize path management
  • e36c324 Add multi-site WordPress management and UI overhaul
  • 1e8afb7 chore: bump version to 1.2.76 [skip ci]

📊 Changes

32 files changed (+970 additions, -414 deletions)

View changed files

📝 .gitignore (+3 -0)
📝 VERSION (+1 -1)
📝 backend/.env.example (+9 -0)
📝 backend/app/api/apps.py (+2 -1)
📝 backend/app/api/backups.py (+3 -1)
📝 backend/app/api/docker.py (+2 -2)
📝 backend/app/api/wordpress.py (+116 -21)
backend/app/paths.py (+19 -0)
📝 backend/app/services/backup_service.py (+4 -2)
📝 backend/app/services/build_service.py (+5 -3)
📝 backend/app/services/database_service.py (+3 -1)
📝 backend/app/services/db_sync_service.py (+3 -1)
📝 backend/app/services/deployment_service.py (+3 -2)
📝 backend/app/services/docker_service.py (+45 -24)
📝 backend/app/services/environment_docker_service.py (+2 -1)
📝 backend/app/services/file_service.py (+4 -1)
📝 backend/app/services/git_service.py (+5 -3)
📝 backend/app/services/log_service.py (+4 -2)
📝 backend/app/services/monitoring_service.py (+3 -2)
📝 backend/app/services/notification_service.py (+3 -1)

...and 12 more files

📄 Description

Summary

  • Multi-site WordPress management: Replaces the single standalone WordPress install page with a full sites hub —
    create multiple Docker-based WordPress sites, each with production, staging, and development environments
  • Backend site CRUD + environments API: 7 new endpoints for site listing, creation, deletion, and environment
    lifecycle, with service methods that orchestrate Docker template installs and WordPressSite/Application record management
  • WP-CLI Docker integration: Plugin and theme tabs now work for Docker-based sites by auto-detecting container
    environments and running docker exec with WP-CLI instead of host-level commands
  • Configurable dev paths: Centralized path management via app/paths.py so all services reference consistent
    directories

Changes

  • backend/app/api/wordpress.py — Added 7 site hub endpoints, _resolve_app() helper so legacy WP-CLI endpoints resolve
    WordPressSite IDs correctly
  • backend/app/services/wordpress_service.py — Added create_site, get_sites, get_site, delete_site,
    create_environment, delete_environment, _wp_cli_docker methods
  • backend/app/paths.py — New centralized path config consumed by all services
  • frontend/src/pages/WordPress.jsx — Rewritten as sites list with card grid, create modal, skeleton loading, empty
    state
  • frontend/src/pages/WordPressDetail.jsx — Database tab shows connection info, environment creation capped at staging +
    dev, Overview quick action respects env limits
  • frontend/src/styles/pages/_wordpress.less — Added page header, empty state, install warning, and site card link
    styles for the new hub layout

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jhd3197/ServerKit/pull/10 **Author:** [@jhd3197](https://github.com/jhd3197) **Created:** 1/29/2026 **Status:** ✅ Merged **Merged:** 1/29/2026 **Merged by:** [@jhd3197](https://github.com/jhd3197) **Base:** `main` ← **Head:** `dev` --- ### 📝 Commits (3) - [`5113c85`](https://github.com/jhd3197/ServerKit/commit/5113c85e99c452b0442ff07db537dcae00bfc15d) Add configurable dev paths and centralize path management - [`e36c324`](https://github.com/jhd3197/ServerKit/commit/e36c3247b314fb6edc50f45eaf574b5f779a47f0) Add multi-site WordPress management and UI overhaul - [`1e8afb7`](https://github.com/jhd3197/ServerKit/commit/1e8afb7a438aa318b678dbf7f05dcce8229462b9) chore: bump version to 1.2.76 [skip ci] ### 📊 Changes **32 files changed** (+970 additions, -414 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+3 -0) 📝 `VERSION` (+1 -1) 📝 `backend/.env.example` (+9 -0) 📝 `backend/app/api/apps.py` (+2 -1) 📝 `backend/app/api/backups.py` (+3 -1) 📝 `backend/app/api/docker.py` (+2 -2) 📝 `backend/app/api/wordpress.py` (+116 -21) ➕ `backend/app/paths.py` (+19 -0) 📝 `backend/app/services/backup_service.py` (+4 -2) 📝 `backend/app/services/build_service.py` (+5 -3) 📝 `backend/app/services/database_service.py` (+3 -1) 📝 `backend/app/services/db_sync_service.py` (+3 -1) 📝 `backend/app/services/deployment_service.py` (+3 -2) 📝 `backend/app/services/docker_service.py` (+45 -24) 📝 `backend/app/services/environment_docker_service.py` (+2 -1) 📝 `backend/app/services/file_service.py` (+4 -1) 📝 `backend/app/services/git_service.py` (+5 -3) 📝 `backend/app/services/log_service.py` (+4 -2) 📝 `backend/app/services/monitoring_service.py` (+3 -2) 📝 `backend/app/services/notification_service.py` (+3 -1) _...and 12 more files_ </details> ### 📄 Description ## Summary - **Multi-site WordPress management**: Replaces the single standalone WordPress install page with a full sites hub — create multiple Docker-based WordPress sites, each with production, staging, and development environments - **Backend site CRUD + environments API**: 7 new endpoints for site listing, creation, deletion, and environment lifecycle, with service methods that orchestrate Docker template installs and WordPressSite/Application record management - **WP-CLI Docker integration**: Plugin and theme tabs now work for Docker-based sites by auto-detecting container environments and running `docker exec` with WP-CLI instead of host-level commands - **Configurable dev paths**: Centralized path management via `app/paths.py` so all services reference consistent directories ## Changes - `backend/app/api/wordpress.py` — Added 7 site hub endpoints, `_resolve_app()` helper so legacy WP-CLI endpoints resolve WordPressSite IDs correctly - `backend/app/services/wordpress_service.py` — Added `create_site`, `get_sites`, `get_site`, `delete_site`, `create_environment`, `delete_environment`, `_wp_cli_docker` methods - `backend/app/paths.py` — New centralized path config consumed by all services - `frontend/src/pages/WordPress.jsx` — Rewritten as sites list with card grid, create modal, skeleton loading, empty state - `frontend/src/pages/WordPressDetail.jsx` — Database tab shows connection info, environment creation capped at staging + dev, Overview quick action respects env limits - `frontend/src/styles/pages/_wordpress.less` — Added page header, empty state, install warning, and site card link styles for the new hub layout --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-02 11:44:07 +03:00
Sign in to join this conversation.
No labels
bug
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ServerKit#15
No description provided.