It contains Hydra, PostgreSQL and an frontend proxy. So you can get a running Hydra instance by doing
$ nixos-container create hydra –flake hydra $ nixos-container start hydra
The web interface is available on port 80.
6LB22PZNGFWY7O4LH63RG6YMKMPMRWWT62TNANHWAGD2NO54SFLAC "narHash": "sha256-HGlE2VNbdEjCP76hWAS72kHBlMWhpvqWo58Obg1Vy6s=","originalUri": "nixpkgs","uri": "github:edolstra/nixpkgs/13e1bce51f4aebdf3db58ce8c4a93e904a272bff"
"narHash": "sha256-qWEM8iYRYUdaVCHwTq13w69/11hAFWZplp5mqeU2qBM=","originalUri": "nixpkgs/release-19.09","uri": "github:edolstra/nixpkgs/7d9219a0adea88942b8d609f89cf4a1f86df1a9c"
services.hydra-dev.enable = true;services.hydra-dev.hydraURL = "http://hydra.example.org";services.hydra-dev.notificationSender = "admin@hydra.example.org";systemd.services.hydra-send-stats.enable = false;services.postgresql.enable = true;services.postgresql.package = pkgs.postgresql95;# The following is to work around the following error from hydra-server:# [error] Caught exception in engine "Cannot determine local time zone"time.timeZone = "UTC";};nixosConfigurations.container = nixpkgs.lib.nixosSystem {system = "x86_64-linux";modules =[ { imports = [ self.nixosModules.hydraTest ];system.configurationRevision = self.rev;boot.isContainer = true;networking.useDHCP = false;networking.firewall.allowedTCPPorts = [ 80 ];networking.hostName = "hydra";nix.extraOptions = ''allowed-uris = https://github.com/'';services.hydra-dev.useSubstitutes = true;services.httpd = {enable = true;adminAddr = "hydra-admin@example.org";extraConfig = ''<Proxy *>Order deny,allowAllow from all</Proxy>ProxyRequests OffProxyPreserveHost OnProxyPass /apache-errors !ErrorDocument 503 /apache-errors/503.htmlProxyPass / http://127.0.0.1:3000/ retry=5 disablereuse=onProxyPassReverse / http://127.0.0.1:3000/'';};}];};