Fisrt commit

This commit is contained in:
koalasat
2025-02-12 20:26:56 +01:00
parent 4928d089f6
commit d6b845a3c3
3 changed files with 104 additions and 1 deletions

View File

@ -1 +1,3 @@
# robosats-web-host
# robosats-web-host
https://learn.robosats.org

30
docker-compose.yml Normal file
View File

@ -0,0 +1,30 @@
version: '3.4'
services:
nginx:
build:
context: .
dockerfile: Dockerfile
ports:
- '80:80'
- '443:443'
restart: always
volumes:
- ./nginx/conf/:/etc/nginx/conf.d/:ro
- /var/www/certbot:/var/www/certbot/:ro
- /etc/letsencrypt/:/etc/nginx/ssl/:ro
- ./nostr:/nostr:ro
networks:
- nginx
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
certbot:
image: certbot/certbot:latest
restart: always
volumes:
- /var/www/certbot/:/var/www/certbot/:rw
- /etc/letsencrypt/:/etc/letsencrypt/:rw
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
networks:
nginx:
driver: bridge
external: true

71
nginx/conf/nginx.conf Normal file
View File

@ -0,0 +1,71 @@
server {
listen 80;
listen [::]:80;
server_name learn.robosats.org;
location /.well-known/acme-challenge {
root /var/www/certbot;
}
location / {
return 301 https://learn.robosats.org$request_uri;
}
}
server {
listen 80;
listen [::]:80;
server_name docs.robosats.org;
server_tokens off;
location /.well-known/acme-challenge {
root /var/www/certbot;
}
location / {
return 301 https://docs.robosats.org$request_uri;
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name learn.robosats.org;
ssl_certificate /etc/nginx/ssl/live/learn.robosats.org/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/learn.robosats.org/privkey.pem;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://pages:4000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name docs.robosats.org;
ssl_certificate /etc/nginx/ssl/live/docs.robosats.org/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/docs.robosats.org/privkey.pem;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://pages:4000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}