* nginx hostname
* let's encrypt script

Improvements:
* Update doc
This commit is contained in:
Ludovic
2024-05-17 10:17:43 +02:00
parent 3a769096c7
commit ac7f84dd8d
4 changed files with 25 additions and 10 deletions

View File

@@ -31,7 +31,8 @@ Most required variables are preset by default, the ones that must be set before
``` ```
SECRET_KEY_BASE= SECRET_KEY_BASE=
LOADBALANCER_SECRET= LOADBALANCER_SECRET=
URL_HOST= SL_HOST=
DOMAIN_NAME=
``` ```
Obtain the value for SECRET_KEY_BASE and LOADBALANCER_SECRET with: Obtain the value for SECRET_KEY_BASE and LOADBALANCER_SECRET with:
@@ -41,17 +42,23 @@ sed -i "s/SECRET_KEY_BASE=.*/SECRET_KEY_BASE=$(openssl rand -hex 64)/" .env
sed -i "s/LOADBALANCER_SECRET=.*/LOADBALANCER_SECRET=$(openssl rand -hex 24)/" .env sed -i "s/LOADBALANCER_SECRET=.*/LOADBALANCER_SECRET=$(openssl rand -hex 24)/" .env
``` ```
Set the hostname on URL_HOST (E.g. sl.example.com) Set the hostname on SL_HOST (E.g. sl)
``` ```
sed -i "s/URL_HOST=.*/URL_HOST=sl.example.com" .env sed -i "s/SL_HOST=.*/SL_HOST=sl" .env
```
Set the domain name on DOMAIN_NAME (E.g. example.com)
```
sed -i "s/DOMAIN_NAME=.*/DOMAIN_NAME=example.com" .env
``` ```
## Generate LetsEncrypt SSL certificates manually ## Generate LetsEncrypt SSL certificates manually
``` ```
source ./.env source ./.env
certbot certonly --manual -d sl.$DOMAIN_NAME --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges=dns --email <YOUR_ENMAIL> --server https://acme-v02.api.letsencrypt.org/director certbot certonly --manual -d $SL_HOST.$DOMAIN_NAME --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges=dns --email <YOUR_ENMAIL> --server https://acme-v02.api.letsencrypt.org/director
certbot certonly --manual -d redis.$DOMAIN_NAME --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges=dns --email <YOUR_ENMAIL> --server https://acme-v02.api.letsencrypt.org/director certbot certonly --manual -d redis.$DOMAIN_NAME --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges=dns --email <YOUR_ENMAIL> --server https://acme-v02.api.letsencrypt.org/director
``` ```

View File

@@ -49,7 +49,8 @@ Most required variables are pre-set by default, the ones that must be set before
``` ```
SECRET_KEY_BASE= SECRET_KEY_BASE=
LOADBALANCER_SECRET= LOADBALANCER_SECRET=
URL_HOST= SL_HOST=
DOMAIN_NAME=
``` ```
Obtain the value for SECRET_KEY_BASE and LOADBALANCER_SECRET with: Obtain the value for SECRET_KEY_BASE and LOADBALANCER_SECRET with:
@@ -59,10 +60,16 @@ sed -i "s/SECRET_KEY_BASE=.*/SECRET_KEY_BASE=$(openssl rand -hex 64)/" .env
sed -i "s/LOADBALANCER_SECRET=.*/LOADBALANCER_SECRET=$(openssl rand -hex 24)/" .env sed -i "s/LOADBALANCER_SECRET=.*/LOADBALANCER_SECRET=$(openssl rand -hex 24)/" .env
``` ```
Set the hostname on URL_HOST (E.g. sl.example.com) Set the hostname on SL_HOST (E.g. sl)
``` ```
sed -i "s/URL_HOST=.*/URL_HOST=sl.example.com" .env sed -i "s/SL_HOST=.*/SL_HOST=sl" .env
```
Set the domain name on DOMAIN_NAME (E.g. example.com)
```
sed -i "s/DOMAIN_NAME=.*/DOMAIN_NAME=example.com" .env
``` ```
Start the services. Start the services.

View File

@@ -42,7 +42,7 @@ services:
- "80:80" - "80:80"
- "443:443" - "443:443"
environment: environment:
- NGINX_HOSTNAME=${SL_HOST:-sl.xlab.blindside-ps.dev} - NGINX_HOSTNAME=${SL_HOST:-sl}.${DOMAIN_NAME:-user.blindside-ps.dev}
volumes: volumes:
- ./log/proxy-nginx/:/var/log/nginx - ./log/proxy-nginx/:/var/log/nginx
- ./data/proxy/nginx/sites.template.${DOCKER_PROXY_NGINX_TEMPLATE:-scalelite-proxy}:/etc/nginx/sites.template - ./data/proxy/nginx/sites.template.${DOCKER_PROXY_NGINX_TEMPLATE:-scalelite-proxy}:/etc/nginx/sites.template

View File

@@ -47,9 +47,10 @@ do
esac esac
done done
echo $URL_HOST domains="$SL_HOST.$DOMAIN_NAME"
echo $domains
domains=($URL_HOST)
rsa_key_size=4096 rsa_key_size=4096
data_path="./data/certbot" data_path="./data/certbot"
email="$LETSENCRYPT_EMAIL" # Adding a valid address is strongly recommended. email="$LETSENCRYPT_EMAIL" # Adding a valid address is strongly recommended.