mirror of
https://github.com/perstarkse/minne.git
synced 2026-04-25 02:08:30 +02:00
release: 0.1.0
fix fix musl runner fix too fix: nix flake with deps new targets
This commit is contained in:
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@@ -168,7 +168,7 @@ jobs:
|
|||||||
needs:
|
needs:
|
||||||
- plan
|
- plan
|
||||||
- build-local-artifacts
|
- build-local-artifacts
|
||||||
runs-on: "ubuntu-20.04"
|
runs-on: "ubuntu-22.04"
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
BUILD_MANIFEST_NAME: target/distrib/global-dist-manifest.json
|
BUILD_MANIFEST_NAME: target/distrib/global-dist-manifest.json
|
||||||
@@ -218,7 +218,7 @@ jobs:
|
|||||||
if: ${{ always() && needs.plan.outputs.publishing == 'true' && (needs.build-global-artifacts.result == 'skipped' || needs.build-global-artifacts.result == 'success') && (needs.build-local-artifacts.result == 'skipped' || needs.build-local-artifacts.result == 'success') }}
|
if: ${{ always() && needs.plan.outputs.publishing == 'true' && (needs.build-global-artifacts.result == 'skipped' || needs.build-global-artifacts.result == 'success') && (needs.build-local-artifacts.result == 'skipped' || needs.build-local-artifacts.result == 'success') }}
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
runs-on: "ubuntu-20.04"
|
runs-on: "ubuntu-22.04"
|
||||||
outputs:
|
outputs:
|
||||||
val: ${{ steps.host.outputs.manifest }}
|
val: ${{ steps.host.outputs.manifest }}
|
||||||
steps:
|
steps:
|
||||||
@@ -282,7 +282,7 @@ jobs:
|
|||||||
# still allowing individual publish jobs to skip themselves (for prereleases).
|
# still allowing individual publish jobs to skip themselves (for prereleases).
|
||||||
# "host" however must run to completion, no skipping allowed!
|
# "host" however must run to completion, no skipping allowed!
|
||||||
if: ${{ always() && needs.host.result == 'success' }}
|
if: ${{ always() && needs.host.result == 'success' }}
|
||||||
runs-on: "ubuntu-20.04"
|
runs-on: "ubuntu-22.04"
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -10,5 +10,10 @@ ci = "github"
|
|||||||
# The installers to generate for each app
|
# The installers to generate for each app
|
||||||
installers = []
|
installers = []
|
||||||
# Target platforms to build apps for (Rust target-triple syntax)
|
# Target platforms to build apps for (Rust target-triple syntax)
|
||||||
# targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl", "x86_64-pc-windows-msvc"]
|
targets = ["aarch64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
|
||||||
targets = ["x86_64-unknown-linux-gnu"]
|
# Skip checking whether the specified configuration files are up to date
|
||||||
|
allow-dirty = ["ci"]
|
||||||
|
|
||||||
|
[dist.github-custom-runners]
|
||||||
|
x86_64-unknown-linux-gnu = "ubuntu-22.04"
|
||||||
|
x86_64-unknown-linux-musl = "ubuntu-22.04"
|
||||||
|
|||||||
61
flake.lock
generated
Normal file
61
flake.lock
generated
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1746232882,
|
||||||
|
"narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
68
flake.nix
68
flake.nix
@@ -1,4 +1,3 @@
|
|||||||
# flake.nix
|
|
||||||
{
|
{
|
||||||
description = "Minne application flake";
|
description = "Minne application flake";
|
||||||
|
|
||||||
@@ -32,13 +31,12 @@
|
|||||||
# Assuming you switched to crates.io headless_chrome
|
# Assuming you switched to crates.io headless_chrome
|
||||||
cargoLock = {
|
cargoLock = {
|
||||||
lockFile = ./Cargo.lock;
|
lockFile = ./Cargo.lock;
|
||||||
# outputHashes = { ... }; # Only if other git dependencies still exist
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkgs.pkg-config
|
pkgs.pkg-config
|
||||||
pkgs.rustfmt
|
pkgs.rustfmt
|
||||||
pkgs.makeWrapper # For the postInstall hook
|
# pkgs.makeWrapper # For the postInstall hook
|
||||||
];
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
pkgs.openssl
|
pkgs.openssl
|
||||||
@@ -67,27 +65,38 @@
|
|||||||
|
|
||||||
# --- Docker Image Definition (using dockerTools) ---
|
# --- Docker Image Definition (using dockerTools) ---
|
||||||
minne-docker-image = pkgs.dockerTools.buildImage {
|
minne-docker-image = pkgs.dockerTools.buildImage {
|
||||||
name = "minne"; # Docker image repository name
|
name = "minne";
|
||||||
tag = minne-pkg.version; # Use the package version as the image tag
|
tag = minne-pkg.version;
|
||||||
|
|
||||||
# Include the runtime closure of our minne package in the image layers
|
# Create an environment containing our packages
|
||||||
# Also add bash for easier debugging inside the container
|
# and copy its contents to the image's root filesystem.
|
||||||
contents = [minne-pkg pkgs.bashInteractive];
|
copyToRoot = pkgs.buildEnv {
|
||||||
|
name = "minne-env"; # Name for the build environment derivation
|
||||||
|
paths = [
|
||||||
|
minne-pkg # Include our compiled Rust application
|
||||||
|
pkgs.bashInteractive # Include bash for debugging/interaction
|
||||||
|
pkgs.coreutils # Often useful to have basic utils like ls, cat etc.
|
||||||
|
pkgs.cacert # Include CA certificates for TLS/SSL
|
||||||
|
];
|
||||||
|
# Optional: Add postBuild hook for the buildEnv if needed
|
||||||
|
# postBuild = '' ... '';
|
||||||
|
};
|
||||||
|
|
||||||
# Configure the runtime behavior of the Docker image
|
# Configure the runtime behavior of the Docker image
|
||||||
config = {
|
config = {
|
||||||
# Set the default command to run when the container starts
|
# Cmd can now likely refer to the binary directly in /bin
|
||||||
# Assumes 'main' is your primary entrypoint
|
# (buildEnv symlinks the 'main' binary into the profile's bin)
|
||||||
Cmd = ["${minne-pkg}/bin/main"];
|
Cmd = ["/bin/main"];
|
||||||
|
|
||||||
# Add other Docker config as needed:
|
# ExposedPorts = { "8080/tcp" = {}; };
|
||||||
# ExposedPorts = { "8080/tcp" = {}; }; # Example port exposure
|
WorkingDir = "/data";
|
||||||
WorkingDir = "/data"; # Example working directory
|
# Volumes = { "/data" = {}; };
|
||||||
# Volumes = { "/data" = {}; }; # Example volume mount point
|
|
||||||
|
# PATH might not need explicit setting if things are in /bin,
|
||||||
|
# but setting explicitly can be safer. buildEnv adds its bin path automatically.
|
||||||
Env = [
|
Env = [
|
||||||
# The wrapper should set CHROME_BIN, but you can add other env vars
|
# SSL_CERT_FILE is often essential for HTTPS requests
|
||||||
"PATH=${pkgs.lib.makeBinPath [minne-pkg pkgs.coreutils]}" # Ensure coreutils are in PATH
|
"SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt"
|
||||||
"SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt" # Common requirement
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -112,28 +121,13 @@
|
|||||||
drv = minne-pkg;
|
drv = minne-pkg;
|
||||||
name = "worker";
|
name = "worker";
|
||||||
};
|
};
|
||||||
|
server = flake-utils.lib.mkApp {
|
||||||
|
drv = minne-pkg;
|
||||||
|
name = "server";
|
||||||
|
};
|
||||||
# Default app for 'nix run .'
|
# Default app for 'nix run .'
|
||||||
default = self.apps.${system}.main;
|
default = self.apps.${system}.main;
|
||||||
};
|
};
|
||||||
|
|
||||||
# # Development Shell: Accessible via 'nix develop'
|
|
||||||
# devShells.default = pkgs.mkShell {
|
|
||||||
# # Use inputs from the main package derivation
|
|
||||||
# inputsFrom = [minne-pkg];
|
|
||||||
# # Add development tools
|
|
||||||
# nativeBuildInputs = minne-pkg.nativeBuildInputs;
|
|
||||||
# buildInputs =
|
|
||||||
# minne-pkg.buildInputs
|
|
||||||
# ++ [
|
|
||||||
# pkgs.cargo
|
|
||||||
# pkgs.rustc
|
|
||||||
# pkgs.clippy # Add other dev tools as needed
|
|
||||||
# ];
|
|
||||||
# # Add shell hooks or env vars if needed
|
|
||||||
# # shellHook = ''
|
|
||||||
# # export MY_DEV_VAR="hello"
|
|
||||||
# # '';
|
|
||||||
# };
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
13
todo.md
13
todo.md
@@ -1,22 +1,23 @@
|
|||||||
\[\] change to smoothie dom
|
\[\] allow setting of data storage folder, via envs and config
|
||||||
\[\] store page title
|
\[\] archive ingressed webpage, pdf would be easy
|
||||||
\[\] rename ingestion instructions to context
|
|
||||||
\[\] page screenshot?
|
|
||||||
\[\] full text search
|
\[\] full text search
|
||||||
\[\] archive ingressed webpage
|
\[\] rename ingestion instructions to context
|
||||||
\[\] three js graph explorer
|
\[\] three js graph explorer
|
||||||
\[\] three js vector explorer
|
\[\] three js vector explorer
|
||||||
\[x\] add user_id to ingress objects
|
\[x\] add user_id to ingress objects
|
||||||
\[x\] admin controls re registration
|
\[x\] admin controls re registration
|
||||||
|
\[x\] change to smoothie dom
|
||||||
\[x\] chat functionality
|
\[x\] chat functionality
|
||||||
\[x\] chat history
|
\[x\] chat history
|
||||||
\[x\] chat styling overhaul
|
\[x\] chat styling overhaul
|
||||||
\[x\] configs primarily get envs
|
\[x\] configs primarily get envs
|
||||||
|
\[x\] debug why not automatic retrieval of chrome binary works
|
||||||
\[x\] filtering on categories
|
\[x\] filtering on categories
|
||||||
\[x\] fix patch_text_content
|
\[x\] fix patch_text_content
|
||||||
\[x\] gdpr
|
\[x\] gdpr
|
||||||
\[x\] html ingression
|
\[x\] html ingression
|
||||||
\[x\] hx-redirect
|
\[x\] hx-redirect
|
||||||
|
\[x\] implement migrations
|
||||||
\[x\] integrate assets folder in release build
|
\[x\] integrate assets folder in release build
|
||||||
\[x\] integrate templates in release build
|
\[x\] integrate templates in release build
|
||||||
\[x\] ios shortcut generation
|
\[x\] ios shortcut generation
|
||||||
@@ -28,9 +29,11 @@
|
|||||||
\[x\] on updates of knowledgeentity create new embeddings
|
\[x\] on updates of knowledgeentity create new embeddings
|
||||||
\[x\] openai api key in config
|
\[x\] openai api key in config
|
||||||
\[x\] option to set models, query and processing
|
\[x\] option to set models, query and processing
|
||||||
|
\[x\] page screenshot?
|
||||||
\[x\] redirects
|
\[x\] redirects
|
||||||
\[x\] restrict retrieval to users own objects
|
\[x\] restrict retrieval to users own objects
|
||||||
\[x\] smoothie_dom test
|
\[x\] smoothie_dom test
|
||||||
|
\[x\] store page title
|
||||||
\[x\] template customization?
|
\[x\] template customization?
|
||||||
\[x\] templating
|
\[x\] templating
|
||||||
\[x\] testing core functions
|
\[x\] testing core functions
|
||||||
|
|||||||
Reference in New Issue
Block a user