Initial QMAX production app
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
QMAX_DOMAIN=qmax.kusoft.xyz
|
||||
QMAX_PUBLIC_BASE_URL=https://qmax.kusoft.xyz
|
||||
QMAX_TLS_EMAIL=admin@kusoft.xyz
|
||||
|
||||
# Generate with: openssl rand -base64 48
|
||||
QMAX_JWT_SECRET=change-me-to-a-long-random-secret-at-least-32-characters
|
||||
|
||||
# Enter this once on the Android login screen to pair the device with your private bridge.
|
||||
QMAX_PAIRING_CODE=change-me-pairing-code
|
||||
|
||||
# Use international format if MAX accepts it in your flow, otherwise the local phone format you use in MAX Web.
|
||||
QMAX_MAX_PHONE_NUMBER=79000000000
|
||||
|
||||
# Set false temporarily if you attach a visible browser/VNC workflow for CAPTCHA/debug.
|
||||
QMAX_MAX_HEADLESS=true
|
||||
QMAX_CORS_ALLOWED_ORIGINS=
|
||||
|
||||
# Optional Firebase Cloud Messaging. Mount the service account JSON into the API container
|
||||
# and set these values to enable real push notifications.
|
||||
QMAX_PUSH_ENABLED=true
|
||||
QMAX_PUSH_SHOW_PREVIEW=true
|
||||
QMAX_FIREBASE_PROJECT_ID=
|
||||
QMAX_FIREBASE_SERVICE_ACCOUNT_PATH=
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
email {$QMAX_TLS_EMAIL}
|
||||
}
|
||||
|
||||
{$QMAX_DOMAIN} {
|
||||
encode zstd gzip
|
||||
reverse_proxy qmax-api:8080
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
services:
|
||||
qmax-api:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: Dockerfile.server
|
||||
container_name: qmax-api
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
ASPNETCORE_ENVIRONMENT: Production
|
||||
QMax__PublicBaseUrl: ${QMAX_PUBLIC_BASE_URL:-https://qmax.kusoft.xyz}
|
||||
QMax__DatabasePath: /data/qmax.db
|
||||
QMax__StoragePath: /data/storage
|
||||
QMax__ReleasesPath: /data/releases
|
||||
QMax__JwtSecret: ${QMAX_JWT_SECRET}
|
||||
QMax__PairingCode: ${QMAX_PAIRING_CODE}
|
||||
QMax__MaxPhoneNumber: ${QMAX_MAX_PHONE_NUMBER}
|
||||
QMax__MaxMode: Worker
|
||||
QMax__MaxWorkerBaseUrl: http://qmax-max-worker:3001
|
||||
QMax__CorsAllowedOrigins: ${QMAX_CORS_ALLOWED_ORIGINS:-}
|
||||
QMax__PushEnabled: ${QMAX_PUSH_ENABLED:-true}
|
||||
QMax__PushShowPreview: ${QMAX_PUSH_SHOW_PREVIEW:-true}
|
||||
QMax__FirebaseProjectId: ${QMAX_FIREBASE_PROJECT_ID:-}
|
||||
QMax__FirebaseServiceAccountPath: ${QMAX_FIREBASE_SERVICE_ACCOUNT_PATH:-}
|
||||
volumes:
|
||||
- qmax-data:/data
|
||||
- ./releases:/data/releases:ro
|
||||
- ./secrets:/run/secrets/qmax:ro
|
||||
ports:
|
||||
- "127.0.0.1:18080:8080"
|
||||
depends_on:
|
||||
- qmax-max-worker
|
||||
networks:
|
||||
- qmax
|
||||
|
||||
qmax-max-worker:
|
||||
build:
|
||||
context: ../worker
|
||||
dockerfile: Dockerfile
|
||||
container_name: qmax-max-worker
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
PORT: 3001
|
||||
MAX_BASE_URL: https://web.max.ru/
|
||||
MAX_USER_DATA_DIR: /data/max-profile
|
||||
MAX_HEADLESS: ${QMAX_MAX_HEADLESS:-true}
|
||||
volumes:
|
||||
- qmax-max-profile:/data
|
||||
- qmax-data:/qmax-data
|
||||
networks:
|
||||
- qmax
|
||||
|
||||
volumes:
|
||||
qmax-data:
|
||||
qmax-max-profile:
|
||||
|
||||
networks:
|
||||
qmax:
|
||||
driver: bridge
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"slug": "qmax",
|
||||
"name": "QMAX",
|
||||
"version": "0.1.39",
|
||||
"androidVersionCode": 40,
|
||||
"channel": "stable",
|
||||
"platform": "android",
|
||||
"packageKind": "apk",
|
||||
"downloadPath": "/api/app-updates/android/download/qmax-0.1.39-stable.apk",
|
||||
"packageSizeBytes": 17730369,
|
||||
"sha256": "fb1ba02daf4a5e99972794bd69965bef8219388c96344902b9d8a67ed2635803",
|
||||
"notes": "Chat composer now follows the Android keyboard height like Telegram, and downloaded video, audio, and document attachments keep correct local cache extensions.",
|
||||
"publishedAt": "2026-07-02T18:38:00.3130417Z"
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user