Compare commits

...

2 Commits

Author SHA1 Message Date
77eb5180e1 Add *.app.vostan.org servers.
Change configuration name. Now configuration name is the reversed site
name.
Add all those configuration to https certificate.
2025-05-21 23:33:17 +01:00
98b14edb81 local apps are added 2025-05-19 00:15:06 +01:00
14 changed files with 333 additions and 8 deletions

View File

@@ -12,7 +12,7 @@ bring up servers for certbot challenges.
Now launch certbot:
```
docker-compose up -d
docker-compose run --rm certbot certonly --webroot --webroot-path /var/www/certbot/ --dry-run -d www.vostan.org -d drive.vostan.org
./cert.sh
```
If dry run is successful then generate certificates removing --dry-run.
Make sure to uncomment configurations and restart nginx.

14
cert.sh Executable file
View File

@@ -0,0 +1,14 @@
docker-compose run --rm certbot certonly --webroot --webroot-path /var/www/certbot/ \
--dry-run \
-d www.vostan.org \
-d drive.vostan.org \
-d books.app.vostan.org \
-d music.app.vostan.org \
-d gerbera.app.vostan.org \
-d pihole.app.vostan.org \
-d wireguard.app.vostan.org \
-d gitea.app.vostan.org \
-d drive.app.vostan.org \
-d deluge.app.vostan.org

View File

@@ -12,10 +12,9 @@ services:
- ./certbot/www/:/var/www/certbot/:ro
- ./certbot/conf/live/:/etc/nginx/ssl/live/:ro
- ./certbot/conf/archive/:/etc/nginx/ssl/archive/:ro
- ./sites/default.conf:/etc/nginx/conf.d/default.conf:ro
- ./sites/default_ssl.conf:/etc/nginx/conf.d/default_ssl.conf:ro
- ./sites/www.vostan.org:/etc/nginx/conf.d/www.vostan.org.conf:ro
- ./sites/drive.vostan.org:/etc/nginx/conf.d/drive.vostan.org.conf:ro
# - ./sites/default.conf:/etc/nginx/conf.d/default.conf:ro # In order to
# add new sites to cert bot uncomment this line and comment the line below
- ./sites/:/etc/nginx/conf.d/:ro
network_mode: host
# command: [nginx-debug, '-g', 'daemon off;']
certbot:

View File

@@ -35,8 +35,8 @@ server {
return 301 https://$host$request_uri;
}
# If host name is not known, then simply return 404
#
## If host name is not known, then simply return 404
##
set $known_host 0;
if ($host = www.vostan.org) {
set $known_host 1;
@@ -44,7 +44,10 @@ server {
if ($host = drive.vostan.org) {
set $known_host 1;
}
if ($host ~* "^.+\.app\.vostan\.org$") {
set $known_host 1;
}
if ($known_host != 1) {
return 404;
return 404;
}
}

View File

@@ -0,0 +1,42 @@
##
# You should look at the following URL's in order to grasp a solid understanding of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/ https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name books.app.vostan.org;
# SSL configuration
#
ssl_certificate /etc/nginx/ssl/live/www.vostan.org/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/www.vostan.org/privkey.pem;
#
set $upstream 192.168.11.4;
location / {
proxy_pass_header Authorization;
proxy_pass http://$upstream:9083;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
}

View File

@@ -0,0 +1,42 @@
##
# You should look at the following URL's in order to grasp a solid understanding of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/ https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name deluge.app.vostan.org;
# SSL configuration
#
ssl_certificate /etc/nginx/ssl/live/www.vostan.org/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/www.vostan.org/privkey.pem;
#
set $upstream 192.168.11.4;
location / {
proxy_pass_header Authorization;
proxy_pass http://$upstream:8112;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
}

View File

@@ -0,0 +1,42 @@
##
# You should look at the following URL's in order to grasp a solid understanding of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/ https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name drive.app.vostan.org;
# SSL configuration
#
ssl_certificate /etc/nginx/ssl/live/www.vostan.org/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/www.vostan.org/privkey.pem;
#
set $upstream 192.168.11.4;
location / {
proxy_pass_header Authorization;
proxy_pass http://$upstream:8090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
}

View File

@@ -0,0 +1,42 @@
##
# You should look at the following URL's in order to grasp a solid understanding of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/ https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name gerbera.app.vostan.org;
# SSL configuration
#
ssl_certificate /etc/nginx/ssl/live/www.vostan.org/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/www.vostan.org/privkey.pem;
#
set $upstream 192.168.11.4;
location / {
proxy_pass_header Authorization;
proxy_pass http://$upstream:49152;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
}

View File

@@ -0,0 +1,42 @@
##
# You should look at the following URL's in order to grasp a solid understanding of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/ https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name gitea.app.vostan.org;
# SSL configuration
#
ssl_certificate /etc/nginx/ssl/live/www.vostan.org/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/www.vostan.org/privkey.pem;
#
set $upstream 192.168.11.4;
location / {
proxy_pass_header Authorization;
proxy_pass http://$upstream:9082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
}

View File

@@ -0,0 +1,42 @@
##
# You should look at the following URL's in order to grasp a solid understanding of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/ https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name pihole.app.vostan.org;
# SSL configuration
#
ssl_certificate /etc/nginx/ssl/live/www.vostan.org/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/www.vostan.org/privkey.pem;
#
set $upstream 192.168.11.3;
location / {
proxy_pass_header Authorization;
proxy_pass http://$upstream:8880;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
}

View File

@@ -0,0 +1,42 @@
##
# You should look at the following URL's in order to grasp a solid understanding of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/ https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name wireguard.app.vostan.org;
# SSL configuration
#
ssl_certificate /etc/nginx/ssl/live/www.vostan.org/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/www.vostan.org/privkey.pem;
#
set $upstream 192.168.11.3;
location / {
proxy_pass_header Authorization;
proxy_pass http://$upstream:51821;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
}

View File

@@ -32,6 +32,21 @@ server {
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
#set $upstream 192.168.11.3;
#location /private/wireguard/ {
# proxy_pass http://127.0.0.1:51821;
# proxy_pass_header Authorization;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_http_version 1.1;
# proxy_set_header Connection "";
# proxy_buffering off;
# client_max_body_size 0;
# proxy_read_timeout 36000s;
# # proxy_redirect off;
# proxy_redirect http://127.0.0.1:51821/ https://www.vostan.org/private/wireguard/;
#}
location / {
# First attempt to serve request as file, then