working backend on docker (#226)

* working backend on docker

refactor of the dockerfiles to be more readable and independent.
full build of the backend (release only) within docker

* read `PORT` to u16

* Only need one `PORT` in the new backend

Co-authored-by: Maciej Hirsz <1096222+maciejhirsz@users.noreply.github.com>
This commit is contained in:
Daniel Maricic
2020-02-07 18:27:25 +01:00
committed by GitHub
parent 0a6cd08747
commit b665555de6
4 changed files with 20 additions and 16 deletions
+11
View File
@@ -0,0 +1,11 @@
FROM rust
WORKDIR /app
COPY ./backend .
RUN cargo build --release
EXPOSE 8000
ENTRYPOINT [ "./target/release/telemetry" ]
+4 -2
View File
@@ -86,7 +86,9 @@ fn main() -> std::io::Result<()> {
let aggregator = Aggregator::new().start();
let factory = LocatorFactory::new();
let locator = SyncArbiter::start(4, move || factory.create());
let port = std::env::var("PORT").ok().and_then(|v| v.parse().ok()).unwrap_or(8000u16);
HttpServer::new(move || {
App::new()
.data(aggregator.clone())
@@ -98,7 +100,7 @@ fn main() -> std::io::Result<()> {
.service(resource("/network_state/{chain}/{nid}").route(get().to_async(state_route)))
.service(resource("/network_state/{chain}/{nid}/").route(get().to_async(state_route)))
})
.bind("0.0.0.0:8000")?
.bind(format!("0.0.0.0:{}", port))?
.start();
sys.run()
+5 -8
View File
@@ -3,9 +3,9 @@ version: "3"
services:
telemetry-frontend:
build:
dockerfile: Dockerfile
dockerfile: frontend.Dockerfile
context: ./
# Copy in changes to the ui, so no need to rebulld the images.
# Copy in changes to the ui, so no need to rebuild the images.
volumes:
- /app/node_modules
- ./packages:/app/packages
@@ -14,12 +14,9 @@ services:
- 3000:3000
telemetry-backend:
build:
dockerfile: Dockerfile
dockerfile: backend.Dockerfile
context: ./
command: yarn start:backend
environment:
- TELEMETRY_SERVER=1024
- FEED_SERVER=8080
- PORT=8000
ports:
- 8080:8080
- 1024:1024
- 8000:8000
-6
View File
@@ -5,13 +5,7 @@ WORKDIR /app
RUN apk add --no-cache python make g++
COPY ./scripts ./scripts
COPY ./backend ./backend
COPY ./packages ./packages
COPY ./package.json ./yarn.lock ./tsconfig.json ./
RUN yarn
# Frontend is exposing 3000
# Backend is exposing 8080
# No need for expose, if using docker-compose & docker run -p 3000:3000