FROM docker.io/library/node:alpine WORKDIR /app ENV TZ=UTC RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone COPY --from=golang:1.20-alpine /usr/local/go/ /usr/local/go/ COPY --from=gogost/gost /bin/gost /usr/local/bin/gost COPY /src/ /app/ COPY /config/torrc /etc/tor/torrc RUN apk add -U --no-cache \ iproute2 iptables net-tools \ screen vim curl bash \ wireguard-tools \ dumb-init \ tor \ redis EXPOSE 3000/tcp COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh ENTRYPOINT ["docker-entrypoint.sh"] CMD ["npm", "run", "dev"]