aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md75
1 files changed, 75 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f7e9848
--- /dev/null
+++ b/README.md
@@ -0,0 +1,75 @@
+# BeepZone Inverory Setup Helper Scripts and Database Files
+Huh so you want to actually try beepzone? (Oh god)
+
+Well then since I have no setup guides tbh I'll provide a bash script here to build and get you started, do not use this in Prod like at all I dont recommend my own software for such things in general tbh.
+
+## Whats in this repository?
+- Database Schema and Dumps from Dev Environement
+- Helper Script to get you started and do some basic user management as no client can do so yet lol
+
+what does the script do ?
+
+helps you get started by priividing an assistive TUI for :
+- running a podman container with mariadb and
+ - letting you configure access details
+ - importing the schema
+ - managing users and roles in the db (create/delete both with bcrypt password hashing)
+ - optionally import some seeding data
+- compiling and setting up SeckelAPI to be able to talk with mariadb
+ - either as a podman container (recommended, uses proper port mapping 5777:5777 and host gateway for db access)
+ - or natively on the system (for dev work)
+ - auto-configures database connection settings
+- compiling the desktop client so you can start beepin
+
+someday once i consider em release worthy it will also obviously be able to compile the terminal/kiosk/embedded client aswell as the mobile app
+
+a real installer that is not just a setup bash script is planned but thats far into the future idk when
+
+Setup Scripts currently do not support windows
+
+requirements for script:
+- mac
+ - podman installed and configured (podman-desktop recommended for dev work)
+ - brew installed
+ - mysql-client installed (brew install mysql-client -> script auto detects /opt/homebrew/opt/mysql-client/bin/)
+ - rust and tools installed via rustup
+ - dialog for TUI (brew install dialog)
+- linux
+ - any debian based distro (if not, install dependencies yourself)
+ - mariadb-client installed (apt-get install mariadb-client)
+ - rust and tools installed via rustup
+ - podman installed and configured (podman-desktop recommended for dev work)
+ - dialog for TUI (apt-get install dialog)
+
+internet access too obviously to pull em sources :
+https://git.teleco.ch/crt/beepzone-client-egui-emo.git
+https://git.teleco.ch/crt/seckelapi.git
+
+## how to use
+
+just run the helper script:
+```bash
+./beepzone-helper.sh
+```
+
+it will guide you through:
+1. configuring and running mariadb in podman
+2. importing the database schema (dumped version with all updates)
+3. very basics of managing users and roles (create/delete users/roles with power level 1-100)
+4. setting up SeckelAPI (container deployment recommended)
+5. building the desktop client
+
+the script stores config in `.env` file and auto-detects installed tools in common locations
+
+## container stuff
+
+- mariadb container: exposes port 3306, persists data
+- seckelapi container: uses rust 1.92 + debian trixie, port 5777:5777, connects to mariadb via host.containers.internal
+- both use latest stable base images
+
+## notes
+
+- passwords are hashed with bcrypt cost 12 using htpasswd or python bcrypt fallback
+- database config auto-updates when building containers (uses host.containers.internal for db host)
+- native builds use localhost for db access
+- run scripts provided: ./run-seckelapi.sh and ./run-client.sh (execute from sources/ dir)