removed cfgs from repo
This commit is contained in:
13
cfg/.gitignore
vendored
Normal file
13
cfg/.gitignore
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
# Environment files with credentials (use .env.example as template)
|
||||
**/.env
|
||||
|
||||
# Database dumps (sensitive data)
|
||||
*/dumps/*.sql
|
||||
|
||||
# Python
|
||||
__pycache__/
|
||||
*.pyc
|
||||
*.pyo
|
||||
|
||||
# Standalone is kept in main soleprint repo as sample
|
||||
standalone/
|
||||
125
cfg/README.md
Normal file
125
cfg/README.md
Normal file
@@ -0,0 +1,125 @@
|
||||
# Soleprint Room Configurations
|
||||
|
||||
Private repository containing room-specific configurations for Soleprint instances.
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
cfg/
|
||||
├── amar/ # Amar managed room
|
||||
│ ├── config.json
|
||||
│ ├── data/
|
||||
│ ├── soleprint/ # Soleprint customizations
|
||||
│ ├── link/ # Bridge to managed app
|
||||
│ └── ctrl/ # Build/run scripts
|
||||
├── dlt/ # DLT placeholder room
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## Setup
|
||||
|
||||
This repo lives inside the main soleprint repo at `cfg/`. The `standalone/` folder is tracked in the main soleprint repo as a sample.
|
||||
|
||||
### Fresh clone (new machine)
|
||||
|
||||
```bash
|
||||
# Clone main soleprint repo
|
||||
git clone <soleprint-repo-url> spr
|
||||
cd spr
|
||||
|
||||
# Clone this cfg repo into cfg/ (standalone/ already exists from main repo)
|
||||
git clone <this-cfg-repo-url> cfg-private
|
||||
mv cfg-private/.git cfg/
|
||||
mv cfg-private/* cfg/ 2>/dev/null
|
||||
rm -rf cfg-private
|
||||
|
||||
# Now cfg/ has both:
|
||||
# - standalone/ (from main soleprint repo)
|
||||
# - amar/, dlt/ (from this cfg repo)
|
||||
```
|
||||
|
||||
### Alternative: Separate directories
|
||||
|
||||
```bash
|
||||
# Keep repos separate, use --cfg-path
|
||||
git clone <soleprint-repo-url> spr
|
||||
git clone <this-cfg-repo-url> spr-cfg
|
||||
|
||||
# Build with external cfg path
|
||||
cd spr
|
||||
python build.py --cfg amar --cfg-path ../spr-cfg
|
||||
```
|
||||
|
||||
## Building
|
||||
|
||||
From the main soleprint repo:
|
||||
|
||||
```bash
|
||||
python build.py # Build standalone (sample)
|
||||
python build.py --cfg amar # Build amar room
|
||||
python build.py --cfg dlt # Build dlt room
|
||||
```
|
||||
|
||||
## Deploy/Sync Workflow
|
||||
|
||||
### Local Development
|
||||
|
||||
```bash
|
||||
# 1. Build the room
|
||||
python build.py --cfg amar
|
||||
|
||||
# 2. Start with Docker
|
||||
cd gen/amar/soleprint && docker compose up -d
|
||||
|
||||
# 3. For managed rooms, also start the app
|
||||
cd gen/amar/amar && docker compose up -d
|
||||
```
|
||||
|
||||
### Production Deploy
|
||||
|
||||
```bash
|
||||
# On deploy server:
|
||||
|
||||
# 1. Pull both repos
|
||||
cd /opt/spr && git pull
|
||||
cd /opt/spr/cfg && git pull
|
||||
|
||||
# 2. Rebuild
|
||||
python build.py --cfg amar
|
||||
|
||||
# 3. Restart services
|
||||
cd gen/amar/soleprint && docker compose up -d --build
|
||||
```
|
||||
|
||||
### CI/CD Pipeline (example)
|
||||
|
||||
```yaml
|
||||
# Deploy soleprint changes
|
||||
deploy-soleprint:
|
||||
script:
|
||||
- ssh deploy@server "cd /opt/spr && git pull && python build.py --cfg amar"
|
||||
- ssh deploy@server "cd /opt/spr/gen/amar/soleprint && docker compose up -d --build"
|
||||
|
||||
# Deploy cfg changes (private repo)
|
||||
deploy-cfg:
|
||||
script:
|
||||
- ssh deploy@server "cd /opt/spr/cfg && git pull && python ../build.py --cfg amar"
|
||||
- ssh deploy@server "cd /opt/spr/gen/amar/soleprint && docker compose up -d --build"
|
||||
```
|
||||
|
||||
## Credentials
|
||||
|
||||
- `.env` files are gitignored - copy from `.env.example`
|
||||
- Never commit actual credentials
|
||||
- Database dumps in `*/dumps/` are also gitignored
|
||||
|
||||
## Adding a New Room
|
||||
|
||||
```bash
|
||||
# From cfg/ directory
|
||||
mkdir -p newroom/data newroom/soleprint
|
||||
cp ../cfg/standalone/config.json newroom/ # Use standalone as template
|
||||
# Edit config.json for your room
|
||||
# Add room-specific customizations in newroom/soleprint/
|
||||
git add newroom && git commit -m "Add newroom configuration"
|
||||
```
|
||||
Reference in New Issue
Block a user