install: nix examples (draft)

pull/319/head
undefined 3 years ago
parent c2d5696919
commit 91a7ebb23d

@ -1,29 +0,0 @@
{ pkgs ? import <nixpkgs> { system = "x86_64-linux"; } }:
pkgs.dockerTools.buildImage {
name = "hydrooj/web";
tag = "latest";
contents = [
pkgs.mongodb-4_2
pkgs.minio
pkgs.nodejs
pkgs.yarn
];
runAsRoot = ''
#!${pkgs.runtimeShell}
mkdir -p /data/db
yarn global add pm2 hydrooj @hydrooj/ui-default @hydrooj/hydrojudge
hydrooj addon add @hydrooj/hydrojudge
hydrooj addon add @hydrooj/ui-default
'';
config = {
WorkingDir = "/data";
Volumes = { "/data" = { }; };
ExposedPorts = {
"8888" = { };
};
Entrypoint = [ "/entrypoint.sh" ];
};
}

@ -0,0 +1,24 @@
{ pkgs ? import <nixpkgs> { system = "x86_64-linux"; } }:
let
mongo = pkgs.callPackage ./mongo.nix {};
in pkgs.dockerTools.buildImage {
name = "hydrooj/web-base";
tag = "latest";
contents = [
mongo
pkgs.minio
pkgs.nodejs
pkgs.yarn
];
config = {
WorkingDir = "/data";
Volumes = { "/data" = { }; };
ExposedPorts = {
"8888" = { };
};
Cmd = [ "hydrooj" ];
};
}

@ -0,0 +1,16 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.stdenv.mkDerivation {
name = "hydro-0.0.0";
system = "x86_64-linux";
#TODO install from cache
src = ../../.yarn/cache;
unpackPhase = "ls $src";
meta = {
description = "Hydro";
homepage = https://hydro.js.org/;
maintainers = [ "undefined <i@undefined.moe>" ];
platforms = [ "x86_64-linux" ];
};
}

@ -0,0 +1,35 @@
{ stdenv, fetchurl, dpkg, glibc, xz, curl, openssl, gcc-unwrapped, autoPatchelfHook }:
let in stdenv.mkDerivation {
name = "mongodb-5.0.6";
system = "x86_64-linux";
src = fetchurl {
url = "https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/5.0/multiverse/binary-amd64/mongodb-org-server_5.0.6_amd64.deb";
hash = "sha256-Rk43PNQN8p2/3XDDjWOzJmzBjs39CR06kLrTtr+5ngo=";
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
];
buildInputs = [
glibc
openssl # libcrypto.so.1.1 libssl.so.1.1
xz # liblzma.so.5
curl # libcurl.so.4
gcc-unwrapped
];
unpackPhase = "true";
installPhase = ''
mkdir -p $out
dpkg -x $src $out
mkdir $out/bin
mv $out/usr/bin/mongod $out/bin/mongod
'';
meta = {
description = "MongoDB";
homepage = https://www.mongodb.com/;
maintainers = [ "undefined <i@undefined.moe>" ];
platforms = [ "x86_64-linux" ];
};
}
Loading…
Cancel
Save