serve static files and docker
This commit is contained in:
		
							parent
							
								
									bb6c61b08e
								
							
						
					
					
						commit
						37ea5eb926
					
				@ -1,3 +1,11 @@
 | 
			
		||||
FROM --platform=$BUILDPLATFORM node:20-alpine as webbuild
 | 
			
		||||
 | 
			
		||||
COPY . /build
 | 
			
		||||
 | 
			
		||||
WORKDIR /build/frontend
 | 
			
		||||
 | 
			
		||||
RUN npm ci && npm run build
 | 
			
		||||
 | 
			
		||||
FROM --platform=$BUILDPLATFORM golang:1.21-alpine as build
 | 
			
		||||
 | 
			
		||||
ADD . /app
 | 
			
		||||
@ -15,6 +23,7 @@ FROM --platform=$TARGETPLATFORM alpine:latest
 | 
			
		||||
WORKDIR /data
 | 
			
		||||
RUN apk add --no-cache tzdata ca-certificates
 | 
			
		||||
COPY --from=build /app/build/morningalarm /app/morningalarm
 | 
			
		||||
COPY --from=webbuild /build/frontend/dist /app/public
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
EXPOSE 3000
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,8 @@ package morningalarm
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"os"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/gin-gonic/gin"
 | 
			
		||||
@ -17,6 +19,16 @@ type AlarmPatch struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (ma *MorningAlarm) setupWebserver() {
 | 
			
		||||
 | 
			
		||||
	// TODO: This is stupid
 | 
			
		||||
	execPath, err := os.Executable()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic("Shit")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Serve static files
 | 
			
		||||
	ma.ro.NoRoute(gin.WrapH(http.FileServer(http.Dir(filepath.Join(filepath.Dir(execPath), "public")))))
 | 
			
		||||
 | 
			
		||||
	// Create a new alarm
 | 
			
		||||
	ma.ro.POST("/api/alarm", func(c *gin.Context) {
 | 
			
		||||
		var body alarm
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user