aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 26405643131d436890bd3894dd6e85c148f887fd (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
76
77
78
79
80
81
82
83
84
85

   

BeepZone Inverory System

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.

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

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 (mac + linux)

just run the helper script:

./beepzone-helper.sh

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

  • 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