From a30eccdac37ae77f77766e22d636a749f19b1aaa Mon Sep 17 00:00:00 2001 From: belajarqywok Date: Thu, 26 Sep 2024 18:10:21 +0700 Subject: [PATCH] Deploy WordPress on HuggingFace --- .github/workflows/pipelines.yaml | 51 ++++++++++++++++++++++++++++++++ .gitignore | 1 + Dockerfile | 13 ++++++++ README.md | 8 +++++ apache.conf | 15 ++++++++++ index.php | 1 + nginx.conf | 35 ++++++++++++++++++++++ start.sh | 6 ++++ 8 files changed, 130 insertions(+) create mode 100644 .github/workflows/pipelines.yaml create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 apache.conf create mode 100644 index.php create mode 100644 nginx.conf create mode 100644 start.sh diff --git a/.github/workflows/pipelines.yaml b/.github/workflows/pipelines.yaml new file mode 100644 index 0000000..7cbf08d --- /dev/null +++ b/.github/workflows/pipelines.yaml @@ -0,0 +1,51 @@ +name: pipeline + +on: + push: + branches: + - main + tags: + - '*' + +jobs: + + wordpress_deployment: + name: Wordpress Deployment + runs-on: ubuntu-latest + environment: Production + + env: + HF_TOKEN: ${{ secrets.HF_TOKEN }} + SPACE_NAME: wp-nginx-test + HF_USERNAME: qywok + + steps: + - name: Set global directory + run: git config --global --add safe.directory /github/workspace + + - uses: actions/checkout@v3 + with: + persist-credentials: false + fetch-depth: 1000 + + - name: Check git status + run: git status + + - name: Configure git + run: | + git config --local user.email "alfariqyraihan@gmail.com" + git config --local user.name "qywok" + + - name: Pull changes from remote + run: | + git pull https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME main || \ + (git merge --strategy-option theirs) + + - name: Add and commit changes + run: | + git add -A + git diff-index --quiet HEAD || git commit -m "Wordpress Deployment" + + - name: Push to Hugging Face + run: | + git push https://$HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/$HF_USERNAME/$SPACE_NAME main --force \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c0bedf5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +credentials \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c2f6121 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM php:8.1-apache + +RUN docker-php-ext-install pdo pdo_mysql + +COPY apache.conf /etc/apache2/sites-available/000-default.conf + +COPY index.php /var/www/html/index.php + +RUN a2enmod rewrite + +RUN chown -R www-data:www-data /var/www/html + +EXPOSE 7860 diff --git a/README.md b/README.md new file mode 100644 index 0000000..2d238d0 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +--- +title: WordPress Testing +emoji: 🌐 +colorFrom: purple +colorTo: blue +sdk: docker +pinned: false +--- \ No newline at end of file diff --git a/apache.conf b/apache.conf new file mode 100644 index 0000000..fa55ee5 --- /dev/null +++ b/apache.conf @@ -0,0 +1,15 @@ + + ServerAdmin webmaster@localhost + DocumentRoot /var/www/html + + + Options Indexes FollowSymLinks + AllowOverride All + Require all granted + + + ErrorLog ${APACHE_LOG_DIR}/error.log + CustomLog ${APACHE_LOG_DIR}/access.log combined + + +ServerName localhost diff --git a/index.php b/index.php new file mode 100644 index 0000000..147cebc --- /dev/null +++ b/index.php @@ -0,0 +1 @@ + diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..46e04f4 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,35 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + + sendfile on; + keepalive_timeout 65; + + server { + listen 7860; + server_name localhost; + + root /var/www/html; + index index.php index.html index.htm; + + location / { + try_files $uri $uri/ /index.php?$query_string; + } + + location ~ \.php$ { + fastcgi_pass 127.0.0.1:9000; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include fastcgi_params; + } + + error_log /tmp/nginx_error.log; + access_log /tmp/nginx_access.log; + } +} diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..a16364f --- /dev/null +++ b/start.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +php-fpm & + +exec nginx -g 'daemon off;' +