aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: f7e9848c75f748ccbe93fd44bab837f23f25efcb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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:

./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)