# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: yehan-nginx
spec:
    description: nginx service
    tags:
        - Tool
    readme: a custom nginx service
    services:
        - name: NGINX
          icon: https://www.svgrepo.com/show/373924/nginx.svg
          template: PREBUILT
          spec:
            id: nginx
            source:
                image: nginx:1.25
            ports:
                - id: web
                  port: 80
                  type: HTTP
            configs:
                - path: /etc/nginx/nginx.conf
                  template: |
                    worker_processes  5;
                    error_log  stderr;
                    worker_rlimit_nofile 8192;

                    events {}

                    http {
                      default_type application/octet-stream;
                      log_format   main '$remote_addr - $remote_user [$time_local]  $status '
                        '"$request" $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for"';
                      access_log   /dev/stdout  main;
                      sendfile     on;
                      tcp_nopush   on;
                      server_names_hash_bucket_size 128; # this seems to be required for some vhosts

                      server {
                        listen 80 default_server;
                        server_name _;

                        location / {
                          add_header Content-Type text/plain;
                          return 200 'Hello from Zeabur!';
                        }

                        # location / {
                        #   proxy_pass http://your-service:8080;
                        # }
                      }
                    }
                  permission: null
                  envsubst: null
