2023-04-09 15:44:41 +00:00
|
|
|
## Compiling
|
|
|
|
|
|
|
|
- `mkdir build`
|
|
|
|
- `cd build`
|
|
|
|
- Execute one of the following commands depending on your conditions:
|
|
|
|
- If this is going to be on production (aka is not for debugging),
|
|
|
|
run `cmake -B . .. -DCMAKE_BUILD_TYPE=Release`
|
|
|
|
- If you are debugging Pixwhile, run `cmake -B . .. -DCMAKE_BUILD_TYPE=Debug`
|
|
|
|
- `make -j$(nproc)`
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
Copy `example_config.json` to a file with any name you like
|
|
|
|
(e.g. `config.json`), then open the copied file and edit the parameters to your
|
2023-04-10 14:20:29 +00:00
|
|
|
liking. Here's a list of what they are:
|
|
|
|
- `bind_host` (string): What address to bind to
|
|
|
|
- `bind_port` (zero or positive integer): What port to bind to
|
|
|
|
- `image_proxy_url` (string): URL to proxy images to (see https://pixiv.cat/reverseproxy.html), a trailing slash is not needed
|
2023-06-04 05:08:49 +00:00
|
|
|
- `canonical_origin` (string or null): A fallback canonical origin if set, useful if you're, say, running Pixwhile behind Ngrok
|
2023-06-08 16:02:36 +00:00
|
|
|
- `redis` (object)
|
|
|
|
- `enabled` (boolean)
|
|
|
|
- `connection` (object)
|
|
|
|
- `type` ("ip" or "unix"): Whether to connect to redis via TCP or UNIX domain sockets
|
|
|
|
- `address` (string or null): If `type` is "ip", the address to connect to. Ignored otherwise
|
|
|
|
- `port` (int or null): If `type` is "ip", the port to connect to. Ignored otherwise
|
|
|
|
- `unix` (string or null): If `type` is "unix", the path to redis' socket. Ignored otherwise
|
|
|
|
- `username` (string or null): Optional username for authentication
|
|
|
|
- `password` (string or null): Optional password for authentication
|
2023-04-09 15:44:41 +00:00
|
|
|
|
|
|
|
Pixwhile is intended to be run behind a reverse proxy (e.g. Nginx), so you
|
|
|
|
should set your reverse proxy to proxy requests to
|
|
|
|
`http://localhost:<port in config file>`, and set a `X-Canonical-Origin` header
|
|
|
|
for all requests coming through to the URL for your instance. For example, if
|
|
|
|
your instance is at https://pixwhile.example.com, you should set the header to
|
|
|
|
`https://pixwhile.example.com`.
|
|
|
|
|
|
|
|
## Running
|
|
|
|
|
|
|
|
Run `./path/to/repository/build/pixwhile` with the path to your copied config
|
|
|
|
file as an argument
|