Skip to content

Instantly share code, notes, and snippets.

@jacksoncage
Forked from denibertovic/Makefile
Created November 10, 2013 12:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jacksoncage/7397471 to your computer and use it in GitHub Desktop.
Save jacksoncage/7397471 to your computer and use it in GitHub Desktop.
DOCKER_VERSION=0.6.5
DATA_DIR="__data"
POSTGRES_VERSION=9.3
PORT=5432
.PHONY: docker-check docker-version postgres
docker-check:
@command -v docker >/dev/null 2>&1 || \
{ echo >&2 "Docker needs to be installed and on your PATH. Aborting."; exit 1; }
docker-version: docker-check
@if ! docker version | grep "Server version" | grep $(DOCKER_VERSION) > /dev/null; \
then \
echo "ERROR: Wrong docker version. Recommended version: $(DOCKER_VERSION)"; \
exit 1; \
fi
postgres: docker-version
@if nmap -PS localhost | grep -q $(PORT); then \
echo "ERROR: Port $(PORT) is already in use..."; \
echo "Maybe Postgres is already running?!"; \
exit 1; \
fi
@if [ ! -d $(DATA_DIR)/postgresql ]; then \
echo 'Preparing Postgres persistent data storage...'; \
mkdir -p $(DATA_DIR); \
docker run -v $$PWD/$(DATA_DIR):/tmp/$(DATA_DIR) -i -t \
denibertovic/postgres:$(POSTGRES_VERSION)\
/bin/bash -c "cp -rp var/lib/postgresql /tmp/$(DATA_DIR)"; \
fi
@echo "Persistent data storage found.";
@echo "Starting postgres...";
@docker run -v $$PWD/$(DATA_DIR)/postgresql:/var/lib/postgresql -d -p $(PORT):$(PORT) \
denibertovic/postgres:$(POSTGRES_VERSION) /usr/local/bin/start_postgres.sh;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment