Package server
This commit is contained in:
parent
eff01cd141
commit
875d011690
10
flake.nix
10
flake.nix
@ -10,13 +10,13 @@
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
server = pkgs.callPackage ./server/server.nix { };
|
||||
smartcrop = pkgs.callPackage ./server/smartcrop.nix { };
|
||||
server = pkgs.callPackage ./server { };
|
||||
in
|
||||
{
|
||||
packages."dynamic-frame-server" = server;
|
||||
packages."dynamic-frame-smartcrop" = smartcrop;
|
||||
packages.default = server;
|
||||
packages = {
|
||||
inherit (server) server smartcrop;
|
||||
};
|
||||
packages.default = server.server;
|
||||
devShell = pkgs.callPackage ./shell.nix { };
|
||||
}
|
||||
);
|
||||
|
@ -2,6 +2,8 @@
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, buildGoModule
|
||||
, stdenv
|
||||
}:
|
||||
|
||||
with python3.pkgs;
|
||||
@ -57,10 +59,35 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
server = buildGoModule rec {
|
||||
pname = "dynamic-frame-server";
|
||||
version = "0.0.1";
|
||||
|
||||
src = ./.;
|
||||
|
||||
vendorSha256 = "qr3hNJxCT8YPQntKCCPNO2yaETswziGXAd4lQELsDGg=";
|
||||
};
|
||||
|
||||
# Wrap server so it has access to smartcrop in its PATH
|
||||
serverWrapped = stdenv.mkDerivation {
|
||||
pname = server.pname;
|
||||
version = server.version;
|
||||
src = server;
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp ${server}/bin/* $out/bin/
|
||||
|
||||
wrapProgram $out/bin/server \
|
||||
--set PATH "${smartcrop-cli}/bin:$PATH"
|
||||
'';
|
||||
|
||||
meta.mainProgram = "server";
|
||||
};
|
||||
in
|
||||
|
||||
# python3.withPackages (ps: with ps; [
|
||||
# smartcrop
|
||||
# ])
|
||||
|
||||
smartcrop-cli
|
||||
{
|
||||
server = serverWrapped;
|
||||
smartcrop = smartcrop-cli;
|
||||
}
|
@ -20,19 +20,7 @@ import (
|
||||
"github.com/go-chi/chi/v5/middleware"
|
||||
)
|
||||
|
||||
// Define a function to handle incoming requests
|
||||
func requestHandler(w http.ResponseWriter, r *http.Request) {
|
||||
// Get the 'name' variable from the request
|
||||
name := chi.URLParam(r, "name")
|
||||
|
||||
// Use a default value if 'name' is not present
|
||||
if name == "" {
|
||||
name = "World"
|
||||
}
|
||||
|
||||
// Respond with a greeting message
|
||||
fmt.Fprintf(w, "Hello, %s!\n", name)
|
||||
}
|
||||
var imageDir = "./img"
|
||||
|
||||
func getRandomFile(dir string) (string, error) {
|
||||
files, err := ioutil.ReadDir(dir)
|
||||
@ -120,9 +108,11 @@ func basicAuth(next http.Handler) http.Handler {
|
||||
}
|
||||
|
||||
func main() {
|
||||
fmt.Println("Starting server")
|
||||
if len(os.Args) > 1 {
|
||||
imageDir = os.Args[1]
|
||||
}
|
||||
fmt.Println("Choosing images from: ", imageDir)
|
||||
|
||||
// Create a new Chi router
|
||||
router := chi.NewRouter()
|
||||
|
||||
router.Use(middleware.RequestID)
|
||||
@ -130,17 +120,14 @@ func main() {
|
||||
router.Use(middleware.Logger)
|
||||
router.Use(middleware.Recoverer)
|
||||
|
||||
// Register the requestHandler function to handle requests at the root path
|
||||
// and a path with the 'name' parameter
|
||||
router.Get("/", requestHandler)
|
||||
router.Get("/{name}", requestHandler)
|
||||
|
||||
router.Group(func(r chi.Router) {
|
||||
// r.Use(basicAuth)
|
||||
r.Post("/fetchImage", fetchImage)
|
||||
r.Post("/calibrationImage", calibrationImage)
|
||||
})
|
||||
|
||||
fmt.Println("Started server")
|
||||
|
||||
// Start the HTTP server on port 8080 and log any errors
|
||||
log.Fatal(http.ListenAndServe("0.0.0.0:8080", router))
|
||||
}
|
||||
|
@ -1,10 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
pkgs.buildGoModule rec {
|
||||
pname = "dynamic-frame-server";
|
||||
version = "0.0.1";
|
||||
|
||||
src = ./.;
|
||||
|
||||
vendorSha256 = "uTqGdqswbnmPsEm5NISD0Nh9ry4GLMAsuVF7+U8BRdA=";
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user