### Rust: Project Build and Setup Source: https://github.com/deadlock-api/deadlock-api-rust/blob/master/CONTRIBUTING.md Commands for setting up and building a Rust project. This involves cloning the repository, configuring environment variables, and compiling the project using Cargo. ```bash cargo build ``` -------------------------------- ### Run Deadlock API with Docker Compose Source: https://github.com/deadlock-api/deadlock-api-rust/blob/master/README.md Commands to build and start the Deadlock API container using Docker Compose. ```Bash # Build and start the container docker-compose up -d ``` -------------------------------- ### Install Protocol Buffers Compiler Source: https://github.com/deadlock-api/deadlock-api-rust/blob/master/README.md Commands to install the Protocol Buffers compiler on Ubuntu/Debian and macOS systems. ```Bash # Ubuntu/Debian sudo apt-get install -y protobuf-compiler libprotobuf-dev # macOS brew install protobuf ``` -------------------------------- ### Deadlock API Configuration Environment Variables Source: https://github.com/deadlock-api/deadlock-api-rust/blob/master/README.md Example environment variables for configuring the Deadlock API, covering general settings, Redis, S3 storage, S3 cache, ClickHouse, and PostgreSQL. ```Env # General Settings EMERGENCY_MODE=false STEAM_API_KEY=your_steam_api_key INTERNAL_API_KEY=your_internal_api_key STEAM_PROXY_URL=your_steam_proxy_url STEAM_PROXY_API_KEY=your_steam_proxy_api_key # Redis REDIS_URL=redis://localhost:6379 # S3 Storage S3_REGION=your_region S3_BUCKET=your_bucket S3_ACCESS_KEY_ID=your_access_key S3_SECRET_ACCESS_KEY=your_secret_key S3_ENDPOINT=your_endpoint # S3 Cache S3_CACHE_REGION=your_region S3_CACHE_BUCKET=your_bucket S3_CACHE_ACCESS_KEY_ID=your_access_key S3_CACHE_SECRET_ACCESS_KEY=your_secret_key S3_CACHE_ENDPOINT=your_endpoint # ClickHouse CLICKHOUSE_HOST=localhost CLICKHOUSE_HTTP_PORT=8123 CLICKHOUSE_NATIVE_PORT=9000 CLICKHOUSE_USERNAME=default CLICKHOUSE_PASSWORD=your_password CLICKHOUSE_DBNAME=default # PostgreSQL POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_USERNAME=postgres POSTGRES_PASSWORD=your_password POSTGRES_DBNAME=postgres POSTGRES_POOL_SIZE=10 ``` -------------------------------- ### Clone Deadlock API Repository Source: https://github.com/deadlock-api/deadlock-api-rust/blob/master/README.md Instructions to clone the Deadlock API Rust project repository using Git and navigate into the project directory. ```Bash git clone https://github.com/deadlock-api/deadlock-api-rust.git cd deadlock-api-rust ``` -------------------------------- ### Build Deadlock API Project Source: https://github.com/deadlock-api/deadlock-api-rust/blob/master/README.md Command to build the Deadlock API Rust project using Cargo. ```Bash cargo build ``` -------------------------------- ### Run Deadlock API Tests Source: https://github.com/deadlock-api/deadlock-api-rust/blob/master/README.md Command to execute the test suite for the Deadlock API project using Cargo. ```Bash cargo test ``` -------------------------------- ### Run Deadlock API Locally Source: https://github.com/deadlock-api/deadlock-api-rust/blob/master/README.md Command to run the Deadlock API in development mode using Cargo. ```Bash cargo run ``` -------------------------------- ### Rust: Testing and Linting Source: https://github.com/deadlock-api/deadlock-api-rust/blob/master/CONTRIBUTING.md Commands to run tests and perform linting checks on a Rust project using Cargo. Ensures code quality and correctness before submission. ```bash cargo test cargo fmt cargo clippy ``` -------------------------------- ### Rust: Git Workflow for Contributions Source: https://github.com/deadlock-api/deadlock-api-rust/blob/master/CONTRIBUTING.md A standard Git workflow for contributing to a Rust project. This includes forking, branching, making changes, testing, formatting, linting, committing, and pushing for a pull request. ```bash git checkout -b feature/my-feature git commit -am "Add my feature" git push origin feature/my-feature ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.