Closed paolomainardi closed 2 years ago
Right now dinghy-http-proxy rely on this: https://github.com/nginx-proxy/nginx-proxy
Which is not currently ARM compatible: https://github.com/nginx-proxy/nginx-proxy/issues/1370
We cannot even try to run it under qemu (the default emulation running on docker for mac):
Running the proxy on Apple Slicon:
❯ docker logs -f 1de9a304477b WARNING: /etc/nginx/dhparam/dhparam.pem was not found. A pre-generated dhparam.pem will be used for now while a new one is being generated in the background. Once the new dhparam.pem is in place, nginx will be reloaded. Generating DH parameters, 2048 bit long safe prime, generator 2 runtime: failed to create new OS thread (have 2 already; errno=22) fatal error: newosproc runtime stack: runtime.throw(0x884500, 0x9) /usr/local/go1.6/src/runtime/panic.go:530 +0x90 runtime.newosproc(0xc820026000, 0xc820035fc0) /usr/local/go1.6/src/runtime/os1_linux.go:149 +0x18c runtime.newm(0x932358, 0x0) /usr/local/go1.6/src/runtime/proc.go:1513 +0x135 runtime.main.func1() /usr/local/go1.6/src/runtime/proc.go:125 +0x2c runtime.systemstack(0xa8e800) /usr/local/go1.6/src/runtime/asm_amd64.s:291 +0x79 runtime.mstart() /usr/local/go1.6/src/runtime/proc.go:1048 goroutine 1 [running]: runtime.systemstack_switch() /usr/local/go1.6/src/runtime/asm_amd64.s:245 fp=0xc820020770 sp=0xc820020768 runtime.main() /usr/local/go1.6/src/runtime/proc.go:126 +0x62 fp=0xc8200207c0 sp=0xc820020770 runtime.goexit() /usr/local/go1.6/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8200207c8 sp=0xc8200207c0 runtime: failed to create new OS thread (have 2 already; errno=22) fatal error: newosproc runtime stack: runtime.throw(0x884500, 0x9) /usr/local/go1.6/src/runtime/panic.go:530 +0x90 runtime.newosproc(0xc820026000, 0xc820035fc0) /usr/local/go1.6/src/runtime/os1_linux.go:149 +0x18c runtime.newm(0x932358, 0x0) /usr/local/go1.6/src/runtime/proc.go:1513 +0x135 runtime.main.func1() /usr/local/go1.6/src/runtime/proc.go:125 +0x2c runtime.systemstack(0xa8e800) /usr/local/go1.6/src/runtime/asm_amd64.s:291 +0x79 runtime.mstart() /usr/local/go1.6/src/runtime/proc.go:1048 goroutine 1 [running]: runtime.systemstack_switch() /usr/local/go1.6/src/runtime/asm_amd64.s:245 fp=0xc820020770 sp=0xc820020768 runtime.main() /usr/local/go1.6/src/runtime/proc.go:126 +0x62 fp=0xc8200207c0 sp=0xc820020770 runtime.goexit() /usr/local/go1.6/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8200207c8 sp=0xc8200207c0 runtime: failed to create new OS thread (have 2 already; errno=22) fatal error: newosproc runtime stack: runtime.throw(0x884500, 0x9) /usr/local/go1.6/src/runtime/panic.go:530 +0x90 runtime.newosproc(0xc820026000, 0xc820035fc0) /usr/local/go1.6/src/runtime/os1_linux.go:149 +0x18c runtime.newm(0x932358, 0x0) /usr/local/go1.6/src/runtime/proc.go:1513 +0x135 runtime.main.func1() /usr/local/go1.6/src/runtime/proc.go:125 +0x2c runtime.systemstack(0xa8e800) /usr/local/go1.6/src/runtime/asm_amd64.s:291 +0x79 runtime.mstart() /usr/local/go1.6/src/runtime/proc.go:1048 goroutine 1 [running]: runtime.systemstack_switch() /usr/local/go1.6/src/runtime/asm_amd64.s:245 fp=0xc820020770 sp=0xc820020768 runtime.main() /usr/local/go1.6/src/runtime/proc.go:126 +0x62 fp=0xc8200207c0 sp=0xc820020770 runtime.goexit() /usr/local/go1.6/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8200207c8 sp=0xc8200207c0 runtime: failed to create new OS thread (have 2 already; errno=22) fatal error: newosproc runtime stack: runtime.throw(0x884500, 0x9) /usr/local/go1.6/src/runtime/panic.go:530 +0x90 runtime.newosproc(0xc820026000, 0xc820035fc0) /usr/local/go1.6/src/runtime/os1_linux.go:149 +0x18c runtime.newm(0x932358, 0x0) /usr/local/go1.6/src/runtime/proc.go:1513 +0x135 runtime.main.func1() /usr/local/go1.6/src/runtime/proc.go:125 +0x2c runtime.systemstack(0xa8e800) /usr/local/go1.6/src/runtime/asm_amd64.s:291 +0x79 runtime.mstart() /usr/local/go1.6/src/runtime/proc.go:1048 goroutine 1 [running]: runtime.systemstack_switch() /usr/local/go1.6/src/runtime/asm_amd64.s:245 fp=0xc820020770 sp=0xc820020768 runtime.main() /usr/local/go1.6/src/runtime/proc.go:126 +0x62 fp=0xc8200207c0 sp=0xc820020770 runtime.goexit() /usr/local/go1.6/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8200207c8 sp=0xc8200207c0 runtime: failed to create new OS thread (have 2 already; errno=22) fatal error: newosproc runtime stack: runtime.throw(0x884500, 0x9) /usr/local/go1.6/src/runtime/panic.go:530 +0x90 runtime.newosproc(0xc820026000, 0xc820035fc0) /usr/local/go1.6/src/runtime/os1_linux.go:149 +0x18c runtime.newm(0x932358, 0x0) /usr/local/go1.6/src/runtime/proc.go:1513 +0x135 runtime.main.func1() /usr/local/go1.6/src/runtime/proc.go:125 +0x2c runtime.systemstack(0xa8e800) /usr/local/go1.6/src/runtime/asm_amd64.s:291 +0x79 runtime.mstart() /usr/local/go1.6/src/runtime/proc.go:1048 goroutine 1 [running]: runtime.systemstack_switch() /usr/local/go1.6/src/runtime/asm_amd64.s:245 fp=0xc820020770 sp=0xc820020768 runtime.main() /usr/local/go1.6/src/runtime/proc.go:126 +0x62 fp=0xc8200207c0 sp=0xc820020770 runtime.goexit() /usr/local/go1.6/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8200207c8 sp=0xc8200207c0 runtime: failed to create new OS thread (have 2 already; errno=22) fatal error: newosproc runtime stack: runtime.throw(0x884500, 0x9) /usr/local/go1.6/src/runtime/panic.go:530 +0x90 runtime.newosproc(0xc820026000, 0xc820035fc0) /usr/local/go1.6/src/runtime/os1_linux.go:149 +0x18c runtime.newm(0x932358, 0x0) /usr/local/go1.6/src/runtime/proc.go:1513 +0x135 runtime.main.func1() /usr/local/go1.6/src/runtime/proc.go:125 +0x2c runtime.systemstack(0xa8e800) /usr/local/go1.6/src/runtime/asm_amd64.s:291 +0x79 runtime.mstart() /usr/local/go1.6/src/runtime/proc.go:1048 goroutine 1 [running]: runtime.systemstack_switch() /usr/local/go1.6/src/runtime/asm_amd64.s:245 fp=0xc820020770 sp=0xc820020768 runtime.main() /usr/local/go1.6/src/runtime/proc.go:126 +0x62 fp=0xc8200207c0 sp=0xc820020770 runtime.goexit() /usr/local/go1.6/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8200207c8 sp=0xc8200207c0 runtime: failed to create new OS thread (have 2 already; errno=22) fatal error: newosproc runtime stack: runtime.throw(0x884500, 0x9) /usr/local/go1.6/src/runtime/panic.go:530 +0x90 runtime.newosproc(0xc820026000, 0xc820035fc0) /usr/local/go1.6/src/runtime/os1_linux.go:149 +0x18c runtime.newm(0x932358, 0x0) /usr/local/go1.6/src/runtime/proc.go:1513 +0x135 runtime.main.func1() /usr/local/go1.6/src/runtime/proc.go:125 +0x2c runtime.systemstack(0xa8e800) /usr/local/go1.6/src/runtime/asm_amd64.s:291 +0x79 runtime.mstart() /usr/local/go1.6/src/runtime/proc.go:1048 goroutine 1 [running]: runtime.systemstack_switch() /usr/local/go1.6/src/runtime/asm_amd64.s:245 fp=0xc820020770 sp=0xc820020768 runtime.main() /usr/local/go1.6/src/runtime/proc.go:126 +0x62 fp=0xc8200207c0 sp=0xc820020770 runtime.goexit() /usr/local/go1.6/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8200207c8 sp=0xc8200207c0 runtime: failed to create new OS thread (have 2 already; errno=22) fatal error: newosproc runtime stack: runtime.throw(0x884500, 0x9) /usr/local/go1.6/src/runtime/panic.go:530 +0x90 runtime.newosproc(0xc820026000, 0xc820035fc0) /usr/local/go1.6/src/runtime/os1_linux.go:149 +0x18c runtime.newm(0x932358, 0x0) /usr/local/go1.6/src/runtime/proc.go:1513 +0x135 runtime.main.func1() /usr/local/go1.6/src/runtime/proc.go:125 +0x2c runtime.systemstack(0xa8e800) /usr/local/go1.6/src/runtime/asm_amd64.s:291 +0x79 runtime.mstart() /usr/local/go1.6/src/runtime/proc.go:1048 goroutine 1 [running]: runtime.systemstack_switch() /usr/local/go1.6/src/runtime/asm_amd64.s:245 fp=0xc820020770 sp=0xc820020768 runtime.main() /usr/local/go1.6/src/runtime/proc.go:126 +0x62 fp=0xc8200207c0 sp=0xc820020770 runtime.goexit() /usr/local/go1.6/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8200207c8 sp=0xc8200207c0 runtime: failed to create new OS thread (have 2 already; errno=22) fatal error: newosproc runtime stack: runtime.throw(0x884500, 0x9) /usr/local/go1.6/src/runtime/panic.go:530 +0x90 runtime.newosproc(0xc820026000, 0xc820035fc0) /usr/local/go1.6/src/runtime/os1_linux.go:149 +0x18c runtime.newm(0x932358, 0x0) /usr/local/go1.6/src/runtime/proc.go:1513 +0x135 runtime.main.func1() /usr/local/go1.6/src/runtime/proc.go:125 +0x2c runtime.systemstack(0xa8e800) /usr/local/go1.6/src/runtime/asm_amd64.s:291 +0x79 runtime.mstart() /usr/local/go1.6/src/runtime/proc.go:1048 goroutine 1 [running]: runtime.systemstack_switch() /usr/local/go1.6/src/runtime/asm_amd64.s:245 fp=0xc820020770 sp=0xc820020768 runtime.main() /usr/local/go1.6/src/runtime/proc.go:126 +0x62 fp=0xc8200207c0 sp=0xc820020770 runtime.goexit() /usr/local/go1.6/src/runtime/asm_amd64.s:1998 +0x1
Done: https://github.com/sparkfabrik/dinghy-http-proxy
Right now dinghy-http-proxy rely on this: https://github.com/nginx-proxy/nginx-proxy
Which is not currently ARM compatible: https://github.com/nginx-proxy/nginx-proxy/issues/1370
We cannot even try to run it under qemu (the default emulation running on docker for mac):
Running the proxy on Apple Slicon: