Skip to content

Setup nginx from the configuration file #20

Setup nginx from the configuration file

Setup nginx from the configuration file #20

name: Setup nginx from the configuration file
on:
workflow_dispatch:
jobs:
deploy:
runs-on: self-hosted
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Load environment variables
uses: falti/dotenv-action@v1.1.4
with:
env-file: .env # Path to your .env file
export-variables: true
keys-case: bypass
- name: Check environment variables
run: env
- name: Replace environment variables in nginx config
run: |
# Escape special characters in environment variables
URL_PREFIX_ESCAPED=$(echo "$URL_PREFIX" | sed 's/\//\\\//g')
# Use sed with | as the delimiter to avoid issues with /
sed -e "s|\$GROUP_ID|$GROUP_ID|g" \
-e "s|\$DOMAIN|$DOMAIN|g" \
-e "s|\$URL_PREFIX|$URL_PREFIX_ESCAPED|g" \
-e "s|\$PORT_PREFIX|$PORT_PREFIX|g" \
-e "s|\$DEV_POSTFIX|$DEV_POSTFIX|g" \
-e "s|\$STAG_POSTFIX|$STAG_POSTFIX|g" \
-e "s|\$PROD_POSTFIX|$PROD_POSTFIX|g" \
-e "s|\$BACKEND_POSTFIX|$BACKEND_POSTFIX|g" \
-e "s|\$FRONTEND_POSTFIX|$FRONTEND_POSTFIX|g" \
-e "s|\$GATEWAY_POSTFIX|$GATEWAY_POSTFIX|g" \
./nginx_securefit.conf > temp_nginx.conf
- name: Copy nginx config to correct place
run: |
sudo cp temp_nginx.conf /etc/nginx/conf.d/nginx_securefit.conf
sudo chmod 644 /etc/nginx/conf.d/nginx_securefit.conf # Ensure correct permissions
- name: Restart nginx
run: sudo systemctl reload nginx
- name: Show nginx file
run: cat /etc/nginx/conf.d/nginx_securefit.conf