Add astro stack for e.field.ghost.tel
Some checks failed
Deploy Stacks / deploy-prod (push) Failing after 1s
Deploy Stacks / deploy-dev (push) Has been cancelled

This commit is contained in:
2026-01-24 22:54:51 -05:00
parent b14015b12f
commit a4dfbc715f
3 changed files with 51 additions and 0 deletions

View File

@@ -0,0 +1 @@
DOMAIN=${DOMAIN}

View File

@@ -0,0 +1,23 @@
services:
astro:
image: nginx:alpine
container_name: astro
restart: unless-stopped
expose:
- 80
volumes:
- ./dist:/usr/share/nginx/html:ro
- ./nginx-cors.conf:/etc/nginx/conf.d/default.conf:ro
networks:
- web
labels:
- "com.ghost.tel/stack-type=public"
- "traefik.enable=true"
- "traefik.http.routers.astro.entrypoints=https"
- "traefik.http.routers.astro.rule=Host(`e.field.${DOMAIN}`)"
- "traefik.http.routers.astro.tls.certresolver=http"
- "traefik.http.services.astro.loadbalancer.server.port=80"
networks:
web:
external: true

View File

@@ -0,0 +1,27 @@
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
# CORS configuration
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
# Handle preflight requests
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
try_files $uri $uri/ =404;
}
}