|
|
@@ -27,39 +27,55 @@ someday once i consider em release worthy it will also obviously be able to comp
|
|
|
|
|
|
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)
|
|
|
+## mac + pinguin requirements (more complete)
|
|
|
+
|
|
|
+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
|
|
|
|
|
|
-## how to use
|
|
|
+## how to use (mac + linux)
|
|
|
|
|
|
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
|
|
|
+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
|
|
|
|
|
|
## container stuff
|
|
|
|
|
|
@@ -67,9 +83,3 @@ the script stores config in `.env` file and auto-detects installed tools in comm
|
|
|
- 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)
|