mirror of
https://github.com/RealOrangeOne/notes.git
synced 2024-11-16 19:39:24 +00:00
Add container for live deployment
This commit is contained in:
parent
ce545ea686
commit
5924476685
5 changed files with 108 additions and 0 deletions
3
.dockerignore
Normal file
3
.dockerignore
Normal file
|
@ -0,0 +1,3 @@
|
|||
node_modules/
|
||||
.cache/
|
||||
public/
|
10
.github/workflows/ci.yml
vendored
10
.github/workflows/ci.yml
vendored
|
@ -3,6 +3,16 @@ name: CI
|
|||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
|
||||
- name: Build image
|
||||
run: docker build . --tag notes
|
||||
|
||||
- name: Show image info
|
||||
run: docker images
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
21
.github/workflows/deploy.yml
vendored
Normal file
21
.github/workflows/deploy.yml
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
name: Deploy
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
|
||||
- name: Build production container
|
||||
run: docker build --tag docker.pkg.github.com/${GITHUB_REPOSITORY,,}/notes:latest .
|
||||
|
||||
- name: Log into GitHub Docker Registry
|
||||
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login docker.pkg.github.com -u ${GITHUB_REPOSITORY%/*} --password-stdin
|
||||
|
||||
- name: Push the Docker container
|
||||
run: docker push docker.pkg.github.com/${GITHUB_REPOSITORY,,}/notes:latest
|
19
Dockerfile
Normal file
19
Dockerfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
# Site Build
|
||||
FROM node:lts-slim as build
|
||||
|
||||
ENV NODE_ENV production
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY . /app
|
||||
|
||||
RUN npm ci --production
|
||||
|
||||
RUN npm run build
|
||||
|
||||
# Production run
|
||||
FROM nginx:stable-alpine
|
||||
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
|
||||
COPY --from=build /app/public/ /usr/share/nginx/html
|
55
nginx.conf
Normal file
55
nginx.conf
Normal file
|
@ -0,0 +1,55 @@
|
|||
user nginx;
|
||||
worker_processes auto;
|
||||
|
||||
error_log stderr;
|
||||
pid /var/run/nginx.pid;
|
||||
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
|
||||
access_log /dev/stdout;
|
||||
|
||||
server_tokens off;
|
||||
|
||||
sendfile on;
|
||||
|
||||
keepalive_timeout 65;
|
||||
|
||||
gzip on;
|
||||
gzip_static on;
|
||||
|
||||
gzip_types *;
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
root /usr/share/nginx/html;
|
||||
index index.html;
|
||||
|
||||
set_real_ip_from 0.0.0.0/0;
|
||||
real_ip_header X-Forwarded-For;
|
||||
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
add_header X-Content-Type-Options "nosniff";
|
||||
add_header Referrer-Policy "same-origin";
|
||||
add_header Strict-Transport-Security "max-age=5184000";
|
||||
|
||||
location /ping {
|
||||
return 200 "PONG";
|
||||
}
|
||||
|
||||
location ~* \.(png|jpg|gif|svg|txt|css|js|xml|eot|ttf|woff2|woff)$ {
|
||||
add_header Cache-Control "public, max-age=0, must-revalidate";
|
||||
}
|
||||
|
||||
error_page 404 /404.html;
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue