diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..5d03bcb1 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +target/* +!target/release/garage.stripped diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..d1ece082 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM archlinux:latest + +RUN mkdir -p /garage/meta +RUN mkdir -p /garage/data +ENV RUST_BACKTRACE=1 +ENV RUST_LOG=garage=debug + +COPY target/release/garage.stripped /garage/garage + +CMD /garage/garage server -c /garage/config.toml diff --git a/Makefile b/Makefile index 0b5682f7..58529634 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,20 @@ +BIN=target/release/garage +DOCKER=lxpz/garage_amd64 + all: #cargo fmt || true RUSTFLAGS="-C link-arg=-fuse-ld=lld" cargo build + +$(BIN): + RUSTFLAGS="-C link-arg=-fuse-ld=lld" cargo build --release + +$(BIN).stripped: $(BIN) + cp $^ $@ + strip $@ + +docker: $(BIN).stripped + docker build -t $(DOCKER):$(TAG) . + docker push $(DOCKER):$(TAG) + docker tag $(DOCKER):$(TAG) $(DOCKER):latest + docker push $(DOCKER):latest +