diff --git a/README.md b/README.md new file mode 100644 index 0000000..8eecd1b --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# Piped-Alpine + +- Patches for backend source code to make it work on Alpine +- Simple build script and `start.sh` +- OpenRC configs + +Patches may outdate, so open an issue +if you get an error while script applies them. + +## How to build +1. Install dependencies: `doas apk add git openjdk17 7zip` +2. Install Rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh` +(Note that you don't need doas or sudo here) +3. Enter to RustUp environment: `source ~/.cargo/env` +4. Run the script: `./build.sh` +(`bash build.sh` if you executed previous commands from bash) + +## How to start Piped +1. Edit config.properties +2. Change `/home/piped` in start.sh to directory +where piped JAR and config are located +3. Run the script: `./start.sh` + +## OpenRC +1. Change `/home/piped` in piped.init to directory +where piped JAR and config are located +2. Change `command_user="piped"` in piped.init to the Piped's user name +3. Copy this init script: `doas cp piped.init /etc/init.d/piped` +4. Add it to autostart: `doas rc-update add piped` +5. Start the service: `doas service piped start` + +## I also need to start a proxy, right? +Yes. + +This repo is dedicated only to patches for Piped's backend, +but I've included an OpenRC config for proxy and this small explanation below. + +### Build +Building proxy is quite easy: +```bash +git clone https://github.com/TeamPiped/piped-proxy +cd piped-proxy +cargo build --release +cp target/release/piped-proxy .. +cd .. +``` + +### Start +Command: `UDS=1 ./piped-proxy` + +- With UDS=1, it creates a Unix socket in `./socket/actix.sock` +instead of listening on TCP port. +- Without UDS=1, it listens for HTTP connections on :8080 port. +- If you want to specify other TCP port, +use `BIND=127.0.0.1:8080` variable (replace port and host with your own), +and do not enable UDS. + +Create `socket` directory before the first start if you have enabled UDS. +Also, check if the user from which the proxy is started has write access to the `socket/`. + +### OpenRC +The same as in Piped backend. +Copy `proxy.init` replacing the directory and user, replacing `UDS=1` with `BIND=...` if needed. +I've set `nginx` as user because otherwise my reverse proxy won't have access to the socket file.