From 4b30c13b849ef72c8d31dfa6e42fce6fcd7eac52 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Thu, 30 Jan 2020 13:02:45 +0100 Subject: Add docker setup --- .gitignore | 1 + docker/Dockerfile | 11 +++++++++++ docker/docker-compose.yml | 36 ++++++++++++++++++++++++++++++++++++ docker/noria/Dockerfile | 14 ++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 docker/Dockerfile create mode 100644 docker/docker-compose.yml create mode 100644 docker/noria/Dockerfile diff --git a/.gitignore b/.gitignore index 37c8717..bf03dee 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /target **/*.rs.bk .env +.spotify_token_cache.json diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..e8916e6 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,11 @@ +# composer install +FROM liuchong/rustup:nightly as build +COPY ./ /app/ +RUN cargo build cargo r --release + + +FROM alpine as spotify_intersect +WORKDIR /srv/spotify_intersect +COPY --from=build /app/target/release/spotify_intersect /srv/spotify_intersect +COPY .env /srv/spotify_intersect/.env +CMD ./spotify_intersect diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..cefa228 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,36 @@ +version: "3.6" +services: + spotify_intersect: + image: spotify_intersect + container_name: spotify_intersect + build: + context: .. + dockerfile: docker/Dockerfile + #environment: + networks: + - database + - hostnet + depends_on: + - track_db + track_db: + image: noria + build: + context: .. + dockerfile: docker/noria/Dockerfile + #volumes: + #- db:/srv/noria + networks: + - database + #volumes: + #db: {} + zookeeper: + image: 'bitnami/zookeeper:latest' + networks: + - database + +networks: + database: + driver: bridge + hostnet: + external: true + name: frontend diff --git a/docker/noria/Dockerfile b/docker/noria/Dockerfile new file mode 100644 index 0000000..67a8c8b --- /dev/null +++ b/docker/noria/Dockerfile @@ -0,0 +1,14 @@ +# composer install +FROM liuchong/rustup:nightly as build +WORKDIR /app +RUN apt-get update +RUN apt-get -y install git +RUN git clone https://github.com/mit-pdos/noria /app +RUN cargo build --release --bin noria-server + + +FROM alpine as spotify_intersect +WORKDIR /srv/noria +COPY --from=build /app/target/release/noria /srv/noria +COPY .env /srv/spotify_intersect/.env +CMD ./noria --deployment track_db --no-reuse -- cgit v1.2.3-54-g00ecf