igate prime and cellcom prime communicator
1.8K
this app communicates and collaborates with my other app kusha, to talk to a igate prime door controller. this is how it communicates with the kusha app:
(Note: currently the kusha app was specifically made for a Hp laptop that had a modem by fibocom using a intel chip i believe. the fibocom allowed communication via AT commands which is why i used it. i do not endorse using this app on a public ip, its too risky for somebody to get ahold of your door number and sneak in by self adding themselves to the door. Plus, i do not trust the security i added, its all vibecoded so it has huge issues which i dont have the time to fix.)
(this is for sending sms) POST /sms/messages Headers: Content-Type: application/json, X-API-Key (optional) Body: { "number": "+countrycode12345678", "text": "Your message" } Response: { "status": "sent" }
(this is for receiving messages) Get Inbox (new messages) GET /sms/inbox Headers: X-API-Key (optional) Response: { "messages": [ { "id": "...", "sender": "+countrycode...", "text": "...", "timestamp": "..." } ] }
(this fetches all messages if they weren't deleted) Get All Messages GET /sms/messages Headers: X-API-Key (optional) Response: { "messages": [ ... ] }
(this clears the storage for sim card sake) Clear Modem SIM Storage (v6.1.3+) DELETE /sms/modem Headers: X-API-Key (optional) Response: { "success": true }
so what does this app have? well it allows:
the docker compose for lava is as follows:
services:
lava:
build: .
image: lava:7.0.0
container_name: lava
restart: unless-stopped
ports:
- "3000:3000"
volumes:
# Persistent data storage
- lava-data:/app/data
environment:
- NODE_ENV=production
- PORT=3000
# Optional: Require HTTPS for session cookies (default: false for LAN/internal use)
# - REQUIRE_HTTPS=true
# Optional: Set a specific session secret (otherwise auto-generated)
# - SESSION_SECRET=your-secure-secret-here
# Optional: Set encryption key (otherwise auto-generated and stored in data volume)
# - ENCRYPTION_KEY=your-64-char-hex-key
# Optional: Enable TLS verification for external HTTPS requests (default: false for LAN use)
# - VERIFY_TLS=true
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:3000/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
lava-data:
name: lava-data
Content type
Image
Digest
sha256:71ab7546c…
Size
166.2 MB
Last updated
7 months ago
docker pull talentlesshack/lava