update deplpy docs
build-and-push / build (push) Failing after 34s

This commit is contained in:
2026-08-01 04:40:08 +05:00
parent 251efd4d0c
commit 136bd5a199
2 changed files with 83 additions and 7 deletions
+49 -6
View File
@@ -14,31 +14,64 @@ host.com/api/... -> backend (FastAPI, /api prefix stripped)
### Build
```sh
echo $VITE_API_TARGET=http://192.168.1.21:8000 > .build/prod/.env
echo $VITE_API_TARGET=https://radiusadmin.example.com > .build/prod/.env
docker compose -f .build/prod/compose.yml up -d --build
```
### Running from published images
- compose.yml
```yml
services:
database:
image: mysql
hostname: database
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=yes
- MYSQL_USER=radius
- MYSQL_PASSWORD=radius
- MYSQL_DATABASE=radius
volumes:
- ./mysql:/var/lib/mysql
freeradius:
image: freeradius/freeradius-server
hostname: freeradius
ports:
- 1812:1812/udp
- 1813:1813/udp
# volumes:
# - ./freeradius/sql:/etc/freeradius/mods-enabled/sql
# - /etc/freeradius/3.0/:/etc/freeradius/
depends_on:
- database
adminer:
image: dockette/adminer:mysql
hostname: adminer
ports:
- 8001:80
depends_on:
- database
backend:
hostname: backend
image: git.shihaam.dev/sarlink/radadmin/backend
hostname: backend
env_file:
- .env
depends_on:
- database
frontend:
hostname: frontend
image: git.shihaam.dev/sarlink/radadmin/frontend
hostname: frontend
ports:
- 8000:80
depends_on:
- backend
```
- backend```
- Create `compose.yml` with the above yaml
- Create .env and fill
```
# --- Database (FreeRADIUS) ---
DB_HOST=raddb
DB_HOST=database
DB_PORT=3306
DB_USER=radadmin
DB_PASSWORD=changeme
@@ -47,3 +80,13 @@ DB_NAME=radius
# --- API ---
API_KEY=changeme
```
- Start the services `docker compose up -d` and wait few mins for db to initilize
- copy db schema from freeradius and backend to mysql and import it
```shell
docker compose cp freeradius:/etc/freeradius/mods-config/sql/main/mysql/schema.sql .
docker compose cp schema.sql database:/schema.sql
docker compose exec database sh -c 'mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" "$MYSQL_DATABASE" < /schema.sql'
docker compose cp backend:/app/radadmin_schema.sql .
docker compose cp radadmin_schema.sql database:/radadmin_schema.sql
docker compose exec database sh -c 'mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" "$MYSQL_DATABASE" < /radadmin_schema.sql'
```
+33
View File
@@ -0,0 +1,33 @@
-- Tables required by the radadmin API that are NOT part of the FreeRADIUS
-- schema. FreeRADIUS never reads or writes these; they hold billing status and
-- human-only metadata (name/phone/alias). Import this after the FreeRADIUS
-- schema.sql.
CREATE TABLE IF NOT EXISTS customers (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(64) NOT NULL,
mac_address VARCHAR(17) NOT NULL,
status VARCHAR(10) NOT NULL DEFAULT 'new',
created_at DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS radadmin_clients (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
mac_address VARCHAR(17) NOT NULL,
name VARCHAR(128) NULL,
phone VARCHAR(32) NULL,
alias VARCHAR(64) NULL,
created_at DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uq_radadmin_clients_mac (mac_address)
);
CREATE TABLE IF NOT EXISTS radadmin_devices (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
mac_address VARCHAR(17) NOT NULL,
alias VARCHAR(64) NULL,
created_at DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uq_radadmin_devices_mac (mac_address)
);