chore: deps, update readme
This commit is contained in:
parent
ac8ba2f293
commit
8c77cb465b
6 changed files with 35 additions and 23 deletions
19
README.md
19
README.md
|
|
@ -238,20 +238,7 @@ Since it is currently a work-in-progress project, we are frequently adding new o
|
||||||
|
|
||||||
## Using Docker Image
|
## Using Docker Image
|
||||||
|
|
||||||
You can also use `docker` image hosted on [Docker Hub](https://hub.docker.com/r/jqtype/rpxy) and [GitHub Container Registry](https://github.com/junkurihara/rust-rpxy/pkgs/container/rust-rpxy) instead of directly executing the binary. See [`./docker/README.md`](./docker/README.md) for the differences on image tags.
|
You can also use `docker` image hosted on [Docker Hub](https://hub.docker.com/r/jqtype/rpxy) and [GitHub Container Registry](https://github.com/junkurihara/rust-rpxy/pkgs/container/rust-rpxy) instead of directly executing the binary. See [`./docker`](./docker/README.md) directory for more details.
|
||||||
|
|
||||||
There are only several docker-specific environment variables.
|
|
||||||
|
|
||||||
- `HOST_USER` (default: `user`): User name executing `rpxy` inside the container.
|
|
||||||
- `HOST_UID` (default: `900`): `UID` of `HOST_USER`.
|
|
||||||
- `HOST_GID` (default: `900`): `GID` of `HOST_USER`
|
|
||||||
- `LOG_LEVEL=debug|info|warn|error`: Log level
|
|
||||||
- `LOG_TO_FILE=true|false`: Enable logging to the log file `/rpxy/log/rpxy.log` using `logrotate`. You should mount `/rpxy/log` via docker volume option if enabled. The log dir and file will be owned by the `HOST_USER` with `HOST_UID:HOST_GID` on the host machine. Hence, `HOST_USER`, `HOST_UID` and `HOST_GID` should be the same as ones of the user who executes the `rpxy` docker container on the host.
|
|
||||||
- `WATCH=true|false` (default: `false`): Activate continuous watching of the config file if true.
|
|
||||||
|
|
||||||
Then, all you need is to mount your `config.toml` as `/etc/rpxy.toml` and certificates/private keys as you like through the docker volume option. **If `WATCH=true`, You need to mount a directory, e.g., `./rpxy-config/`, including `rpxy.toml` on `/rpxy/config` instead of a file to correctly track file changes**. This is a docker limitation. Even if `WATCH=false`, you can mount the dir onto `/rpxy/config` rather than `/etc/rpxy.toml`. A file mounted on `/etc/rpxy` is prioritized over a dir mounted on `/rpxy/config`.
|
|
||||||
|
|
||||||
See [`docker/docker-compose.yml`](./docker/docker-compose.yml) for the detailed configuration. Note that the file path of keys and certificates must be ones in your docker container.
|
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
|
|
@ -407,6 +394,10 @@ However, we found that if you want to use the brand-new UDP-based protocol, HTTP
|
||||||
|
|
||||||
Your docker container can receive only TCP-based connection, i.e., HTTP/2 or before, unless you manually manage the port. We see that this is weird and expect that it is a kind of bug (of docker? ubuntu? or something else?). But at least for Ubuntu 22.04LTS, you need to handle it as above.
|
Your docker container can receive only TCP-based connection, i.e., HTTP/2 or before, unless you manually manage the port. We see that this is weird and expect that it is a kind of bug (of docker? ubuntu? or something else?). But at least for Ubuntu 22.04LTS, you need to handle it as above.
|
||||||
|
|
||||||
|
### Managing `rpxy` via web interface
|
||||||
|
|
||||||
|
Check a third party project [`Gamerboy59/rpxy-webui`](https://github.com/Gamerboy59/rpxy-webui) to manage `rpxy` via web interface.
|
||||||
|
|
||||||
### Other TIPS
|
### Other TIPS
|
||||||
|
|
||||||
todo!
|
todo!
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,33 @@
|
||||||
# Docker Images of `rpxy`
|
# Docker Images of `rpxy`
|
||||||
|
|
||||||
The `rpxy` docker images are hosted both on [Docker Hub](https://hub.docker.com/r/jqtype/rpxy) and [GitHub Container Registry](https://github.com/junkurihara/rust-rpxy/pkgs/container/rust-rpxy). Differences among tags are summarized as follows.
|
The `rpxy` docker images are hosted both on [Docker Hub](https://hub.docker.com/r/jqtype/rpxy) and [GitHub Container Registry](https://github.com/junkurihara/rust-rpxy/pkgs/container/rust-rpxy).
|
||||||
|
|
||||||
## Latest Builds
|
## Usage
|
||||||
|
|
||||||
|
There are several docker-specific environment variables.
|
||||||
|
|
||||||
|
- `HOST_USER` (default: `user`): User name executing `rpxy` inside the container.
|
||||||
|
- `HOST_UID` (default: `900`): `UID` of `HOST_USER`.
|
||||||
|
- `HOST_GID` (default: `900`): `GID` of `HOST_USER`
|
||||||
|
- `LOG_LEVEL=debug|info|warn|error`: Log level
|
||||||
|
- `LOG_TO_FILE=true|false`: Enable logging to the log file `/rpxy/log/rpxy.log` using `logrotate`. You should mount `/rpxy/log` via docker volume option if enabled. The log dir and file will be owned by the `HOST_USER` with `HOST_UID:HOST_GID` on the host machine. Hence, `HOST_USER`, `HOST_UID` and `HOST_GID` should be the same as ones of the user who executes the `rpxy` docker container on the host.
|
||||||
|
- `WATCH=true|false` (default: `false`): Activate continuous watching of the config file if true.
|
||||||
|
|
||||||
|
Then, all you need is to mount your `config.toml` as `/etc/rpxy.toml` and certificates/private keys as you like through the docker volume option. **If `WATCH=true`, You need to mount a directory, e.g., `./rpxy-config/`, including `rpxy.toml` on `/rpxy/config` instead of a file to correctly track file changes**. This is a docker limitation. Even if `WATCH=false`, you can mount the dir onto `/rpxy/config` rather than `/etc/rpxy.toml`. A file mounted on `/etc/rpxy` is prioritized over a dir mounted on `/rpxy/config`.
|
||||||
|
|
||||||
|
See [`docker-compose.yml`](./docker-compose.yml) for the detailed configuration. Note that the file path of keys and certificates must be ones in your docker container.
|
||||||
|
|
||||||
|
## Differences among image tags of Docker Hub and GitHub Container Registry
|
||||||
|
|
||||||
|
Differences among tags are summarized as follows.
|
||||||
|
|
||||||
|
### Latest Builds
|
||||||
|
|
||||||
- `latest`: Built from the `main` branch with default features, running on Ubuntu.
|
- `latest`: Built from the `main` branch with default features, running on Ubuntu.
|
||||||
- `latest-slim`, `slim`: Built by `musl` from the `main` branch with default features, running on Alpine.
|
- `latest-slim`, `slim`: Built by `musl` from the `main` branch with default features, running on Alpine.
|
||||||
- `latest-s2n`, `s2n`: Built from the `main` branch with the `http3-s2n` feature, running on Ubuntu.
|
- `latest-s2n`, `s2n`: Built from the `main` branch with the `http3-s2n` feature, running on Ubuntu.
|
||||||
|
|
||||||
## Nightly Builds
|
### Nightly Builds
|
||||||
|
|
||||||
- `nightly`: Built from the `develop` branch with default features, running on Ubuntu.
|
- `nightly`: Built from the `develop` branch with default features, running on Ubuntu.
|
||||||
- `nightly-slim`: Built by `musl` from the `develop` branch with default features, running on Alpine.
|
- `nightly-slim`: Built by `musl` from the `develop` branch with default features, running on Alpine.
|
||||||
|
|
@ -17,3 +36,5 @@ The `rpxy` docker images are hosted both on [Docker Hub](https://hub.docker.com/
|
||||||
## Caveats
|
## Caveats
|
||||||
|
|
||||||
Due to some compile errors of `s2n-quic` subpackages with `musl`, `nightly-s2n-slim` or `latest-s2n-slim` are not yet provided.
|
Due to some compile errors of `s2n-quic` subpackages with `musl`, `nightly-s2n-slim` or `latest-s2n-slim` are not yet provided.
|
||||||
|
|
||||||
|
See [`./docker/README.md`](./docker/README.md) for the differences on image tags.
|
||||||
|
|
|
||||||
|
|
@ -29,5 +29,5 @@ rustls-platform-verifier = { version = "0.3.2" }
|
||||||
rustls-acme = { path = "../submodules/rustls-acme/", default-features = false, features = [
|
rustls-acme = { path = "../submodules/rustls-acme/", default-features = false, features = [
|
||||||
"aws-lc-rs",
|
"aws-lc-rs",
|
||||||
] }
|
] }
|
||||||
tokio = { version = "1.38.1", default-features = false }
|
tokio = { version = "1.39.1", default-features = false }
|
||||||
tokio-stream = { version = "0.1.15", default-features = false }
|
tokio-stream = { version = "0.1.15", default-features = false }
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ mimalloc = { version = "*", default-features = false }
|
||||||
anyhow = "1.0.86"
|
anyhow = "1.0.86"
|
||||||
rustc-hash = "2.0.0"
|
rustc-hash = "2.0.0"
|
||||||
serde = { version = "1.0.204", default-features = false, features = ["derive"] }
|
serde = { version = "1.0.204", default-features = false, features = ["derive"] }
|
||||||
tokio = { version = "1.38.1", default-features = false, features = [
|
tokio = { version = "1.39.1", default-features = false, features = [
|
||||||
"net",
|
"net",
|
||||||
"rt-multi-thread",
|
"rt-multi-thread",
|
||||||
"time",
|
"time",
|
||||||
|
|
@ -43,8 +43,8 @@ async-trait = "0.1.81"
|
||||||
futures-util = { version = "0.3.30", default-features = false }
|
futures-util = { version = "0.3.30", default-features = false }
|
||||||
|
|
||||||
# config
|
# config
|
||||||
clap = { version = "4.5.10", features = ["std", "cargo", "wrap_help"] }
|
clap = { version = "4.5.11", features = ["std", "cargo", "wrap_help"] }
|
||||||
toml = { version = "0.8.15", default-features = false, features = ["parse"] }
|
toml = { version = "0.8.16", default-features = false, features = ["parse"] }
|
||||||
hot_reload = "0.1.6"
|
hot_reload = "0.1.6"
|
||||||
|
|
||||||
# logging
|
# logging
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ rustls-webpki = { version = "0.102.6", default-features = false, features = [
|
||||||
x509-parser = { version = "0.16.0" }
|
x509-parser = { version = "0.16.0" }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
tokio = { version = "1.38.1", default-features = false, features = [
|
tokio = { version = "1.39.1", default-features = false, features = [
|
||||||
"rt-multi-thread",
|
"rt-multi-thread",
|
||||||
"macros",
|
"macros",
|
||||||
] }
|
] }
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ rustc-hash = "2.0.0"
|
||||||
bytes = "1.6.1"
|
bytes = "1.6.1"
|
||||||
derive_builder = "0.20.0"
|
derive_builder = "0.20.0"
|
||||||
futures = { version = "0.3.30", features = ["alloc", "async-await"] }
|
futures = { version = "0.3.30", features = ["alloc", "async-await"] }
|
||||||
tokio = { version = "1.38.1", default-features = false, features = [
|
tokio = { version = "1.39.1", default-features = false, features = [
|
||||||
"net",
|
"net",
|
||||||
"rt-multi-thread",
|
"rt-multi-thread",
|
||||||
"time",
|
"time",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue