Build static and use nginx instead of the full hugo server (#8)
This pull request will close #4 Hugo server needs about 800mb of memory just to do what nginx can with a way smaller requirements, so it makes sense to stop using `hugo` for serving statics
This commit is contained in:
		
							
								
								
									
										34
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								.drone.yml
									
									
									
									
									
								
							@@ -1,13 +1,19 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
 | 
					# ----------------------------------------------
 | 
				
			||||||
 | 
					# -- Build the site and push it to the registry
 | 
				
			||||||
 | 
					# ----------------------------------------------
 | 
				
			||||||
kind: pipeline
 | 
					kind: pipeline
 | 
				
			||||||
type: kubernetes
 | 
					type: kubernetes
 | 
				
			||||||
name: Build badhouseplants.net
 | 
					name: Build badhouseplants.net
 | 
				
			||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					trigger:
 | 
				
			||||||
- name: Publish the Helm chart
 | 
					 | 
				
			||||||
  when:
 | 
					 | 
				
			||||||
  branch:
 | 
					  branch:
 | 
				
			||||||
    - main
 | 
					    - main
 | 
				
			||||||
 | 
					  event:
 | 
				
			||||||
 | 
					  - push
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					steps:
 | 
				
			||||||
 | 
					- name: Publish the Helm chart
 | 
				
			||||||
  image: alpine/helm
 | 
					  image: alpine/helm
 | 
				
			||||||
  environment:
 | 
					  environment:
 | 
				
			||||||
    GITEA_TOKEN:
 | 
					    GITEA_TOKEN:
 | 
				
			||||||
@@ -18,19 +24,13 @@ steps:
 | 
				
			|||||||
    - helm repo add  --username allanger --password $GITEA_TOKEN allanger-charts https://git.badhouseplants.net/api/packages/allanger/helm
 | 
					    - helm repo add  --username allanger --password $GITEA_TOKEN allanger-charts https://git.badhouseplants.net/api/packages/allanger/helm
 | 
				
			||||||
    - helm cm-push "./chart-package/$(ls chart-package)" allanger-charts
 | 
					    - helm cm-push "./chart-package/$(ls chart-package)" allanger-charts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Init git submodules
 | 
					- name: Init git submodules with themes
 | 
				
			||||||
  image: alpine/git
 | 
					  image: alpine/git
 | 
				
			||||||
  when:
 | 
					 | 
				
			||||||
    branch:
 | 
					 | 
				
			||||||
      - main
 | 
					 | 
				
			||||||
  commands:
 | 
					  commands:
 | 
				
			||||||
  - git submodule update --init --recursive
 | 
					  - git submodule update --init --recursive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Get static content
 | 
					- name: Get static content
 | 
				
			||||||
  image: rclone/rclone:latest
 | 
					  image: rclone/rclone:latest
 | 
				
			||||||
  when:
 | 
					 | 
				
			||||||
    branch:
 | 
					 | 
				
			||||||
      - main
 | 
					 | 
				
			||||||
  environment:
 | 
					  environment:
 | 
				
			||||||
    RCLONE_CONFIG_CONTENT:
 | 
					    RCLONE_CONFIG_CONTENT:
 | 
				
			||||||
      from_secret: RCLONE_CONFIG_CONTENT
 | 
					      from_secret: RCLONE_CONFIG_CONTENT
 | 
				
			||||||
@@ -40,9 +40,6 @@ steps:
 | 
				
			|||||||
    - rclone copy -P badhouseplants-public:/badhouseplants-static static
 | 
					    - rclone copy -P badhouseplants-public:/badhouseplants-static static
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Build and push the docker image 
 | 
					- name: Build and push the docker image 
 | 
				
			||||||
  when:
 | 
					 | 
				
			||||||
    branch:
 | 
					 | 
				
			||||||
      - main
 | 
					 | 
				
			||||||
  image: plugins/docker
 | 
					  image: plugins/docker
 | 
				
			||||||
  settings: 
 | 
					  settings: 
 | 
				
			||||||
    registry: git.badhouseplants.net
 | 
					    registry: git.badhouseplants.net
 | 
				
			||||||
@@ -52,16 +49,23 @@ steps:
 | 
				
			|||||||
    repo: git.badhouseplants.net/allanger/badhouseplants-net
 | 
					    repo: git.badhouseplants.net/allanger/badhouseplants-net
 | 
				
			||||||
    tags: latest
 | 
					    tags: latest
 | 
				
			||||||
  depends_on:
 | 
					  depends_on:
 | 
				
			||||||
    - Init git submodules
 | 
					    - Init git submodules with themes
 | 
				
			||||||
    - Get static content
 | 
					    - Get static content
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					# ----------------------------------------------
 | 
				
			||||||
 | 
					# -- Upload a newer version of my CV
 | 
				
			||||||
 | 
					# ----------------------------------------------
 | 
				
			||||||
kind: pipeline
 | 
					kind: pipeline
 | 
				
			||||||
type: kubernetes
 | 
					type: kubernetes
 | 
				
			||||||
name: CV Builder
 | 
					name: CV Builder
 | 
				
			||||||
when: 
 | 
					
 | 
				
			||||||
 | 
					trigger:
 | 
				
			||||||
  branch:
 | 
					  branch:
 | 
				
			||||||
    - main
 | 
					    - main
 | 
				
			||||||
 | 
					  event:
 | 
				
			||||||
 | 
					  - push
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
  - name: Build the CV
 | 
					  - name: Build the CV
 | 
				
			||||||
    image: ghcr.io/puppeteer/puppeteer
 | 
					    image: ghcr.io/puppeteer/puppeteer
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,3 +1,4 @@
 | 
				
			|||||||
node_modules
 | 
					node_modules
 | 
				
			||||||
static
 | 
					static
 | 
				
			||||||
content/cv/index.pdf
 | 
					content/cv/index.pdf
 | 
				
			||||||
 | 
					public
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										17
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								Dockerfile
									
									
									
									
									
								
							@@ -1,13 +1,16 @@
 | 
				
			|||||||
FROM alpine:latest AS builder
 | 
					FROM alpine:latest AS builder
 | 
				
			||||||
WORKDIR /src
 | 
					WORKDIR /src
 | 
				
			||||||
 | 
					COPY . /src
 | 
				
			||||||
ARG GOHUGO_LINK=https://github.com/gohugoio/hugo/releases/download/v0.110.0/hugo_0.110.0_linux-amd64.tar.gz
 | 
					ARG GOHUGO_LINK=https://github.com/gohugoio/hugo/releases/download/v0.110.0/hugo_0.110.0_linux-amd64.tar.gz
 | 
				
			||||||
RUN apk update && apk add curl tar
 | 
					RUN apk update && apk add curl tar
 | 
				
			||||||
RUN curl -LJO ${GOHUGO_LINK} && tar -xf hugo_0.110.0_linux-amd64.tar.gz
 | 
					RUN curl -LJO ${GOHUGO_LINK} && tar -xf hugo_0.110.0_linux-amd64.tar.gz
 | 
				
			||||||
RUN chmod +x /src/hugo
 | 
					RUN mv /src/hugo /usr/local/bin/hugo
 | 
				
			||||||
 | 
					RUN chmod +x /usr/local/bin/hugo
 | 
				
			||||||
 | 
					RUN hugo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM nginx:stable-alpine
 | 
				
			||||||
 | 
					COPY --from=builder /src/public /var/www
 | 
				
			||||||
 | 
					COPY configs/nginx.conf /etc/nginx/conf.d/default.conf
 | 
				
			||||||
 | 
					EXPOSE 80
 | 
				
			||||||
 | 
					CMD [ "nginx", "-g", "daemon off;" ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM alpine:latest
 | 
					 | 
				
			||||||
WORKDIR /src
 | 
					 | 
				
			||||||
COPY --from=builder /src/hugo /usr/bin/hugo
 | 
					 | 
				
			||||||
COPY . /src
 | 
					 | 
				
			||||||
ENTRYPOINT ["/usr/bin/hugo"]
 | 
					 | 
				
			||||||
CMD ["--help"]
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										13
									
								
								configs/nginx.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								configs/nginx.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					server {
 | 
				
			||||||
 | 
					       listen 80;
 | 
				
			||||||
 | 
					       listen [::]:80;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       server_name badhouseplants.com www.badhouseplants.com;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       root /var/www;
 | 
				
			||||||
 | 
					       index index.html; # Hugo generates HTML
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       location / {
 | 
				
			||||||
 | 
					               try_files $uri $uri/ =404;
 | 
				
			||||||
 | 
					       }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user