Upcoming Events
+Across the circuits Gateway Gamers follows
++ Data from Best Coast Pairings · showing only upcoming events, soonest first +
+ +diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5efb24d..29288ce 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -176,3 +176,36 @@ deploy:scouting: environment: name: production url: https://scouting.gateway-gamers.net + +# --------------------------------------------------------------------------- +# events +# --------------------------------------------------------------------------- + +build:events: + stage: build + variables: + SITE: events + script: *build_script + artifacts: + paths: + - sites/events/dist/ + expire_in: 1 hour + rules: + - if: '$CI_COMMIT_BRANCH == "main"' + changes: + - sites/events/**/* + - shared/**/* + +deploy:events: + stage: deploy + needs: ["build:events"] + script: + - rsync -avz --delete --exclude images --exclude footer.html sites/events/dist/ /var/www/domains/gateway-gamers.net/events/ + rules: + - if: '$CI_COMMIT_BRANCH == "main"' + changes: + - sites/events/**/* + - shared/**/* + environment: + name: production + url: https://events.gateway-gamers.net diff --git a/sites/events/.gitignore b/sites/events/.gitignore new file mode 100644 index 0000000..dafa699 --- /dev/null +++ b/sites/events/.gitignore @@ -0,0 +1,4 @@ +node_modules/ +dist/ +.env +.env.local diff --git a/sites/events/events.gateway-gamers.net.conf b/sites/events/events.gateway-gamers.net.conf new file mode 100644 index 0000000..cde173c --- /dev/null +++ b/sites/events/events.gateway-gamers.net.conf @@ -0,0 +1,46 @@ +server { + listen 80; + listen [::]:80; + server_name events.gateway-gamers.net; + return 301 https://$host$request_uri; +} + +server { + listen 443 ssl; + listen [::]:443 ssl; + server_name events.gateway-gamers.net; + + root /var/www/domains/gateway-gamers.net/events; + index index.html; + + # SSL — managed by Certbot + # ssl_certificate /etc/letsencrypt/live/events.gateway-gamers.net/fullchain.pem; + # ssl_certificate_key /etc/letsencrypt/live/events.gateway-gamers.net/privkey.pem; + # include /etc/letsencrypt/options-ssl-nginx.conf; + # ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; + + # Hide nginx version + server_tokens off; + + # Security headers + add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; + add_header X-Content-Type-Options "nosniff" always; + add_header X-Frame-Options "SAMEORIGIN" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always; + add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; connect-src 'self' https://newprod-api.bestcoastpairings.com; img-src 'self' data:;" always; + + # Shared assets (images + footer) — single on-disk copy under shared/, + # deployed once and aliased by every gateway-gamers.net site. + location /images/ { + alias /var/www/domains/gateway-gamers.net/shared/images/; + } + + location = /footer.html { + alias /var/www/domains/gateway-gamers.net/shared/footer.html; + } + + location / { + try_files $uri $uri/ =404; + } +} diff --git a/sites/events/index.html b/sites/events/index.html new file mode 100644 index 0000000..d7d7c4c --- /dev/null +++ b/sites/events/index.html @@ -0,0 +1,45 @@ + + +
+ + +Across the circuits Gateway Gamers follows
++ Data from Best Coast Pairings · showing only upcoming events, soonest first +
+ +
+
+
+
+
+
+
+ No upcoming events for this circuit.
`; + return ` +Couldn't load events for this circuit — try refreshing.