Skip to content

Commit

Permalink
Add script to run both server and builder.
Browse files Browse the repository at this point in the history
  • Loading branch information
zsol committed Sep 14, 2013
1 parent 0895367 commit c82699f
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 4 deletions.
5 changes: 1 addition & 4 deletions Dockerfile
Expand Up @@ -14,7 +14,4 @@ workdir /home/haskell/hackage-server-master
run cabal install --only-dependencies
run cabal configure && cabal build

run ./dist/build/hackage-server/hackage-server init --static-dir=datafiles/

entrypoint ["./dist/build/hackage-server/hackage-server", "run", "--static-dir=datafiles/"]
expose 8080
cmd echo "Binaries are in ./dist/build/hackage-*"
21 changes: 21 additions & 0 deletions run-docker.sh
@@ -0,0 +1,21 @@
#!/bin/sh

set -e

ADMIN_USER=admin
ADMIN_PASS=admin
BUILD_RUN_TIME=30
BUILD_INTERVAL=5

DOCKER_IMAGE=zsol/hackage-server

server_id=$(sudo docker run -d -p 8080 ${DOCKER_IMAGE} sh -c "./dist/build/hackage-server/hackage-server init --static-dir=datafiles --admin=\"${ADMIN_USER}:${ADMIN_PASS}\" ; ./dist/build/hackage-server/hackage-server run --static-dir=datafiles")

server_ip=$(sudo docker inspect $server_id | grep IPAddress | cut -d'"' -f4)
server_local_port=$(sudo docker port $server_id 8080)

sleep 2 # TODO: poll until web server comes up

sudo docker run -d ${DOCKER_IMAGE} sh -c "echo -e \"${ADMIN_USER}\n${ADMIN_PASS}\" | ./dist/build/hackage-build/hackage-build init http://${server_ip}:8080; ./dist/build/hackage-build/hackage-build build --run-time=${BUILD_RUN_TIME} --interval=${BUILD_INTERVAL} --continuous"

echo "You can access your local hackage at http://localhost:${server_local_port}"

0 comments on commit c82699f

Please sign in to comment.