Skip to content

Commit

Permalink
repair dockerfile, multi process with s6
Browse files Browse the repository at this point in the history
  • Loading branch information
cylonchau committed May 17, 2023
1 parent 067f021 commit aff50c4
Show file tree
Hide file tree
Showing 164 changed files with 444 additions and 12 deletions.
42 changes: 32 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,19 +1,41 @@
FROM golang:alpine AS builder
MAINTAINER cylon
WORKDIR /firewall
COPY ./ /firewall
WORKDIR /uranus
COPY ./ /uranus
ENV GOPROXY https://goproxy.cn,direct
RUN \
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \
#sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \
apk add upx bash make && \
make build && \
upx -1 _output/firewalld-gateway && \
chmod +x _output/firewalld-gateway

FROM alpine AS runner
WORKDIR /go/firewalld
COPY --from=builder /firewalld/_output/firewalld-gateway ./bin/
COPY --from=builder /firewalld/firewalld-gateway.toml .
CMD ["firewalld-gateway", "-v", "5"]
ENV PATH "$PATH:/go/firewalld/bin"
VOLUME ["/firewall"]
FROM nginx AS runner
WORKDIR /uranus
ARG S6_OVERLAY_VERSION=3.1.5.0
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-x86_64.tar.xz /tmp

RUN apt update && apt install xz-utils procps iproute2 -y && \
tar -Jxpf /tmp/s6-overlay-x86_64.tar.xz -C / && \
tar -Jxpf /tmp/s6-overlay-noarch.tar.xz -C / && \
rm -f /tmp/s6-overlay-x86_64.tar.xz && rm -f /tmp/s6-overlay-noarch.tar.xz
ENTRYPOINT ["/init"]
RUN mkdir /etc/services.d/
COPY --from=builder /uranus/_output/firewalld-gateway ./bin/
COPY --from=builder /uranus/firewalld-gateway.toml .
COPY --from=builder /uranus/dist /var/run/
COPY --from=builder /uranus/uranus.nginx.conf /etc/nginx/conf.d/
COPY --from=builder /uranus/s6/ /etc/s6-overlay/s6-rc.d/
COPY --from=builder /uranus/s6/ /etc/services.d/
ENV PATH "$PATH:/uranus/bin"
RUN firewalld-gateway --sql-driver=sqlite --migration && \
rm -f /etc/nginx/conf.d/default.conf && \
echo "longrun" > /etc/s6-overlay/s6-rc.d/nginx/type && \
echo "longrun" > /etc/s6-overlay/s6-rc.d/uranus/type && \
mkdir -pv /etc/s6-overlay/s6-rc.d/uranus/contents.d && \
mkdir -pv /etc/s6-overlay/s6-rc.d/nginx/contents.d

#CMD [ " /command/s6-svscan", "/etc/services.d" ]
VOLUME ["/uranus" ]
EXPOSE 2953/tcp
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,14 @@ Uranus is a Linux firewalld central controller. In Greek mythology, Uranus king

## Show

### Show picture

[Click](#Screenshot)

### Show Video
- In China ▶ [bilibili](https://www.bilibili.com/video/BV1J24y1K7SD)
- In World ▶ [YouTube](https://www.youtube.com/watch?v=v7HLZVA5V58)

![](./images/Uranus.png)

## Features
Expand Down
Binary file added dist/f256d1da51e72b95f7f1b79f543b7f47.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dist/favicon.ico
Binary file not shown.
1 change: 1 addition & 0 deletions dist/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><meta name=renderer content=webkit><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><link rel=icon href=/favicon.ico><title>Uranus Gateway</title><link href=/static/css/app.52b12afa.css rel=preload as=style><link href=/static/css/chunk-libs.3dfb7769.css rel=preload as=style><link href=/static/js/app.a4d8315d.js rel=preload as=script><link href=/static/js/chunk-elementUI.6f8fe164.js rel=preload as=script><link href=/static/js/chunk-libs.b360ca84.js rel=preload as=script><link href=/static/css/chunk-libs.3dfb7769.css rel=stylesheet><link href=/static/css/app.52b12afa.css rel=stylesheet></head><body><div id=app></div><script>(function(c){function e(e){for(var u,h,k=e[0],f=e[1],t=e[2],b=0,r=[];b<k.length;b++)h=k[b],Object.prototype.hasOwnProperty.call(d,h)&&d[h]&&r.push(d[h][0]),d[h]=0;for(u in f)Object.prototype.hasOwnProperty.call(f,u)&&(c[u]=f[u]);o&&o(e);while(r.length)r.shift()();return a.push.apply(a,t||[]),n()}function n(){for(var c,e=0;e<a.length;e++){for(var n=a[e],u=!0,h=1;h<n.length;h++){var k=n[h];0!==d[k]&&(u=!1)}u&&(a.splice(e--,1),c=f(f.s=n[0]))}return c}var u={},h={runtime:0},d={runtime:0},a=[];function k(c){return f.p+"static/js/"+({"chunk-commons":"chunk-commons"}[c]||c)+"."+{"chunk-04c96b79":"4148b5e4","chunk-1789ada2":"b3fc40fa","chunk-18bbd850":"fb901614","chunk-1d23a968":"58d72b5a","chunk-b87e58ce":"f5fcaed3","chunk-91398bbe":"7ad52511","chunk-2d0c0353":"23cf2ada","chunk-2d0c84d3":"170fc152","chunk-1628ecf3":"9c26351d","chunk-2d0ac416":"3eb6fca4","chunk-7a0bc8dc":"84bb9616","chunk-b8e95a0a":"49f9dd52","chunk-5da03598":"fad9addb","chunk-2d0c8bf7":"58873a14","chunk-2d0e4e1f":"5178c362","chunk-2d0e944c":"de64db21","chunk-2d20f537":"bca00191","chunk-2d2104c6":"fd179f08","chunk-2d2105d3":"f58cc2ad","chunk-2d210b83":"45ab1fe6","chunk-2d226cab":"426edad3","chunk-2d229205":"01cd5904","chunk-2d230fe7":"83dafd03","chunk-3582ab29":"8ce2242f","chunk-3b79c274":"f39ed6e2","chunk-44e2ecd4":"df69c7b1","chunk-471f39b1":"637ef4c7","chunk-490ab528":"ec41300d","chunk-4c9ef285":"7ec4578e","chunk-5588d492":"fa324a72","chunk-58ada7f6":"da22f14e","chunk-5b6f2742":"8ae0225c","chunk-6403ec67":"d430438b","chunk-62f46b39":"83856c3c","chunk-6e83591c":"9e852703","chunk-5164a781":"0353cf20","chunk-78c8a4ac":"58c87640","chunk-70592fa6":"6b30dc02","chunk-71e93d33":"3674e39b","chunk-74926326":"a0e6ca00","chunk-75128e5a":"fd3041dd","chunk-7b9a000c":"6e30ed84","chunk-90a8aa5a":"b5890dec","chunk-976c95e2":"c7e17b6d","chunk-acf52e6e":"f57297fe","chunk-ad6614d8":"1486c0c3","chunk-bacc0f62":"7a775acf","chunk-commons":"5b03d2eb","chunk-0d1c46e8":"759fd70b","chunk-38129b08":"ccfe6cd4","chunk-20042532":"b1cbda33","chunk-25c3fb55":"bf34fe8f","chunk-30a8625b":"f603efb5","chunk-30d67c0e":"4ac7d23e","chunk-365dc3d2":"473d11e6","chunk-39e75cc0":"a94315e9","chunk-3f2f1af4":"8b3f3292","chunk-4c114850":"568a6edd","chunk-5b21bed8":"73561c96","chunk-6c35146c":"f5774c07","chunk-1ca10b40":"ad25d40e","chunk-332739e1":"ab013dd4","chunk-370b8b5e":"6a715f6e","chunk-a090e4f8":"302f6520","chunk-8ede0698":"ed5ebd49","chunk-94e753fe":"0d30d193","chunk-9e9c9b90":"1256607f","chunk-ac1361dc":"ef4d796d","chunk-d3894064":"0be10361","chunk-2d0a519f":"43566878","chunk-2d0f0a2e":"8dc5566c","chunk-c6ce956e":"d5eb2f3d","chunk-cdb4a49e":"3ee068a4","chunk-fe005b3c":"a1e716ad","chunk-ff3c3c22":"3d0e2821","chunk-de7dd554":"5d158713","chunk-f8468306":"28b11387","chunk-f899a336":"1ae17526","chunk-9a21ec70":"de9e9420","chunk-2d0e6c67":"09a1a068","chunk-310bc3a1":"1342883e","chunk-43f8ff7c":"ce10c6c7"}[c]+".js"}function f(e){if(u[e])return u[e].exports;var n=u[e]={i:e,l:!1,exports:{}};return c[e].call(n.exports,n,n.exports,f),n.l=!0,n.exports}f.e=function(c){var e=[],n={"chunk-04c96b79":1,"chunk-1789ada2":1,"chunk-18bbd850":1,"chunk-1d23a968":1,"chunk-b87e58ce":1,"chunk-91398bbe":1,"chunk-1628ecf3":1,"chunk-7a0bc8dc":1,"chunk-b8e95a0a":1,"chunk-5da03598":1,"chunk-3582ab29":1,"chunk-3b79c274":1,"chunk-44e2ecd4":1,"chunk-471f39b1":1,"chunk-490ab528":1,"chunk-5588d492":1,"chunk-5b6f2742":1,"chunk-6403ec67":1,"chunk-62f46b39":1,"chunk-78c8a4ac":1,"chunk-70592fa6":1,"chunk-7b9a000c":1,"chunk-90a8aa5a":1,"chunk-976c95e2":1,"chunk-acf52e6e":1,"chunk-ad6614d8":1,"chunk-commons":1,"chunk-38129b08":1,"chunk-20042532":1,"chunk-25c3fb55":1,"chunk-30a8625b":1,"chunk-30d67c0e":1,"chunk-365dc3d2":1,"chunk-39e75cc0":1,"chunk-3f2f1af4":1,"chunk-4c114850":1,"chunk-5b21bed8":1,"chunk-1ca10b40":1,"chunk-332739e1":1,"chunk-370b8b5e":1,"chunk-a090e4f8":1,"chunk-8ede0698":1,"chunk-94e753fe":1,"chunk-ac1361dc":1,"chunk-d3894064":1,"chunk-c6ce956e":1,"chunk-cdb4a49e":1,"chunk-fe005b3c":1,"chunk-ff3c3c22":1,"chunk-de7dd554":1,"chunk-f8468306":1,"chunk-f899a336":1};h[c]?e.push(h[c]):0!==h[c]&&n[c]&&e.push(h[c]=new Promise((function(e,n){for(var u="static/css/"+({"chunk-commons":"chunk-commons"}[c]||c)+"."+{"chunk-04c96b79":"13a7e89e","chunk-1789ada2":"9b8c6c9b","chunk-18bbd850":"b07219de","chunk-1d23a968":"9d8162eb","chunk-b87e58ce":"cb8c5470","chunk-91398bbe":"23888889","chunk-2d0c0353":"31d6cfe0","chunk-2d0c84d3":"31d6cfe0","chunk-1628ecf3":"7d926db9","chunk-2d0ac416":"31d6cfe0","chunk-7a0bc8dc":"7a6c56e1","chunk-b8e95a0a":"17b0eeda","chunk-5da03598":"ed23d07d","chunk-2d0c8bf7":"31d6cfe0","chunk-2d0e4e1f":"31d6cfe0","chunk-2d0e944c":"31d6cfe0","chunk-2d20f537":"31d6cfe0","chunk-2d2104c6":"31d6cfe0","chunk-2d2105d3":"31d6cfe0","chunk-2d210b83":"31d6cfe0","chunk-2d226cab":"31d6cfe0","chunk-2d229205":"31d6cfe0","chunk-2d230fe7":"31d6cfe0","chunk-3582ab29":"a44d9352","chunk-3b79c274":"ca5c23af","chunk-44e2ecd4":"332877e1","chunk-471f39b1":"ccfd5595","chunk-490ab528":"55ec8d04","chunk-4c9ef285":"31d6cfe0","chunk-5588d492":"b1dd7a76","chunk-58ada7f6":"31d6cfe0","chunk-5b6f2742":"c85e8332","chunk-6403ec67":"860218f8","chunk-62f46b39":"fc684471","chunk-6e83591c":"31d6cfe0","chunk-5164a781":"31d6cfe0","chunk-78c8a4ac":"b5c17e32","chunk-70592fa6":"81ed71f2","chunk-71e93d33":"31d6cfe0","chunk-74926326":"31d6cfe0","chunk-75128e5a":"31d6cfe0","chunk-7b9a000c":"d35d2a83","chunk-90a8aa5a":"33cb7757","chunk-976c95e2":"543e5073","chunk-acf52e6e":"c62f5167","chunk-ad6614d8":"1fc537f3","chunk-bacc0f62":"31d6cfe0","chunk-commons":"ea5074b7","chunk-0d1c46e8":"31d6cfe0","chunk-38129b08":"174c6ce6","chunk-20042532":"748cbfb2","chunk-25c3fb55":"35874984","chunk-30a8625b":"2814786a","chunk-30d67c0e":"5b27f791","chunk-365dc3d2":"2832fa09","chunk-39e75cc0":"b7834c17","chunk-3f2f1af4":"35874984","chunk-4c114850":"35874984","chunk-5b21bed8":"d67d25a4","chunk-6c35146c":"31d6cfe0","chunk-1ca10b40":"6243c27e","chunk-332739e1":"95371419","chunk-370b8b5e":"8394d684","chunk-a090e4f8":"90a6ce5e","chunk-8ede0698":"35874984","chunk-94e753fe":"35874984","chunk-9e9c9b90":"31d6cfe0","chunk-ac1361dc":"37fc41f2","chunk-d3894064":"b4c167e9","chunk-2d0a519f":"31d6cfe0","chunk-2d0f0a2e":"31d6cfe0","chunk-c6ce956e":"35874984","chunk-cdb4a49e":"35874984","chunk-fe005b3c":"35874984","chunk-ff3c3c22":"24fc7ea2","chunk-de7dd554":"828f4670","chunk-f8468306":"42e3a951","chunk-f899a336":"55203a7a","chunk-9a21ec70":"31d6cfe0","chunk-2d0e6c67":"31d6cfe0","chunk-310bc3a1":"31d6cfe0","chunk-43f8ff7c":"31d6cfe0"}[c]+".css",d=f.p+u,a=document.getElementsByTagName("link"),k=0;k<a.length;k++){var t=a[k],b=t.getAttribute("data-href")||t.getAttribute("href");if("stylesheet"===t.rel&&(b===u||b===d))return e()}var r=document.getElementsByTagName("style");for(k=0;k<r.length;k++){t=r[k],b=t.getAttribute("data-href");if(b===u||b===d)return e()}var o=document.createElement("link");o.rel="stylesheet",o.type="text/css",o.onload=e,o.onerror=function(e){var u=e&&e.target&&e.target.src||d,a=new Error("Loading CSS chunk "+c+" failed.\n("+u+")");a.code="CSS_CHUNK_LOAD_FAILED",a.request=u,delete h[c],o.parentNode.removeChild(o),n(a)},o.href=d;var i=document.getElementsByTagName("head")[0];i.appendChild(o)})).then((function(){h[c]=0})));var u=d[c];if(0!==u)if(u)e.push(u[2]);else{var a=new Promise((function(e,n){u=d[c]=[e,n]}));e.push(u[2]=a);var t,b=document.createElement("script");b.charset="utf-8",b.timeout=120,f.nc&&b.setAttribute("nonce",f.nc),b.src=k(c);var r=new Error;t=function(e){b.onerror=b.onload=null,clearTimeout(o);var n=d[c];if(0!==n){if(n){var u=e&&("load"===e.type?"missing":e.type),h=e&&e.target&&e.target.src;r.message="Loading chunk "+c+" failed.\n("+u+": "+h+")",r.name="ChunkLoadError",r.type=u,r.request=h,n[1](r)}d[c]=void 0}};var o=setTimeout((function(){t({type:"timeout",target:b})}),12e4);b.onerror=b.onload=t,document.head.appendChild(b)}return Promise.all(e)},f.m=c,f.c=u,f.d=function(c,e,n){f.o(c,e)||Object.defineProperty(c,e,{enumerable:!0,get:n})},f.r=function(c){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},f.t=function(c,e){if(1&e&&(c=f(c)),8&e)return c;if(4&e&&"object"===typeof c&&c&&c.__esModule)return c;var n=Object.create(null);if(f.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:c}),2&e&&"string"!=typeof c)for(var u in c)f.d(n,u,function(e){return c[e]}.bind(null,u));return n},f.n=function(c){var e=c&&c.__esModule?function(){return c["default"]}:function(){return c};return f.d(e,"a",e),e},f.o=function(c,e){return Object.prototype.hasOwnProperty.call(c,e)},f.p="/",f.oe=function(c){throw console.error(c),c};var t=window["webpackJsonp"]=window["webpackJsonp"]||[],b=t.push.bind(t);t.push=e,t=t.slice();for(var r=0;r<t.length;r++)e(t[r]);var o=b;n()})([]);</script><script src=/static/js/chunk-elementUI.6f8fe164.js></script><script src=/static/js/chunk-libs.b360ca84.js></script><script src=/static/js/app.a4d8315d.js></script></body></html>
1 change: 1 addition & 0 deletions dist/static/css/app.52b12afa.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions dist/static/css/chunk-04c96b79.13a7e89e.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions dist/static/css/chunk-1628ecf3.7d926db9.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit aff50c4

Please sign in to comment.