/frps-docker

Primary LanguageShell

frps-docker

How to use it:

  1. Edit or copy the env_file_example
  2. docker run -it -d --env-file=env_file_example -p 0.0.0.0:7000:7000 --restart=always --name=frps whojk/frps-multiuser

Environment Variables

  1. FRP_UPDATE : 0/1, update frp at startup FRP_UPDATE_INTERVAL
  2. FRPS : 0/1, run frps
    1. FRPS_PORT
    2. FRPS_KCP_PORT
    3. FRPS_MULTIUSER_SERVICE_PORT
    4. FRP_USER_*
  3. FRPC : 0/1, run frpc
    1. FRPC_CONN
    2. FRPC_CONN_PORT
    3. FRPC_USER
    4. FRPC_TOKEN
    5. FRPC_PROTO
    6. FRPC_PROXY_TYPE
    7. FRPC_LOCAL_PORT
    8. FRPC_REMOTE_PORT

You can checkout this example environment variables file: env_file_example

How to build it

Prepare build kit

# make your computer able to rum arm64 binary
docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3
# enable expremental feature
export DOCKER_CLI_EXPERIMENTAL=enabled
export DOCKER_BUILDKIT=1
docker buildx create --name mybuilder_f --driver docker-container
docker buildx use mybuilder_f

Build

docker buildx build  --platform linux/amd64 -t whojk/frps-multiuser . --output="type=docker"
docker push whojk/frps-multiuser

#Test in localhost
docker run -it --rm --env-file=env_file_example --name=frps whojk/frps-multiuser

Build and push to dockerhub

docker buildx build --platform linux/arm64,linux/amd64 -t whojk/frps-multiuser . --push