Compare commits
2 Commits
e179b3b995
...
7194eb88fa
| Author | SHA256 | Date | |
|---|---|---|---|
|
7194eb88fa
|
|||
|
c17d498b93
|
@@ -1,12 +1,31 @@
|
||||
FROM rust:1.83 as builder
|
||||
FROM rust:1.83 AS builder
|
||||
LABEL authors="raven"
|
||||
|
||||
WORKDIR /usr/src/proto
|
||||
COPY ./proto .
|
||||
|
||||
WORKDIR /usr/src/utils
|
||||
COPY ./utils .
|
||||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
protobuf-compiler \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /usr/src/api-service
|
||||
COPY . .
|
||||
COPY ./api-service .
|
||||
|
||||
RUN cargo build --release
|
||||
|
||||
FROM debian:bullseye-slim
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
pkg-config \
|
||||
libssl-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=builder /usr/src/api-service/target/release/api-service /usr/local/bin/api-service
|
||||
|
||||
|
||||
@@ -62,8 +62,8 @@ pub async fn serve_rest_api(
|
||||
.with_state(grpc_client)
|
||||
.layer(cors);
|
||||
|
||||
let addr = env::var("LISTEN_ADDR").unwrap_or_else(|_| "127.0.0.1".to_string());
|
||||
let port = env::var("API_SERVICE_PORT").unwrap_or_else(|_| "50050".to_string());
|
||||
let addr = env::var("LISTEN_ADDR").unwrap_or_else(|_| "0.0.0.0".to_string());
|
||||
let port = env::var("API_SERVICE_PORT").unwrap_or_else(|_| "8080".to_string());
|
||||
let listener = tokio::net::TcpListener::bind(format!("{}:{}", addr, port))
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
@@ -1,18 +1,36 @@
|
||||
# Use Rust official image for building the application
|
||||
FROM rust:1.83 as builder
|
||||
FROM rust:1.83 AS builder
|
||||
LABEL authors="raven"
|
||||
|
||||
WORKDIR /usr/src/proto
|
||||
COPY ./proto .
|
||||
|
||||
WORKDIR /usr/src/utils
|
||||
COPY ./utils .
|
||||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
protobuf-compiler
|
||||
|
||||
# Set the working directory
|
||||
WORKDIR /usr/src/auth-service
|
||||
|
||||
# Copy the project files
|
||||
COPY . .
|
||||
COPY ./auth-service .
|
||||
|
||||
# Build the application in release mode
|
||||
RUN cargo build --release
|
||||
|
||||
# Use a minimal base image to run the application
|
||||
FROM debian:bullseye-slim
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
pkg-config \
|
||||
libssl-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy the compiled binary
|
||||
COPY --from=builder /usr/src/auth-service/target/release/auth-service /usr/local/bin/auth-service
|
||||
|
||||
33
character-service/Dockerfile
Normal file
33
character-service/Dockerfile
Normal file
@@ -0,0 +1,33 @@
|
||||
FROM rust:1.83 AS builder
|
||||
LABEL authors="raven"
|
||||
|
||||
WORKDIR /usr/src/proto
|
||||
COPY ./proto .
|
||||
|
||||
WORKDIR /usr/src/utils
|
||||
COPY ./utils .
|
||||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
protobuf-compiler
|
||||
|
||||
WORKDIR /usr/src/character-service
|
||||
COPY ./character-service .
|
||||
|
||||
RUN cargo build --release
|
||||
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
pkg-config \
|
||||
libssl-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=builder /usr/src/character-service/target/release/character-service /usr/local/bin/character-service
|
||||
|
||||
EXPOSE 50054
|
||||
|
||||
CMD ["character-service"]
|
||||
@@ -1,14 +1,32 @@
|
||||
FROM rust:1.83 as builder
|
||||
FROM rust:1.83 AS builder
|
||||
LABEL authors="raven"
|
||||
|
||||
WORKDIR /usr/src/proto
|
||||
COPY ./proto .
|
||||
|
||||
WORKDIR /usr/src/utils
|
||||
COPY ./utils .
|
||||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
protobuf-compiler
|
||||
|
||||
WORKDIR /usr/src/database-service
|
||||
COPY . .
|
||||
COPY ./database-service .
|
||||
|
||||
RUN cargo build --release
|
||||
|
||||
FROM debian:bullseye-slim
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
COPY --from=builder /usr/src/database-service/target/release/api-service /usr/local/bin/database-service
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
pkg-config \
|
||||
libssl-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=builder /usr/src/database-service/target/release/database-service /usr/local/bin/database-service
|
||||
|
||||
EXPOSE 50052
|
||||
|
||||
|
||||
@@ -53,12 +53,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
)
|
||||
.await?;
|
||||
|
||||
// Start health-check endpoint
|
||||
let health_route = warp::path!("health")
|
||||
.map(|| warp::reply::with_status("OK", warp::http::StatusCode::OK));
|
||||
|
||||
|
||||
tokio::spawn(warp::serve(health_route).run(health_check_endpoint_addr.to_socket_addrs()?.next().unwrap()));
|
||||
consul_registration::start_health_check(addr.as_str()).await?;
|
||||
|
||||
let full_addr = format!("{}:{}", &addr, port);
|
||||
let address = full_addr.parse().expect("Invalid address");
|
||||
|
||||
@@ -1,14 +1,32 @@
|
||||
FROM rust:1.83 as builder
|
||||
FROM rust:1.83 AS builder
|
||||
LABEL authors="raven"
|
||||
|
||||
WORKDIR /usr/src/proto
|
||||
COPY ./proto .
|
||||
|
||||
WORKDIR /usr/src/utils
|
||||
COPY ./utils .
|
||||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
protobuf-compiler
|
||||
|
||||
WORKDIR /usr/src/packet-service
|
||||
COPY . .
|
||||
COPY ./packet-service .
|
||||
|
||||
RUN cargo build --release
|
||||
|
||||
FROM debian:bullseye-slim
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
COPY --from=builder /usr/src/packet-service/target/release/api-service /usr/local/bin/packet-service
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
pkg-config \
|
||||
libssl-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=builder /usr/src/packet-service/target/release/packet-service /usr/local/bin/packet-service
|
||||
|
||||
EXPOSE 4000
|
||||
|
||||
|
||||
@@ -1,14 +1,32 @@
|
||||
FROM rust:1.83 as builder
|
||||
FROM rust:1.83 AS builder
|
||||
LABEL authors="raven"
|
||||
|
||||
WORKDIR /usr/src/proto
|
||||
COPY ./proto .
|
||||
|
||||
WORKDIR /usr/src/utils
|
||||
COPY ./utils .
|
||||
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
protobuf-compiler
|
||||
|
||||
WORKDIR /usr/src/world-service
|
||||
COPY . .
|
||||
COPY ./world-service .
|
||||
|
||||
RUN cargo build --release
|
||||
|
||||
FROM debian:bullseye-slim
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
COPY --from=builder /usr/src/database-service/target/release/world-service /usr/local/bin/world-service
|
||||
RUN apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends --assume-yes \
|
||||
pkg-config \
|
||||
libssl-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=builder /usr/src/world-service/target/release/world-service /usr/local/bin/world-service
|
||||
|
||||
EXPOSE 50054
|
||||
|
||||
|
||||
Reference in New Issue
Block a user