diff --git a/Dockerfile b/Dockerfile
index 06fdb26..4c43042 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,33 +1,23 @@
-FROM node:15-buster
+FROM node:15-alpine3.12
 
-RUN apt update && apt install software-properties-common -y && apt clean && rm -rf /var/lib/apt/lists/*
+RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
+RUN apk add --update --no-cache sqlite python3 git moreutils yq gcc make libc-dev wget
 
-RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CC86BB64
-
-RUN add-apt-repository "deb http://ppa.launchpad.net/rmescandon/yq/ubuntu focal main" -y
-
-RUN apt update && apt install sqlite python git moreutils yq -y && apt clean && rm -rf /var/lib/apt/lists/*
+# 修复alpine的golang支持
+RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
 
 WORKDIR /tmp
 
-ADD https://golang.org/dl/go1.15.5.linux-amd64.tar.gz /tmp/go1.15.5.linux-amd64.tar.gz
+RUN wget https://golang.org/dl/go1.15.5.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.15.5.linux-amd64.tar.gz && echo 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profile && rm -f /tmp/go1.15.5.linux-amd64.tar.gz
 
-RUN tar -C /usr/local -xzf go1.15.5.linux-amd64.tar.gz && echo 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profile
+ADD build.sh /tmp/build.sh
+RUN chmod +x /tmp/build.sh && /tmp/build.sh
 
-WORKDIR /opt
-
-RUN git clone https://github.com/kallydev/privacy
-
-WORKDIR /opt/privacy/server
-
-RUN export PATH=$PATH:/usr/local/go/bin && go build -o app main/main.go
-
-WORKDIR /opt/privacy/website
-
-RUN yarn install && yarn build
+WORKDIR /opt/privacy
 
+ADD scripts/ /opt/privacy/scripts/
+ADD config.yaml /opt/privacy/config.yaml
 ADD entrypoint.sh /opt/privacy/entrypoint.sh
-
 RUN chmod +x /opt/privacy/entrypoint.sh
 
 VOLUME [ "/opt/privacy/database", "/opt/privacy/source" ]
@@ -44,6 +34,4 @@ ENV mask=true
 
 EXPOSE 80
 
-WORKDIR /opt/privacy
-
 ENTRYPOINT [ "/opt/privacy/entrypoint.sh" ]
diff --git a/build.sh b/build.sh
new file mode 100644
index 0000000..268f15a
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+export PATH=$PATH:/usr/local/go/bin
+mkdir -p /opt/privacy/server/
+mkdir -p /opt/privacy/website/
+cd /tmp
+git clone https://github.com/kallydev/privacy
+cd /tmp/privacy/server
+go build -o /opt/privacy/server/app main/main.go
+chmod 0755 /opt/privacy/server/app
+cd /tmp/privacy/website
+yarn install && yarn build
+cp -r /tmp/privacy/website/build /opt/privacy/website/build
+rm -rf /tmp/privacy
+rm -rf /root/go/pkg/*
+rm -rf /usr/local/go/pkg/*
+rm -rf /usr/local/share/.cache
diff --git a/docker-compose.yaml b/docker-compose.yaml
index be03f9c..ab61ce0 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -3,7 +3,7 @@ version: "3.3"
 services:
   server:
     build: .
-    image: privacy
+    image: privacy:alpine
     network_mode: bridge
     volumes:
       - ./database:/opt/privacy/database
diff --git a/entrypoint.sh b/entrypoint.sh
index 2f964ae..547d14c 100644
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 
 # 设置环境变量
 yq w config.yaml database.tables.qq $qq | yq w - database.tables.jd $jd | yq w - database.tables.sf $sf | yq w - database.tables.wb $wb | yq w - http.host $host | yq w - http.port $port | yq w - mask $mask | sponge config.yaml