Skip to content

Commit

Permalink
feat(): init mediator integration environment setup
Browse files Browse the repository at this point in the history
  • Loading branch information
Christiantyemele committed Nov 18, 2024
1 parent c7d7ea9 commit 2b0ad66
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 1 deletion.
24 changes: 24 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
FROM rust:latest as builder

WORKDIR /app

COPY . .

# Build the server
RUN cargo build --release

# Use a minimal image for running the server
FROM ubuntu

RUN apt update && apt install -y libpq5
WORKDIR /app


# Copy the built binary
COPY --from=builder /app/target/release/didcomm-mediator /usr/local/bin/didcomm-mediator

# Expose the necessary port
EXPOSE 8080

# Run the server
CMD ["didcomm-mediator"]
25 changes: 25 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
version: '3.8'
services:
mediator:
build:
context: .
container_name: didcomm-mediator
ports:
- "8080:3000"
env_file:
- .env
depends_on:
- mongodb

mongodb:
image: mongo:latest
container_name: mongodb
ports:
- "27017:27017"
env_file:
- .env
volumes:
- mongo-data:/data/db

volumes:
mongo-data:
38 changes: 38 additions & 0 deletions docs/environment-setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# DIDComm Mediator Integration Environment Setup

This guide provides step-by-step instructions to set up the integration environment for deploying, testing, and interacting with the Rust-based DIDComm mediator server.

## Prerequisites
Before you begin, ensure the following are installed on your system:
- Docker: version 20+([install docker](https://docs.docker.com/engine/install/debian/))
- Rust: latest stable version ([install rust](https://www.rust-lang.org/tools/install))
- MongoDB: latest stable version ([install mongodb](https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/))

This documentation assumes you have clone the [mediator](https://github.com/adorsys/didcomm-mediator-rs) and are in the root of the project

## step 1: Setup the environment variables
Modify the ```.env``` file with the right values for the variables

## Step 2: Start The Environment

```sh
docker-compose up -d
```
## Step 3: Test Connectivity
Use a tool like Postman or curl to verify that the server is running and responding.
```sh
curl -X GET http://0.0.0.0:8080/ \
-H "Content-Type: application/json" \
```

## Step 4: Logging And Monitoring
to monitor the logs run the command
```sh
docker logs -f didcomm-mediator
```

## Step 5: Cleanup
To Stop and remove the environment
```sh
docker-compose down
```
2 changes: 1 addition & 1 deletion src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ async fn main() {

// Start server
let port = std::env::var("SERVER_LOCAL_PORT").unwrap_or("3000".to_owned());
let addr: SocketAddr = format!("127.0.0.1:{port}").parse().unwrap();
let addr: SocketAddr = format!("0.0.0.0:{port}").parse().unwrap();

tracing::info!("listening on {addr}");
generic_server_with_graceful_shutdown(addr).await;
Expand Down

0 comments on commit 2b0ad66

Please sign in to comment.