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 WINDOWS.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
macdonalds operating system:
- podman installed and configured (podman-desktop recommended for dev work)
- homebrew installed
- mysql-client installed (brew install mysql-client -> script auto detects /opt/homebrew/opt/mysql-client/bin/)
- rust + tools via rustup (https://rustup.rs/)
- dialog for TUI (brew install dialog)
das linux pinguin:
- debian/trixie tested
- mariadb-client installed (sudo apt install mariadb-client)
- rust + tools via rustup (https://rustup.rs/)
- podman installed and configured (podman-desktop optional but recommend for dev work yk)
- dialog for TUI (sudo apt install dialog)
optional but nice:
- htpasswd (apache2-utils) for bcrypt hashing on linux: sudo apt install apache2-utils
- python3 + pip install bcrypt as fallback
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 the needed steps kinda:
1. configure and run mariadb (podman)
- set db creds
- start mariadb:12 premio server
- logs go to /tmp/beepzone-helper.log if the helper script acts goofy
2. import database schema
- choose full dev dump (with sample data, login admin:admin123) or clean schema
3. add admin user and role (if clean schema)
- create admin role (power 100)
- create admin user
4. setup seckelapi (container recommended)
- port mapping 5777:5777, DB via host.containers.internal
- auto-updates sources/config/basics.toml [database] section
5. build desktop client
- cargo build with live output
- run via ./run-client.sh because we’re both lazy
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