diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 75 |
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) |
