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.
Windows Users: See README-WIN.md for Windows specific setup instructions using PowerShell.
- 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
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
just run the helper script:
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
- 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
- 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)