mirror of https://github.com/usememos/memos
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			36 lines
		
	
	
		
			757 B
		
	
	
	
		
			Docker
		
	
			
		
		
	
	
			36 lines
		
	
	
		
			757 B
		
	
	
	
		
			Docker
		
	
# Build frontend dist.
 | 
						|
FROM node:18.12.1-alpine3.16 AS frontend
 | 
						|
WORKDIR /frontend-build
 | 
						|
 | 
						|
COPY ./web/package.json ./web/yarn.lock ./
 | 
						|
 | 
						|
RUN yarn
 | 
						|
 | 
						|
COPY ./web/ .
 | 
						|
 | 
						|
RUN yarn build
 | 
						|
 | 
						|
# Build backend exec file.
 | 
						|
FROM golang:1.19.3-alpine3.16 AS backend
 | 
						|
WORKDIR /backend-build
 | 
						|
 | 
						|
RUN apk update && apk add --no-cache gcc musl-dev
 | 
						|
 | 
						|
COPY . .
 | 
						|
COPY --from=frontend /frontend-build/dist ./server/dist
 | 
						|
 | 
						|
RUN go build -o memos ./main.go
 | 
						|
 | 
						|
# Make workspace with above generated files.
 | 
						|
FROM alpine:3.16 AS monolithic
 | 
						|
WORKDIR /usr/local/memos
 | 
						|
 | 
						|
COPY --from=backend /backend-build/memos /usr/local/memos/
 | 
						|
 | 
						|
EXPOSE 5230
 | 
						|
 | 
						|
# Directory to store the data, which can be referenced as the mounting point.
 | 
						|
RUN mkdir -p /var/opt/memos
 | 
						|
 | 
						|
ENTRYPOINT ["./memos", "--mode", "prod", "--port", "5230"]
 |