+50
-7
@@ -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
|
||||
- .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'
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user