Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5b0a80bb2 | ||
|
|
c2b4181756 | ||
|
|
9f8e4d980b | ||
|
|
d0781f2102 | ||
|
|
a9d3c851a4 | ||
|
|
451cdad6e9 | ||
|
|
2e219d928a | ||
|
|
d52c996414 |
48
.github/workflows/ci-cd.yml
vendored
48
.github/workflows/ci-cd.yml
vendored
@@ -1,12 +1,16 @@
|
||||
name: CI/CD Pipeline
|
||||
# Updated: Removed systemd, using SSH-based testing for better stability
|
||||
# Updated: Dynamic tag for release, CodeQL v4, Node.js 24 support
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
tags: [ 'v*' ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
env:
|
||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
name: Lint Ansible Playbooks
|
||||
@@ -14,10 +18,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
|
||||
@@ -48,14 +52,22 @@ jobs:
|
||||
needs: lint
|
||||
strategy:
|
||||
matrix:
|
||||
ubuntu_version: ['20.04', '22.04', '24.04', '25.04']
|
||||
include:
|
||||
- ubuntu_version: '22.04'
|
||||
allow_failure: false
|
||||
- ubuntu_version: '24.04'
|
||||
allow_failure: false
|
||||
- ubuntu_version: '25.04'
|
||||
allow_failure: true
|
||||
|
||||
continue-on-error: ${{ matrix.allow_failure }}
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
@@ -93,10 +105,10 @@ jobs:
|
||||
run: |
|
||||
echo "Testing basic container setup for Ubuntu ${{ matrix.ubuntu_version }}..."
|
||||
docker run --rm ubuntu:${{ matrix.ubuntu_version }} /bin/bash -c "
|
||||
export DEBIAN_FRONTEND=noninteractive &&
|
||||
apt-get update &&
|
||||
apt-get install -y python3 python3-apt &&
|
||||
python3 --version &&
|
||||
set -e &&
|
||||
grep '^NAME=' /etc/os-release &&
|
||||
grep '^VERSION_ID=' /etc/os-release &&
|
||||
bash --version > /dev/null &&
|
||||
echo 'Ubuntu ${{ matrix.ubuntu_version }} container test successful'"
|
||||
|
||||
|
||||
@@ -110,7 +122,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Run Trivy vulnerability scanner
|
||||
uses: aquasecurity/trivy-action@master
|
||||
@@ -121,7 +133,7 @@ jobs:
|
||||
output: 'trivy-results.sarif'
|
||||
|
||||
- name: Upload Trivy scan results to GitHub Security tab
|
||||
uses: github/codeql-action/upload-sarif@v3 # Updated to v3 to fix deprecated v2 warning
|
||||
uses: github/codeql-action/upload-sarif@v4
|
||||
if: always()
|
||||
with:
|
||||
sarif_file: 'trivy-results.sarif'
|
||||
@@ -130,23 +142,21 @@ jobs:
|
||||
name: Create Release
|
||||
runs-on: ubuntu-latest
|
||||
needs: [test-ubuntu, security-scan]
|
||||
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
||||
if: startsWith(github.ref, 'refs/tags/') && github.event_name == 'push'
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Get latest tag
|
||||
- name: Get current tag
|
||||
id: get_tag
|
||||
run: |
|
||||
# Get the latest tag, default to v1.0.0 if none exist
|
||||
latest_tag=$(git describe --tags --abbrev=0 2>/dev/null || echo "v2.5.0")
|
||||
echo "latest_tag=$latest_tag" >> $GITHUB_OUTPUT
|
||||
echo "Found latest tag: $latest_tag"
|
||||
echo "latest_tag=${GITHUB_REF_NAME}" >> $GITHUB_OUTPUT
|
||||
echo "Using tag: ${GITHUB_REF_NAME}"
|
||||
|
||||
- name: Generate changelog
|
||||
run: |
|
||||
|
||||
@@ -124,7 +124,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Contributing guidelines and troubleshooting guide
|
||||
- Docker testing environment
|
||||
- Multi-environment support (Docker, VMs, bare metal)
|
||||
- Ubuntu/Debian support (20.04, 22.04, 24.04, Debian 11, 12)
|
||||
- Ubuntu/Debian support (22.04, 24.04, 25.04, Debian 12, 13, 14)
|
||||
- 🌍 Multilingual documentation (German, Hungarian translations)
|
||||
- 🧪 Simplified and robust CI/CD testing approach
|
||||
- 📝 Professional language navigation in README
|
||||
|
||||
13
README.md
13
README.md
@@ -3,8 +3,8 @@
|
||||
🚀 **Production-ready, fully automated LEMP stack (Linux, Nginx, MySQL, PHP) + WordPress deployment using Ansible**
|
||||
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
[](https://ubuntu.com/)
|
||||
[](https://debian.org/)
|
||||
[](https://ubuntu.com/)
|
||||
[](https://debian.org/)
|
||||
[](https://www.ansible.com/)
|
||||
[](https://wordpress.org/)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
- Nginx web server with production-ready optimization
|
||||
- MySQL 8.0+ with secure setup and performance tuning
|
||||
- PHP 8.4+ with FPM, OPcache and WordPress extensions
|
||||
- Ubuntu/Debian family support (20.04, 22.04, 24.04, Debian 11, 12)
|
||||
- Ubuntu/Debian family support (22.04, 24.04, 25.04, Debian 12, 13, 14)
|
||||
|
||||
### 🛡️ WordPress & Security
|
||||
✅ **WordPress Automation & Security**
|
||||
@@ -49,7 +49,7 @@
|
||||
### Prerequisites
|
||||
|
||||
- **Control Machine**: Ansible 6.0+ installed
|
||||
- **Target Server**: Ubuntu 20.04+ or Debian 11+ with SSH access and sudo privileges
|
||||
- **Target Server**: Ubuntu 22.04+ or Debian 12+ with SSH access and sudo privileges
|
||||
- **Network**: SSH access (port 22) and web access (ports 80/443)
|
||||
|
||||
### 1. Clone Repository
|
||||
@@ -212,7 +212,7 @@ nginx_optimization_enabled: true
|
||||
```
|
||||
### Server Requirements
|
||||
|
||||
- **OS**: Ubuntu 20.04+ or Debian 11+
|
||||
- **OS**: Ubuntu 22.04+ or Debian 12+
|
||||
- **RAM**: Minimum 1GB (2GB+ recommended for Ultimate mode)
|
||||
- **Storage**: Minimum 10GB free space
|
||||
- **Network**: SSH access + web ports (80/443)
|
||||
@@ -299,8 +299,7 @@ ansible-playbook -i inventory/production.yml playbooks/lemp-wordpress-ultimate.y
|
||||
|---|---|---|---|
|
||||
| Ubuntu | 25.04 | ✅ Supported | Interim release |
|
||||
| Ubuntu | 24.04 LTS | ✅ Fully Tested | Recommended |
|
||||
| Ubuntu | 22.04 LTS | ✅ Fully Tested | Recommended |
|
||||
| Ubuntu | 20.04 LTS | ✅ Supported | Tested |
|
||||
| Ubuntu | 22.04 LTS | ✅ Supported | Legacy support |
|
||||
| Debian | 14 | 🔶 Testing | Forky (upcoming) |
|
||||
| Debian | 13 | ✅ Supported | Current stable |
|
||||
| Debian | 12 | ✅ Supported | Compatible |
|
||||
|
||||
@@ -70,8 +70,8 @@ ansible-lemp-wordpress/
|
||||
## 🚀 Supported Environments
|
||||
|
||||
### Operating Systems
|
||||
- ✅ **Ubuntu** 20.04, 22.04, 24.04, 25.04 (fully tested)
|
||||
- ✅ **Debian** 11, 12, 13, 14 (compatible)
|
||||
- ✅ **Ubuntu** 22.04, 24.04, 25.04 (fully tested)
|
||||
- ✅ **Debian** 12, 13, 14 (compatible)
|
||||
|
||||
### Deployment Targets
|
||||
- ✅ **Docker** containers (development/testing with included setup)
|
||||
@@ -180,7 +180,7 @@ ansible-playbook -i inventory/production.yml playbooks/lemp-wordpress-ultimate.y
|
||||
|
||||
- **Total Files**: ~30 (clean, focused codebase)
|
||||
- **Lines of Code**: ~2,000 (Ansible YAML, Jinja2, Documentation)
|
||||
- **Supported OS**: Ubuntu 20.04/22.04/24.04/25.04, Debian 11/12/13/14
|
||||
- **Supported OS**: Ubuntu 22.04/24.04/25.04, Debian 12/13/14
|
||||
- **Deployment Modes**: 2 (Basic + Ultimate)
|
||||
- **Templates**: 5 (production-tested)
|
||||
- **Documentation Pages**: 9 comprehensive guides (README + 8 in docs/)
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
🚀 **Produktionsreife, vollautomatisierte LEMP-Stack (Linux, Nginx, MySQL, PHP) + WordPress-Bereitstellung mit Ansible**
|
||||
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
[](https://ubuntu.com/)
|
||||
[](https://debian.org/)
|
||||
[](https://ubuntu.com/)
|
||||
[](https://debian.org/)
|
||||
[](https://www.ansible.com/)
|
||||
[](https://wordpress.org/)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
- Nginx-Webserver mit produktionsreifer Optimierung
|
||||
- MySQL 8.0+ mit sicherer Einrichtung und Performance-Tuning
|
||||
- PHP 8.4+ mit FPM, OPcache und WordPress-Erweiterungen
|
||||
- Ubuntu/Debian-Familie Unterstützung (20.04, 22.04, 24.04, 25.04, Debian 11, 12, 13, 14)
|
||||
- Ubuntu/Debian-Familie Unterstützung (22.04, 24.04, 25.04, Debian 12, 13, 14)
|
||||
|
||||
### 🛡️ WordPress & Sicherheit
|
||||
✅ **WordPress-Automatisierung & Sicherheit**
|
||||
@@ -49,7 +49,7 @@
|
||||
### Voraussetzungen
|
||||
|
||||
- **Ansible** 6.0+ auf Ihrem lokalen Rechner
|
||||
- **Ubuntu/Debian-Server** (20.04+, Debian 11+)
|
||||
- **Ubuntu/Debian-Server** (22.04+, Debian 12+)
|
||||
- **SSH-Zugang** zu Ihren Zielservern
|
||||
- **sudo-Berechtigung** auf Zielservern
|
||||
|
||||
@@ -213,7 +213,7 @@ nginx_optimization_enabled: true
|
||||
|
||||
### Server-Anforderungen
|
||||
|
||||
- **OS**: Ubuntu 20.04+ oder Debian 11+
|
||||
- **OS**: Ubuntu 22.04+ oder Debian 12+
|
||||
- **RAM**: Mindestens 1GB (2GB+ empfohlen für Ultimate Modus)
|
||||
- **Speicher**: Mindestens 10GB freier Speicherplatz
|
||||
- **Netzwerk**: SSH-Zugang + Web-Ports (80/443)
|
||||
@@ -296,11 +296,12 @@ ansible-playbook -i inventory/production.yml playbooks/lemp-wordpress-ultimate.y
|
||||
|
||||
| OS | Version | Status | Hinweise |
|
||||
|---|---|---|---|
|
||||
| Ubuntu | 25.04 | ✅ Unterstützt | Interim Release |
|
||||
| Ubuntu | 24.04 LTS | ✅ Vollständig getestet | Empfohlen |
|
||||
| Ubuntu | 22.04 LTS | ✅ Vollständig getestet | Empfohlen |
|
||||
| Ubuntu | 20.04 LTS | ✅ Unterstützt | Getestet |
|
||||
| Debian | 14 | 🔶 Testing | Forky (bevorstehend) |
|
||||
| Debian | 13 | ✅ Unterstützt | Aktuell stabil |
|
||||
| Debian | 12 | ✅ Unterstützt | Kompatibel |
|
||||
| Debian | 11 | ✅ Unterstützt | Kompatibel |
|
||||
|
||||
## 📚 Dokumentation
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
🚀 **Termelésre kész, teljesen automatizált LEMP stack (Linux, Nginx, MySQL, PHP) + WordPress telepítés Ansible-lel**
|
||||
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
[](https://ubuntu.com/)
|
||||
[](https://debian.org/)
|
||||
[](https://ubuntu.com/)
|
||||
[](https://debian.org/)
|
||||
[](https://www.ansible.com/)
|
||||
[](https://wordpress.org/)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
- Nginx webszerver termelésre kész optimalizálással
|
||||
- MySQL 8.0+ biztonságos beállítással és teljesítmény-hangolással
|
||||
- PHP 8.4+ FPM-mel, OPcache-sel és WordPress bővítményekkel
|
||||
- Ubuntu/Debian család támogatás (20.04, 22.04, 24.04, 25.04, Debian 11, 12, 13, 14)
|
||||
- Ubuntu/Debian család támogatás (22.04, 24.04, 25.04, Debian 12, 13, 14)
|
||||
|
||||
### 🛡️ WordPress és Biztonság
|
||||
✅ **WordPress automatizálás és biztonság**
|
||||
@@ -49,7 +49,7 @@
|
||||
### Előfeltételek
|
||||
|
||||
- **Ansible** 6.0+ a helyi gépén
|
||||
- **Ubuntu/Debian szerver** (20.04+, Debian 11+)
|
||||
- **Ubuntu/Debian szerver** (22.04+, Debian 12+)
|
||||
- **SSH hozzáférés** a célszerverekhez
|
||||
- **sudo jogosultságok** a célszervereken
|
||||
|
||||
@@ -213,7 +213,7 @@ nginx_optimization_enabled: true
|
||||
|
||||
### Szerver követelmények
|
||||
|
||||
- **OS**: Ubuntu 20.04+ vagy Debian 11+
|
||||
- **OS**: Ubuntu 22.04+ vagy Debian 12+
|
||||
- **RAM**: Minimum 1GB (2GB+ ajánlott Ultimate módhoz)
|
||||
- **Tárhely**: Minimum 10GB szabad hely
|
||||
- **Hálózat**: SSH hozzáférés + web portok (80/443)
|
||||
@@ -296,11 +296,12 @@ ansible-playbook -i inventory/production.yml playbooks/lemp-wordpress-ultimate.y
|
||||
|
||||
| OS | Verzió | Státusz | Megjegyzések |
|
||||
|---|---|---|---|
|
||||
| Ubuntu | 25.04 | ✅ Támogatott | Interim Release |
|
||||
| Ubuntu | 24.04 LTS | ✅ Teljesen tesztelt | Ajánlott |
|
||||
| Ubuntu | 22.04 LTS | ✅ Teljesen tesztelt | Ajánlott |
|
||||
| Ubuntu | 20.04 LTS | ✅ Támogatott | Tesztelt |
|
||||
| Debian | 14 | 🔶 Tesztelés | Forky (közelgő) |
|
||||
| Debian | 13 | ✅ Támogatott | Aktuális stabil |
|
||||
| Debian | 12 | ✅ Támogatott | Kompatibilis |
|
||||
| Debian | 11 | ✅ Támogatott | Kompatibilis |
|
||||
|
||||
## 📚 Dokumentáció
|
||||
|
||||
|
||||
Reference in New Issue
Block a user