Skip to content

Instantly share code, notes, and snippets.

@lucabrunox
Created April 14, 2016 18:49
Show Gist options
  • Save lucabrunox/67b3bf4475737873dc81831347a182d3 to your computer and use it in GitHub Desktop.
Save lucabrunox/67b3bf4475737873dc81831347a182d3 to your computer and use it in GitHub Desktop.
{ pkgs ? import <nixpkgs> {} }:
with pkgs;
let
redis_3_0_7 = pkgs.redis.overrideDerivation (attrs: rec {
version = "3.0.7";
name = "redis-${version}";
src = fetchurl {
url = "http://download.redis.io/releases/${name}.tar.gz";
sha256 = "08vzfdr67gp3lvk770qpax2c5g2sx8hn6p64jn3jddrvxb2939xj";
};
});
redis_2_8_23 = pkgs.redis.overrideDerivation (attrs: rec {
version = "2.8.23";
name = "redis-${version}";
src = fetchurl {
url = "http://download.redis.io/releases/${name}.tar.gz";
sha256 = "1kjsx79jhhssh5k9v17s9mifaclkl6mfsrsv0cvi583qyiw9gizk";
};
});
redisImage = redis: dockerTools.buildImage {
name = "redis";
tag = redis.version;
runAsRoot = ''
#!${stdenv.shell}
${dockerTools.shadowSetup}
groupadd -r redis
useradd -r -g redis -d /data -M redis
mkdir /data
chown redis:redis /data
'';
config = {
Cmd = [ "${goPackages.gosu.bin}/bin/gosu" "redis" "${redis}/bin/redis-server" ];
ExposedPorts = {
"6379/tcp" = {};
};
WorkingDir = "/data";
Volumes = {
"/data" = {};
};
};
};
in {
redisDocker_3_0_7 = redisImage redis_3_0_7;
redisDocker_2_8_23 = redisImage redis_2_8_23;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment