Skip to content

Setup nginx from the configuration file #17

Setup nginx from the configuration file

Setup nginx from the configuration file #17

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
export-variables: true
keys-case: bypass
- name: Check environment variables
run: env
- name: Replace environment variables in nginx config
run: |
# Use sed to selectively replace only the variables defined in .env
sed -e "s/\$GROUP_ID/$GROUP_ID/g" \
-e "s/\$DOMAIN/$DOMAIN/g" \
-e "s/\$URL_PREFIX/$URL_PREFIX/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