diff --git a/README.md b/README.md index c76ad31..b3b9599 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,63 @@ # ezshare +## Server + +Running a server using docker: + +```text +# First, build the image +docker build -t ezshare:latest . + +# Then run an interactive container to generate certificates +# This will generate CA, server and client certs in /var/ezshare +docker run --rm -it -v /var/ezshare:/data ezshare:latest sh +# Run this inside the container +ezshare cert gen-all --out-dir /data/certs +exit + +# Then copy ezshare.example.toml to /var/ezshare/ezshare.toml +# Edit the config, making sure to point certificates to /data/server.pem etc + +# Run the server +docker run --rm -d -v /var/ezshare:/data ezshare:latest +``` + +## Client + +Compile the client: +```text +go build -o ezshare cmd/ezshare.go +``` + +Copy the resulting binary somewhere into `$PATH`. Then generate an empty client config using `ezshare client init-config`. +Copy certificates from server (`srv.pem`, `client.pem`, `client.key`) to the same dir as the generated config. +Edit the config-file, and update the `Client` section with correct default-server and path to certificates. + +Client should then be ready for use. + +```text +NAME: + ezshare client - Client commands + +USAGE: + ezshare client command [command options] [arguments...] + +COMMANDS: + get Get file with id + upload Upload file(s) + delete Delete file with id + list List files + config-init Initialize default config + help, h Shows a list of commands or help for one command + +OPTIONS: + --addr value Address of server. + --help, -h show help (default: false) +``` + + +## Development + ### Recompile proto-files -`protoc --go_out=. --go-grpc_out=. --go_opt=module=gitea.benny.dog/torjus/ezshare --go-grpc_opt=module=gitea.benny.dog/torjus/ezshare protos/ezshare.proto` \ No newline at end of file +`protoc --go_out=. --go-grpc_out=. --go_opt=module=gitea.benny.dog/torjus/ezshare --go-grpc_opt=module=gitea.benny.dog/torjus/ezshare protos/ezshare.proto`