48 lines
1.5 KiB
Nix
48 lines
1.5 KiB
Nix
|
{ config, pkgs, lib, mkDomain, ... }:
|
||
|
{
|
||
|
# Sourcegraph
|
||
|
# Understand, fix, and automate across your codebase with this code intelligence platform
|
||
|
|
||
|
/** /
|
||
|
# First user regitration becomes admin
|
||
|
# data can be destryoed with `nixos-container destroy sourcegraph`
|
||
|
virtualisation.oci-containers.containers."sourcegraph" = {
|
||
|
autoStart = true;
|
||
|
#image = "sourcegraph/server:3.41.0";
|
||
|
#image = "sourcegraph/server:latest";
|
||
|
image = "sourcegraph/server:insiders";
|
||
|
environment = {};
|
||
|
ports = [
|
||
|
"127.0.0.1:7080:7080/tcp" # webui?
|
||
|
"127.0.0.1:3370:3370/tcp" # admin? (graphana and stuff)
|
||
|
];
|
||
|
volumes = [
|
||
|
"/var/lib/sourcegraph/config:/etc/sourcegraph"
|
||
|
"/var/lib/sourcegraph/data:/var/opt/sourcegraph"
|
||
|
];
|
||
|
};
|
||
|
systemd.services."create-sourcegraph-volume-dirs" = {
|
||
|
wantedBy = [ "${config.virtualisation.oci-containers.backend}-sourcegraph.service" ];
|
||
|
serviceConfig.Type = "oneshot";
|
||
|
script = ''
|
||
|
mkdir -p /var/lib/sourcegraph/config
|
||
|
mkdir -p /var/lib/sourcegraph/data
|
||
|
'';
|
||
|
};
|
||
|
services.nginx.virtualHosts.${mkDomain "sourcegraph"}
|
||
|
= lib.mkIf config.virtualisation.oci-containers.containers."sourcegraph".autoStart {
|
||
|
forceSSL = true; # addSSL = true;
|
||
|
enableACME = true; #useACMEHost = acmeDomain;
|
||
|
locations."/" = {
|
||
|
proxyPass = "http://127.0.0.1:7080";
|
||
|
proxyWebsockets = true;
|
||
|
};
|
||
|
#locations."/graphana/" = {
|
||
|
# proxyPass = "http://127.0.0.1:3370";
|
||
|
# proxyWebsockets = true;
|
||
|
#};
|
||
|
};
|
||
|
/**/
|
||
|
|
||
|
}
|