demo.Dockerfile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # CGO_ENABLED=1 GOOS=linux CC=x86_64-unknown-linux-gnu-gcc CXX=x86_64-unknown-linux-gnu-g++ GOARCH=amd64 go build -ldflags "-X 'github.com/0xJacky/Nginx-UI/settings.buildTime=$(date +%s)'" -o nginx-ui -v main.go
  2. FROM uozi/nginx-ui-base:latest
  3. ARG TARGETOS
  4. ARG TARGETARCH
  5. ARG TARGETVARIANT
  6. WORKDIR /app
  7. EXPOSE 80
  8. ENV NGINX_UI_WORKING_DIR=/var/run/
  9. # copy demo config
  10. COPY resources/demo/ojbk.me /etc/nginx/sites-available/ojbk.me
  11. COPY ["resources/demo/Prime Sponsor", "/etc/nginx/sites-available/Prime Sponsor"]
  12. RUN ln -s /etc/nginx/sites-available/ojbk.me /etc/nginx/sites-enabled/ojbk.me
  13. RUN ln -s "/etc/nginx/sites-available/Prime Sponsor" \
  14. "/etc/nginx/sites-enabled/Prime Sponsor"
  15. COPY resources/demo/app.ini /etc/nginx-ui/app.ini
  16. COPY resources/demo/demo.db /etc/nginx-ui/database.db
  17. # register nginx-ui service
  18. COPY resources/docker/nginx-ui.run /etc/s6-overlay/s6-rc.d/nginx-ui/run
  19. RUN echo 'longrun' > /etc/s6-overlay/s6-rc.d/nginx-ui/type && \
  20. touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx-ui
  21. # copy nginx config
  22. COPY resources/docker/nginx.conf /etc/nginx/nginx.conf
  23. COPY resources/docker/nginx-ui.conf /etc/nginx/conf.d/nginx-ui.conf
  24. COPY resources/demo/stub_status_nginx-ui.conf /etc/nginx/conf.d/stub_status_nginx-ui.conf
  25. # copy nginx-ui executable binary
  26. COPY nginx-ui-$TARGETOS-$TARGETARCH$TARGETVARIANT/nginx-ui /usr/local/bin/nginx-ui
  27. RUN rm -f /etc/nginx/conf.d/default.conf
  28. # recreate access.log and error.log
  29. RUN rm -f /var/log/nginx/access.log && \
  30. touch /var/log/nginx/access.log && \
  31. rm -f /var/log/nginx/error.log && \
  32. touch /var/log/nginx/error.log