forked from 3proxy/3proxy
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.minimal
More file actions
38 lines (36 loc) · 1.07 KB
/
Dockerfile.minimal
File metadata and controls
38 lines (36 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# dockerfile for "interactive" minimal 3proxy execution, no configuration mounting is required, configuration
# is accepted from stdin. Use "end" command to indicate the end of configuration. Use "log" for stdout logging.
#
# Examples are for podman. For docker change 'podman' to 'docker'.
#
# This is busybox based docker with only 3proxy static executable.
#
# Limitations for minimal version:
# no support for plugins, IPv6, RADIUS, system resolver.
# 'nserver' or 'fakeresolve' are mandatory in configuration.
#
# Build:
#
# podman build -f Dockerfile.minimal -t 3proxy.minimal .
#
# Run example:
#
# podman run --read-only -i -p 3129:3129 --name 3proxy 3proxy.minimal
#or
# podman start -ai 3proxy
#<nserver 8.8.8.8
#<nscache 65535
#<log
#<proxy -p3129
#<end
#
FROM docker.io/gcc AS buildenv
COPY . 3proxy
RUN cd 3proxy &&\
export "LDFLAGS=-static" &&\
export "CFLAGS=-DNOPLUGINS -DNORADIUS -DNOIPV6 -DNOODBC -DNOCRYPT -DNOSTDRESOLVE" &&\
make -f Makefile.Linux PLUGINS= LIBS= &&\
strip bin/3proxy
FROM scratch
COPY --from=buildenv 3proxy/bin/3proxy /bin/3proxy
CMD ["/bin/3proxy"]