Skip to content

Setup nginx from the configuration file #1

Setup nginx from the configuration file

Setup nginx from the configuration file #1

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: Dotenv Action
uses: falti/dotenv-action@v1.1.4
with:
export-variables: true
keys-case: bypass
- name: Check environment variables
run: env
#Doesn't work properly, envsubst replaces all instances of $variable and ${variable}, but we want to keep e.g., $host as nginx variables
#- name: Create temporary nginx config file
# run: envsubst < ./nginx_template.txt > temp_default.conf
# Maybe look at https://www.baeldung.com/linux/envsubst-command to get an idea
# Fixed envsubst code
- name: Create temporary nginx config file
run: envsubst "$(printf '${%s} ' $(env | cut -d= -f1))" < ./nginx_template.txt > temp_default.conf
- name: Copy temporary file to correct place
run: cp temp_default.conf /etc/nginx/conf.d/default.conf
- name: Show nginx file
run: cat /etc/nginx/conf.d/default.conf