Setup nginx from the configuration file #19
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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/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 |