diff --git a/Dockerfile b/Dockerfile index a64b136..01acd65 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM alpine:3.18.2 -#LABEL build_version="" +# Set labels manually, each build service differs in used or predefined labels. LABEL maintainer="OCram85" ARG VERSION LABEL build_version="${VERSION}" @@ -17,8 +17,7 @@ LABEL org.opencontainers.image.url="https://gitea.ocram85.com/OCram85/swarmproxy LABEL org.opencontainers.image.source="https://gitea.ocram85.com/OCram85/swarmproxy.git" LABEL org.opencontainers.image.documentation="https://gitea.ocram85.com/OCram85/swarmproxy" -# Use a custom UID/GID instead of the default system UID which has a greater possibility -# for collisions with the host and other containers. +# Use a individual user and group ip for files and process ENV TINYPROXY_UID 5123 ENV TINYPROXY_GID 5123 @@ -28,24 +27,24 @@ ENV PORT "8888" ENV TIMEOUT "600" ENV LOGLEVEL "Info" ENV MAXCLIENTS "600" -ENV FILTER_FILE "/etc/tinyproxy/filter" +ENV FILTER_FILE "/app/filter" -# Curl is for healthchecks. + +# get existing packages +# curl for healthchecks and debugging RUN apk add --no-cache \ tinyproxy curl -RUN mv /etc/tinyproxy/tinyproxy.conf /etc/tinyproxy/tinyproxy.default.conf && \ - touch /etc/tinyproxy/tinyproxy.conf +COPY entrypoint.sh /app/entrypoint.sh -COPY entrypoint.sh /swarmproxy/entrypoint.sh -WORKDIR /swarmproxy - -RUN chown -R ${TINYPROXY_UID}:${TINYPROXY_GID} /etc/tinyproxy /var/log/tinyproxy /swarmproxy && \ - chmod +x /swarmproxy/entrypoint.sh +RUN touch /app/proxy.conf && \ + chmod +x /app/entrypoint.sh && \ + chown -R ${TINYPROXY_UID}:${TINYPROXY_GID} /app /etc/tinyproxy /var/log/tinyproxy USER ${TINYPROXY_UID}:${TINYPROXY_GID} +WORKDIR /app EXPOSE 8888 -ENTRYPOINT ["/swarmproxy/entrypoint.sh"] -CMD ["-d"] +ENTRYPOINT ["/app/entrypoint.sh"] +CMD ["-c", "/app/proxy.conf", "-d"] diff --git a/README.md b/README.md index c047b20..029bed5 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@
@@ -26,10 +26,9 @@
### 1. ⚡ Get the image 📦
-You can download the image from the gitea embedded container registry: `gitea.ocram85.com/ocram85/swarmproxy` with these tags:
+You can download the image from the Gitea embedded container registry: `gitea.ocram85.com/ocram85/swarmproxy` with these tags:
-- `latest` - Is based on the lasted master branch commit.
-- `next` - Is a test build based on the pull request
+- `latest`, `main` - Is based on the lasted master branch commit.
- `1`, `0.1`, `0.1.0` - tag based version.
> **💡 NOTE: See the [packages page](https://gitea.ocram85.com/OCram85/-/packages/container/swarmproxy/latest) for latest version and all other available tags.**
@@ -39,43 +38,58 @@ You can download the image from the gitea embedded container registry: `gitea.oc
```yaml
version: "3.8"
-secrets:
- upstream-proxy:
- external: true
+networks:
+ egress:
+ attachable: true
+ #external: true
+
+#configs:
+# filter_file:
+# # config can be predefined / external or loaded from file
+# #external: true
+# file: ./filter.txt
+
+#secrets:
+# upstream-proxy:
+# external: true
services:
swarmproxy:
image: gitea.ocram85.com/OCram85/swarmproxy:latest
+ deploy:
+ replicas: 1
+ #secrets:
+ # - upstream-proxy
environment:
- # mandatory environment variables
- - UPSTREAM_PROXY=
+ # Recommended settings
+ # Use an optional upstream proxy
+ #- UPSTREAM_PROXY=
# Set UPSTREAM_PROXY as docker secret if your upstream needs authentication
# Eg.: http://user:password@upstream.intra:3128
#- UPSTREAM_PROXY_FILE=/run/secrets/UPSTREAM_PROXY
- # optional settings
+ # OPTIONAL config keys
#- TINYPROXY_UID=5123
#- TINYPROXY_GID=5123
#- PORT=8888
#- TIMEOUT=600
#- LOGLEVEL=Info
#- MAXCLIENTS=600
- #- FILTER_FILE=/ety/tinyproxy/filter
- deploy:
- replicas: 1
+ #- FILTER_FILE=/app/filter
volumes:
- # mount a single file into the container if you need the modify it afterwards
- # You can reload the file with `kill -s USR1 $(pidof tinyproxy)`
- - ./filter.txt:/etc/tinyproxy/filter:ro
- # Use a docker config or volume in production
- -
+ # You can mount a single filter file into the container.
+ # To reload the file use the docker kill -s USR1