diff --git a/Dockerfile b/Dockerfile index c6e37ab..65972d9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Prepare container -FROM rust:slim-buster +FROM rust:slim-buster as builder RUN USER=root cargo new --bin lonk WORKDIR /lonk @@ -17,10 +17,10 @@ RUN rm src/*.rs COPY ./src ./src RUN rm ./target/${PROFILE:-release}/deps/lonk* RUN cargo build -RUN cp /lonk/target/${PROFILE:-debug}/lonk /bin/lonk # Execution container -FROM rust:latest +FROM rust:slim-buster +WORKDIR / ARG PROFILE -COPY --from=builder /lonk/target/${PROFILE:-release}/lonk . -CMD ["./lonk"] +COPY --from=builder /lonk/target/${PROFILE:-release}/lonk /bin/lonk +CMD ["/bin/lonk"] diff --git a/data/config.json b/data/config.json index 731da7b..4448c16 100644 --- a/data/config.json +++ b/data/config.json @@ -1,6 +1,6 @@ { "db": { - "address": "redis://db:6379", + "address": "redis://redis:6379", "worker_threads": 4 }, "slug_rules": { @@ -12,7 +12,7 @@ "Dir": "/data/served" }, "addr": { - "ip": "127.0.0.1", + "ip": "0.0.0.0", "port": 8080 } } diff --git a/docker-compose.yml b/docker-compose.yml index b4c11b2..b83b659 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,21 +1,25 @@ version: "3.9" services: lonk: + depends_on: + - redis build: context: . args: PROFILE: debug environment: - - LONK_CONFIG="/data/config.json" + - LONK_CONFIG=/data/config.json volumes: - ./data:/data ports: - - 8080:8892 + - 8892:8080 redis: image: 'redis:alpine' - command: redis-server --save 20 1 --loglevel warning + command: redis-server --save 20 1 --loglevel warning --port 6379 volumes: - redis:/data + expose: + - 6379 volumes: redis: driver: local \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 3d7287a..bca6f87 100644 --- a/src/main.rs +++ b/src/main.rs @@ -326,6 +326,10 @@ async fn serve() { let routes = warp::get().and(homepage.or(shorten).or(link)); + println!( + "Now serving lonk at IP {}, port {}!", + config.serve_rules.addr.ip, config.serve_rules.addr.port + ); warp::serve(routes) .run((config.serve_rules.addr.ip, config.serve_rules.addr.port)) .await;