install: nix examples (draft)
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…
Reference in New Issue