Update README.md

This commit is contained in:
2026-07-12 00:08:48 +00:00
parent 75ab4396d4
commit f2e2a3850e
+13 -4
View File
@@ -11,7 +11,13 @@ The platform aims organizations and individuals to show their projects which rec
For evaluation or localized testing environments, execute the following command:
```bash
docker run -d -p 3000:3000 --name gsv_gallery atakanozban/gsv_gallery:latest
docker run -d -p 3000:3000 \
-e DATABASE_URL="file:./dev.db" \
-e ADMIN_USERNAME="admin" \
-e ADMIN_PASSWORD="your_password" \
-e SESSION_SECRET="your_session_secret" \
-e GOOGLE_MAPS_API_KEY="your_api_key" \
--name gsv_gallery atakanozban/gsv_gallery:latest
```
## Production Deployment (Docker Compose)
@@ -31,8 +37,7 @@ services:
- GOOGLE_MAPS_API_KEY=YOUR_GOOGLE_MAPS_API_KEY_HERE
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=YOUR_SECURE_PASSWORD_HERE
- GOOGLE_CLIENT_ID=YOUR_GOOGLE_CLIENT_ID_HERE
- GOOGLE_CLIENT_SECRET=YOUR_GOOGLE_CLIENT_SECRET_HERE
- SESSION_SECRET="your_session_secret"
volumes:
- ./data:/app/data
restart: unless-stopped
@@ -44,8 +49,12 @@ The platform utilizes environment variables for backend initialization. Ensure t
| Variable | Description | Requirement |
| :--- | :--- | :--- |
| `DATABASE_URL` | The PostgreSQL connection string utilized by the Prisma ORM layer for transaction logs and metadata persistence. | **Required** |
| `SESSION_SECRET` | Why you need it: After you log in, the app creates a signed cookie so it knows you're an admin. This secret is the key that signs and verifies that cookie. If someone doesn't know it, they can't forge a valid admin session. | **Required**
Note on Client-Side Integrations: The platform eliminates compile-time API dependencies. The Google Maps JavaScript API payload is resolved and securely injected via dynamic runtime state mechanics (/api/config) post-initialization.
### Notes
1- Client-Side Integrations: The platform eliminates compile-time API dependencies. The Google Maps JavaScript API payload is resolved and securely injected via dynamic runtime state mechanics (/api/config) post-initialization.
2- Session Secret Generation: `node -e console.log(require('crypto').randomBytes(32).toString('hex'))` Must be at least 32 characters. Keep it secret.
# Core Architecture & Features