diff --git a/Dockerfile b/Dockerfile index 36f8df5..7b401e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:14 +FROM node:16 # Set working directory WORKDIR /var/www diff --git a/docker-compose.yml.example b/docker-compose.yml.example new file mode 100644 index 0000000..9232c5d --- /dev/null +++ b/docker-compose.yml.example @@ -0,0 +1,35 @@ +version: '3.5' +services: + #Nginx Service + register-student-nginx: + image: nginx:alpine + container_name: register-student-nginx + restart: unless-stopped + tty: true + ports: + - "19991:80" + - "19913:443" + volumes: + - ./:/var/www + - ./nginx/conf.d:/etc/nginx/conf.d + networks: + - app-network + #Node Service + register-student-web: + image: node:16 + container_name: register-student-web + build: + context: . + dockerfile: ./Dockerfile + restart: unless-stopped + tty: true + working_dir: /var/www + volumes: + - ./:/var/www + networks: + - app-network +#Docker Networks +networks: + app-network: + name: gk.internal + external: true diff --git a/nginx/conf.d.prod/vhost.conf b/nginx/conf.d.prod/vhost.conf new file mode 100644 index 0000000..7e422ea --- /dev/null +++ b/nginx/conf.d.prod/vhost.conf @@ -0,0 +1,68 @@ +server { + listen 80; + server_name dev.hocsinh.sundayenglish.com; + index index.html; + error_log /var/log/nginx/error.log; + access_log /var/log/nginx/access.log; + root /var/www/build; + + location / { + try_files $uri $uri/ /index.html$is_args$args; + gzip_static on; + } + + client_max_body_size 128m; +} +server { + listen 443 default_server ssl http2; + listen [::]:443 ssl http2; + server_name dev.hocsinh.sundayenglish.com; + index index.php index.html; + error_log /var/log/nginx/error.log; + access_log /var/log/nginx/access.log; + root /var/www/main; + add_header Access-Control-Allow-Origin *; + ssl_certificate /etc/nginx/ssl/live/dev.hocsinh.sundayenglish.com/fullchain.pem; + ssl_certificate_key /etc/nginx/ssl/live/dev.hocsinh.sundayenglish.com/privkey.pem; + + location / { + try_files $uri /index.html; + } + + location ~* \.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$ { + expires 1h; + add_header Cache-Control "public, no-transform"; + gzip on; + gzip_disable "msie6"; + + gzip_vary on; + gzip_proxied any; + gzip_comp_level 6; + gzip_buffers 16 8k; + gzip_http_version 1.1; + gzip_min_length 256; + gzip_types + application/atom+xml + application/geo+json + application/javascript + application/x-javascript + application/json + application/ld+json + application/manifest+json + application/rdf+xml + application/rss+xml + application/xhtml+xml + application/xml + font/eot + font/otf + font/ttf + image/svg+xml + text/css + text/javascript + text/plain + text/xml + image/jpeg; + } + + client_max_body_size 1024m; +}