aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.dockerignore2
-rw-r--r--Dockerfile10
-rw-r--r--Makefile17
3 files changed, 29 insertions, 0 deletions
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
+