deployment instructions
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
This commit is contained in:
parent
ecc17a714f
commit
7d8b859a3a
2 changed files with 51 additions and 1 deletions
31
README.md
31
README.md
|
@ -15,6 +15,7 @@ Work in progress! Currently to do:
|
|||
- [X] Cache-Control header
|
||||
- [X] Rate-limiting on local deployment (untested)
|
||||
- [X] Read config from Cloudflare
|
||||
- [X] Timing and Rate-limiting headers (some not available on Cloudflare Workers)
|
||||
- [ ] Handle all possible panics reported by Clippy
|
||||
- [ ] Sandboxing the image rendering
|
||||
|
||||
|
@ -38,3 +39,33 @@ Image:
|
|||
[https://yumechi-no-kuni-proxy-worker.eternal-flame-ad.workers.dev/proxy/static.webp?url=https://upload.wikimedia.org/wikipedia/commons/a/ad/AES-AddRoundKey.svg](https://yumechi-no-kuni-proxy-worker.eternal-flame-ad.workers.dev/proxy/static.webp?url=https://upload.wikimedia.org/wikipedia/commons/a/ad/AES-AddRoundKey.svg)
|
||||
|
||||
![AES-AddRoundKey.svg](https://yumechi-no-kuni-proxy-worker.eternal-flame-ad.workers.dev/proxy/static.webp?url=https://upload.wikimedia.org/wikipedia/commons/a/ad/AES-AddRoundKey.svg)
|
||||
|
||||
## Setup and Deployment
|
||||
|
||||
1. Clone this repository. Load the submodules with `git submodule update --init`.
|
||||
2. Install Rust and Cargo, using [rustup](https://rustup.rs/) is recommended.
|
||||
If you do not plan on deploying to Cloudflare Workers, you can remove the `rust-toolchain` file intended to get around [cloudflare/worker-rs#668](https://github.com/cloudflare/workers-rs/issues/668). Otherwise you may need to install that specific version of Rust by `rustup install install $(cat rust-toolchain)`.
|
||||
3. IF deploying locally:
|
||||
|
||||
1. Edit `local.toml` to your liking. The documentations can be opened with `cargo doc --open`.
|
||||
|
||||
1. Test run with `cargo run --features env-local -- -c local.toml`.
|
||||
|
||||
1. Build with `cargo build --features env-local --profile release-local`. The built binary will be in `target/release/yumechi-no-kuni-proxy-worker`.
|
||||
|
||||
1. The only flag understood is `-c` for the configuration file. The configuration file is in TOML format. However, the `RUST_LOG` environment variable will change the log level. The log level is `info` by default if the environment variable is not set.
|
||||
|
||||
IF deploying to Cloudflare Workers:
|
||||
|
||||
1. Add the wasm target with `rustup +$(cat rust-toolchain) target add wasm32-unknown-unknown`.
|
||||
|
||||
1. Have a working JS environment.
|
||||
|
||||
1. Install `wrangler` with you JS package manager of choice. See https://developers.cloudflare.com/workers/wrangler/install-and-update/. `npx` also works.
|
||||
|
||||
1. Edit `wrangler.toml` to your liking. Everything in the `[vars]` section maps directly into the `config` section of the TOML configuration file.
|
||||
|
||||
1. Test locally with `wrangler dev`.
|
||||
|
||||
1. Deploy with `wrangler deploy --outdir bundled/`.
|
||||
|
||||
|
|
19
local.toml
Normal file
19
local.toml
Normal file
|
@ -0,0 +1,19 @@
|
|||
listen = "127.0.0.1:3000"
|
||||
enable_cache = false
|
||||
index_redirect = { permanent = false, url = "https://mi.yumechi.jp/" }
|
||||
allow_unknown = false
|
||||
|
||||
[fetch]
|
||||
addr_family = "both"
|
||||
allow_http = false
|
||||
via = "yumechi-no-kuni-proxy-worker"
|
||||
user_agent = "Yumechi-no-Kuni-Proxy-Worker"
|
||||
|
||||
[post_process]
|
||||
enable_redirects = false
|
||||
normalization = "lazy"
|
||||
allow_svg_passthrough = true
|
||||
|
||||
[rate_limit]
|
||||
replenish_every = 2000
|
||||
burst = 32
|
Loading…
Reference in a new issue