diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b31de01 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Nginx 기반 Docker 이미지 +FROM nginx:alpine + +# 기본 Nginx 설정 제거 +RUN rm /etc/nginx/conf.d/default.conf + +# Unity WebGL 빌드 파일 복사 +COPY ./Build /usr/share/nginx/html/Build +COPY ./TemplateData /usr/share/nginx/html/TemplateData +#COPY ./index.html /usr/share/nginx/html/ +COPY ./index-full.html /usr/share/nginx/html/index.html + +# Nginx 커스텀 설정 복사 +COPY ./nginx.conf /etc/nginx/conf.d/default.conf + +# 포트 공개 +EXPOSE 80 + +# Nginx 실행 +CMD ["nginx", "-g", "daemon off;"] diff --git a/index-full.html b/index-full.html new file mode 100644 index 0000000..aa9c547 --- /dev/null +++ b/index-full.html @@ -0,0 +1,105 @@ + + + + + + Unity Web Player | demo + + + + + +
+ +
+ +
+
+
+
+
+ +
+ + + + diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..b5fd9c3 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,65 @@ +server { + listen 80; + server_name localhost; + + # Unity WebGL 빌드 파일의 기본 경로 + root /usr/share/nginx/html; + + index index.html; + + # 기본 파일 제공 + location / { + try_files $uri $uri/ /index.html; + expires max; + add_header Cache-Control "public, max-age=31536000"; + } + + # Gzip으로 압축된 WebAssembly 파일 처리 + location ~ \.wasm\.gz$ { + gzip_static always; + add_header Content-Encoding gzip; + add_header Cache-Control "public, max-age=31536000"; + default_type application/wasm; + try_files $uri =404; + } + + # Gzip으로 압축된 JavaScript 파일 처리 + location ~ \.js\.gz$ { + gzip_static always; + add_header Content-Encoding gzip; + add_header Content-Type application/javascript; + add_header Cache-Control "public, max-age=31536000"; + try_files $uri =404; + } + + # Gzip으로 압축된 CSS 파일 처리 + location ~ \.css\.gz$ { + gzip_static always; + add_header Content-Encoding gzip; + add_header Content-Type text/css; + add_header Cache-Control "public, max-age=31536000"; + try_files $uri =404; + } + + # Gzip으로 압축된 HTML 파일 처리 + location ~ \.html\.gz$ { + gzip_static always; + add_header Content-Encoding gzip; + add_header Content-Type text/html; + add_header Cache-Control "public, max-age=31536000"; + try_files $uri =404; + } + + # Gzip으로 압축된 데이터 파일 처리 + location ~ \.data\.gz$ { + gzip_static always; + add_header Content-Encoding gzip; + add_header Content-Type application/octet-stream; + add_header Cache-Control "public, max-age=31536000"; + try_files $uri =404; + } + + # 404 에러 페이지 처리 + error_page 404 /index.html; +} +