]> Nishi Git Mirror - aya.git/commitdiff
Add support for specifying root driectory for zs serve
authorJames Mills <1290234+prologic@users.noreply.github.com>
Sun, 12 Mar 2023 04:24:34 +0000 (14:24 +1000)
committerJames Mills <1290234+prologic@users.noreply.github.com>
Sun, 12 Mar 2023 04:24:34 +0000 (14:24 +1000)
Dockerfile
main.go

index c78862d90f84a0ea455f2fe82ff64ea61e6f5285..cc350a2f08253c6009fc1fe8921c606532fb692a 100644 (file)
@@ -47,6 +47,8 @@ RUN addgroup -g "${PGID}" zs && \
     adduser -D -H -G zs -h /var/empty -u "${PUID}" zs && \
     mkdir -p /data && chown -R zs:zs /data
 
+EXPOSE 8000/tcp
+
 VOLUME /data
 
 WORKDIR /
@@ -57,4 +59,4 @@ COPY .dockerfiles/entrypoint.sh /init
 
 ENTRYPOINT ["/init"]
 
-CMD ["zs""]
+CMD ["zs"", "serve", "0.0.0.0:8000", "/data"]
diff --git a/main.go b/main.go
index a281d39ee9c862346ca75ed5f5d211e5cc247b56..9427bcb85f1bd7ffb4ebc3ab47933d1b37613642 100644 (file)
--- a/main.go
+++ b/main.go
@@ -329,13 +329,13 @@ func buildAll(ctx context.Context, watch bool) {
 }
 
 // serve runs a static web server and builds and continuously watches for changes to rebuild
-func serve(ctx context.Context, bind string) error {
-       os.Mkdir(PUBDIR, 0755)
+func serve(ctx context.Context, bind, root string) error {
+       os.Mkdir(root, 0755)
 
        svr, err := static.NewServer(
                static.WithBind(bind),
                static.WithDir(true),
-               static.WithRoot(PUBDIR),
+               static.WithRoot(root),
                static.WithSPA(true),
        )
        if err != nil {
@@ -386,10 +386,14 @@ func main() {
                buildAll(ctx, true)
        case "serve":
                bind := ":8000"
-               if len(args) > 1 {
+               root := PUBDIR
+               if len(args) > 0 {
                        bind = args[0]
                }
-               if err := serve(ctx, bind); err != nil {
+               if len(args) > 1 {
+                       root = args[1]
+               }
+               if err := serve(ctx, bind, root); err != nil {
                        fmt.Println("ERROR: " + err.Error())
                }
        case "var":