Files
dmenu-api/a.json
T
2026-06-21 16:55:54 +03:30

3190 lines
89 KiB
JSON

root@danak-new:/captain/data# cat config-captain.json
{
"namespace": "captain",
"goAccessInfo": {
"isEnabled": true,
"data": {
"rotationFrequencyCron": "0 0 1 * *",
"logRetentionDays": 180
}
},
"pro": {
"installationId": "d972914c-b802-450f-85bf-b5b64a6b9390"
},
"hashedPassword": "$2b$10$ykOWyl.Ps9pnMFwTlsK9lugTDu/GhqlXQyPjeFVqEbihleajodPcG",
"appDefinitions": {
"dmenu-plus-front": {
"hasPersistentData": false,
"projectId": "64feebc1-5645-488e-a938-9776f26cef5a",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-26T07:01:26.363Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-26T07:02:18.976Z"
},
{
"version": 2,
"timeStamp": "2026-05-26T07:03:16.406Z"
},
{
"version": 3,
"timeStamp": "2026-05-26T11:43:28.292Z"
},
{
"version": 4,
"timeStamp": "2026-05-26T12:19:27.972Z",
"deployedImageName": "img-captain-dmenu-plus-front:4",
"gitHash": "facfda9060df53a0bae332ad7e53aaf8927f794c\n"
},
{
"version": 5,
"timeStamp": "2026-05-26T12:40:50.180Z",
"deployedImageName": "img-captain-dmenu-plus-front:5",
"gitHash": "facfda9060df53a0bae332ad7e53aaf8927f794c\n"
},
{
"version": 6,
"timeStamp": "2026-05-30T07:13:10.139Z",
"deployedImageName": "img-captain-dmenu-plus-front:6",
"gitHash": "09e61d5edb89a4f24af6e8da940e4cdac9fd209a\n"
},
{
"version": 7,
"timeStamp": "2026-05-30T18:30:11.009Z",
"deployedImageName": "img-captain-dmenu-plus-front:7",
"gitHash": "09e61d5edb89a4f24af6e8da940e4cdac9fd209a\n"
},
{
"version": 8,
"timeStamp": "2026-05-30T20:33:01.860Z"
},
{
"version": 9,
"timeStamp": "2026-05-30T20:34:22.382Z"
},
{
"version": 10,
"timeStamp": "2026-05-30T20:36:57.838Z",
"deployedImageName": "img-captain-dmenu-plus-front:10",
"gitHash": "1916b589b28d2bb8d8d5f9807b076c72026d4d89\n"
},
{
"version": 11,
"timeStamp": "2026-05-31T06:50:15.845Z",
"deployedImageName": "img-captain-dmenu-plus-front:11",
"gitHash": "1916b589b28d2bb8d8d5f9807b076c72026d4d89\n"
},
{
"version": 12,
"timeStamp": "2026-05-31T08:27:23.758Z"
},
{
"version": 13,
"timeStamp": "2026-05-31T08:36:33.820Z"
},
{
"version": 14,
"timeStamp": "2026-05-31T08:40:06.397Z"
},
{
"version": 15,
"timeStamp": "2026-06-01T12:52:06.054Z"
},
{
"version": 16,
"timeStamp": "2026-06-01T12:57:54.197Z"
},
{
"version": 17,
"timeStamp": "2026-06-01T13:01:01.429Z"
},
{
"version": 18,
"timeStamp": "2026-06-01T13:04:19.789Z",
"deployedImageName": "img-captain-dmenu-plus-front:18",
"gitHash": "ce1a4ea7a8bbca9477139826c980ed1d320ebb61\n"
},
{
"version": 19,
"timeStamp": "2026-06-03T11:50:53.657Z"
},
{
"version": 20,
"timeStamp": "2026-06-03T11:54:14.701Z",
"deployedImageName": "img-captain-dmenu-plus-front:20",
"gitHash": "194533ec5f4dfcc9775de5027dc85c82ff35187f\n"
},
{
"version": 21,
"timeStamp": "2026-06-03T12:23:51.512Z",
"deployedImageName": "img-captain-dmenu-plus-front:21",
"gitHash": "e5629ac784941dbbff07328315adc9ede173ea8e\n"
},
{
"version": 22,
"timeStamp": "2026-06-03T12:55:45.390Z",
"deployedImageName": "img-captain-dmenu-plus-front:22",
"gitHash": "dc3646eef6069f61516ecc47b9c2e50e4a74c6a9\n"
},
{
"version": 23,
"timeStamp": "2026-06-03T19:10:16.206Z",
"deployedImageName": "img-captain-dmenu-plus-front:23",
"gitHash": "ace6a0b2881e7bf181f1cd60962f76c5c1099fc1\n"
},
{
"version": 24,
"timeStamp": "2026-06-06T06:10:30.713Z",
"deployedImageName": "img-captain-dmenu-plus-front:24",
"gitHash": "e68543f869ccbd8ce3f2543e2242c5c5136548d0\n"
},
{
"version": 25,
"timeStamp": "2026-06-06T08:41:49.433Z",
"deployedImageName": "img-captain-dmenu-plus-front:25",
"gitHash": "94e41da139fda2c184d44b5f1975b3610ff2714c\n"
},
{
"version": 26,
"timeStamp": "2026-06-06T09:16:43.445Z",
"deployedImageName": "img-captain-dmenu-plus-front:26",
"gitHash": "1ce80f551c29453d02034a3ef7c2b976dacdeb2d\n"
},
{
"version": 27,
"timeStamp": "2026-06-06T11:25:47.723Z",
"deployedImageName": "img-captain-dmenu-plus-front:27",
"gitHash": "c9d152fbaf42e4953529ee792d9dc37a6c8b48e5\n"
},
{
"version": 28,
"timeStamp": "2026-06-06T11:49:05.454Z",
"deployedImageName": "img-captain-dmenu-plus-front:28",
"gitHash": "804f6f69ae85445804bf5eafe092d96ca6755080\n"
},
{
"version": 29,
"timeStamp": "2026-06-06T12:54:02.791Z",
"deployedImageName": "img-captain-dmenu-plus-front:29",
"gitHash": "75e23237e60a104c08e840c27af99c67fe2f7e6d\n"
}
],
"deployedVersion": 29,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dmenu.danakcorp.com",
"hasSsl": false
},
{
"publicDomain": "passataplus.ir",
"hasSsl": false
},
{
"publicDomain": "cookieca.ir",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"appPushWebhook": {
"tokenVersion": "17904f49-f877-4761-8515-2ac3ae548eee",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6IjE3OTA0ZjQ5LWY4NzctNDc2MS04NTE1LTJhYzNhZTU0OGVlZSIsImFwcE5hbWUiOiJkbWVudS1wbHVzLWZyb250IiwibmFtZXNwYWNlIjoiY2FwdGFpbiJ9LCJpYXQiOjE3Nzk3Nzg5MzR9._UT37z4KqAD-scpTvNhpba8a9He1kyHvAypcJGP_Xro",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dmenu-plus-front",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "production",
"passwordEncrypted": "9e05047539cd9834dd571bc5095994b7:79c3f1e3a555843ed73780bb6b130ce7"
}
},
"containerHttpPort": 3000,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
},
"customNginxConfig": "<%\nif (s.forceSsl) {\n%>\n server {\n\n listen 80;\n\n server_name <%-s.publicDomain%>;\n\n # Used by Lets Encrypt\n location /.well-known/acme-challenge/ {\n root <%-s.staticWebRoot%>;\n }\n\n # Used by CapRover for health check\n location /.well-known/captain-identifier {\n root <%-s.staticWebRoot%>;\n }\n\n location / {\n return 302 https://$http_host$request_uri;\n }\n }\n<%\n}\n%>\n\n\nserver {\n\n <%\n if (!s.forceSsl) {\n %>\n listen 80;\n <%\n }\n if (s.hasSsl) {\n %>\n listen 443 ssl;\n http2 on;\n ssl_certificate <%-s.crtPath%>;\n ssl_certificate_key <%-s.keyPath%>;\n <%\n }\n if (s.logAccessPath) {\n %>\n access_log <%-s.logAccessPath%>;\n <%\n }\n %>\n\n client_max_body_size 500m;\n\n server_name <%-s.publicDomain%>;\n\n # 127.0.0.11 is DNS set up by Docker, see:\n # https://docs.docker.com/engine/userguide/networking/configure-dns/\n # https://github.com/moby/moby/issues/20026\n resolver 127.0.0.11 valid=10s;\n # IMPORTANT!! If you are here from an old thread to set a custom port, you do not need to modify this port manually here!!\n # Simply change the Container HTTP Port from the dashboard HTTP panel\n set $upstream http://<%-s.localDomain%>:<%-s.containerHttpPort%>;\n\n location / {\n\n\n\t<%\n\tif (s.redirectToPath) {\n\t%>\n\t return 302 <%-s.redirectToPath%>$request_uri;\n\t<%\n\t} else {\n\t%>\n\n\t\t <%\n\t\t if (s.httpBasicAuthPath) {\n\t\t %>\n\t\t\t auth_basic \"Restricted Access\";\n\t\t\t auth_basic_user_file <%-s.httpBasicAuthPath%>; \n\t\t <%\n\t\t }\n\t\t %>\n\n\t\t\t proxy_pass $upstream;\n\t\t\t proxy_set_header Host $host;\n\t\t\t proxy_set_header X-Real-IP $remote_addr;\n\t\t\t proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\t\t\t proxy_set_header X-Forwarded-Proto $scheme;\n\n\t\t <%\n\t\t if (s.websocketSupport) {\n\t\t %>\n\t\t\t proxy_set_header Upgrade $http_upgrade;\n\t\t\t proxy_set_header Connection \"upgrade\";\n\t\t\t proxy_http_version 1.1;\n\t\t <%\n\t\t }\n\t\t %>\n \n \n\t<%\n\t}\n\t%>\n\t\n }\n\n # Used by Lets Encrypt\n location /.well-known/acme-challenge/ {\n root <%-s.staticWebRoot%>;\n }\n \n # Used by CapRover for health check\n location /.well-known/captain-identifier {\n root <%-s.staticWebRoot%>;\n }\n\n error_page 502 /captain_502_custom_error_page.html;\n location = /captain_502_custom_error_page.html {\n root <%-s.customErrorPagesDirectory%>;\n internal;\n }\n}\n"
},
"redis": {
"hasPersistentData": true,
"projectId": "094d89f8-f16f-4258-8fbe-0c3a53aa2952",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [
{
"containerPath": "/var/lib/redis/data",
"volumeName": "redis-data"
}
],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-28T16:25:57.115Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-28T16:27:24.957Z",
"deployedImageName": "redis:7-alpine",
"gitHash": ""
}
],
"deployedVersion": 1,
"notExposeAsWebApp": true,
"customDomain": [],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"containerHttpPort": 80,
"nodeId": "vf60j0m9hlskifwb7jhbcuu1y",
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
}
},
"dpage-api": {
"hasPersistentData": false,
"projectId": "58efbc07-e8c1-4a47-bbc5-bb78f3c0e529",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [
{
"key": "NODE_ENV",
"value": "production"
},
{
"key": "DB_NAME",
"value": "dpage"
},
{
"key": "DB_USER",
"value": "danak"
},
{
"key": "DB_PASS",
"value": "48ae186c32f8b69d"
},
{
"key": "DB_HOST",
"value": "srv-captain--postgres-db"
},
{
"key": "DB_PORT",
"value": "5432"
},
{
"key": "APP_PORT",
"value": "4000"
},
{
"key": "APP_NAME",
"value": "dpage-api"
},
{
"key": "SMS_BASE_URL",
"value": "https://api.sms.ir/v1"
},
{
"key": "SMS_API_KEY",
"value": "QkkNxhyXZ6GtEf1soOTtikomO3mA4LaNQDH8mol8huDIwh00"
},
{
"key": "SMS_PATTERN_OTP",
"value": "832351"
},
{
"key": "JWT_SECRET",
"value": "some_secret_value_Z6GtEf1soOTt"
},
{
"key": "JWT_EXPIRATION_TIME",
"value": "1200"
},
{
"key": "BUCKET_NAME",
"value": "c778261"
},
{
"key": "BUCKET_REGION",
"value": "us-west-2"
},
{
"key": "PARSPACK_S3_ENDPOINT",
"value": "https://c778261.parspack.net"
},
{
"key": "BUCKET_ACCESS_KEY",
"value": "plIXwwB0ZLIMoBsm"
},
{
"key": "BUCKET_SECRET_KEY",
"value": "4QKZZmQ3Rl1v4esv6lMFMwFmke8zbmbI"
},
{
"key": "REFRESH_TOKEN_EXPIRE",
"value": "15"
},
{
"key": "OTP_EXPIRATION_TIME",
"value": "240"
},
{
"key": "SUPER_ADMIN_USERNAME",
"value": "danak@dsc.com"
},
{
"key": "SUPER_ADMIN_PASSWORD",
"value": "DsCdAnAk?@ABC"
},
{
"key": "DANAK_API_URL",
"value": "https://api.danakcorp.com"
},
{
"key": "EXTERNAL_API_KEYS",
"value": "uqXssnB2q8rs2soa9almm1jkL6vN0xOh0"
},
{
"key": "CATALOGUE_PRICE",
"value": "2000000"
},
{
"key": "DESIGN_PRICE_UNDER_10",
"value": "700000"
},
{
"key": "DESIGN_PRICE_10_TO_30",
"value": "500000"
},
{
"key": "DESIGN_PRICE_30_TO_70",
"value": "400000"
},
{
"key": "DESIGN_PRICE_ABOVE_70",
"value": "350000"
}
],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-28T16:30:40.107Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-28T16:36:39.460Z",
"deployedImageName": "img-captain-dpage-api:1",
"gitHash": "6cd0af8477b0768b0f1fffb40c2f8c5f04b1e65d\n"
},
{
"version": 2,
"timeStamp": "2026-05-28T16:42:28.367Z",
"deployedImageName": "img-captain-dpage-api:2",
"gitHash": "23c5d9c667dd23d540b5e33b75418f9d8a784f56\n"
},
{
"version": 3,
"timeStamp": "2026-06-03T09:19:58.490Z",
"deployedImageName": "img-captain-dpage-api:3",
"gitHash": "afb8f9436c766f877dfea8d111fc6e400ebef31d\n"
},
{
"version": 4,
"timeStamp": "2026-06-07T12:10:01.684Z",
"deployedImageName": "img-captain-dpage-api:4",
"gitHash": "e915af91d8aa7f229140e75da6daa51b448b5a6a\n"
},
{
"version": 5,
"timeStamp": "2026-06-07T12:25:14.063Z",
"deployedImageName": "img-captain-dpage-api:5",
"gitHash": "4aba85ab4e93da2d7780d680ccc8001f679a4162\n"
}
],
"deployedVersion": 5,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dpage-api.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"containerHttpPort": 4000,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
},
"appPushWebhook": {
"tokenVersion": "28ae0f8e-9716-4f69-980c-a146548cc6a3",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6IjI4YWUwZjhlLTk3MTYtNGY2OS05ODBjLWExNDY1NDhjYzZhMyIsImFwcE5hbWUiOiJkcGFnZS1hcGkiLCJuYW1lc3BhY2UiOiJjYXB0YWluIn0sImlhdCI6MTc3OTk4NjE4Mn0.dyo_N6j_M_pls7qQfdf141ttLWvxa31-dgaGeZoukCc",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dpage-api",
"user": "tech@danakcorp.com",
"branch": "main",
"password": "",
"sshKey": "",
"passwordEncrypted": "cecc1a2e5575ed5e160087f9d0e04a90:bd2d697f940f9a81521fed034e54b251"
}
}
},
"dmenu-api": {
"hasPersistentData": false,
"projectId": "64feebc1-5645-488e-a938-9776f26cef5a",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [
{
"key": "NODE_ENV",
"value": "production"
},
{
"key": "DB_NAME",
"value": "dmenu"
},
{
"key": "DB_USER",
"value": "danak"
},
{
"key": "DB_PASS",
"value": "48ae186c32f8b69d"
},
{
"key": "DB_HOST",
"value": "srv-captain--postgres-db"
},
{
"key": "DB_PORT",
"value": "5432"
},
{
"key": "APP_PORT",
"value": "4000"
},
{
"key": "APP_NAME",
"value": "dmenu-api"
},
{
"key": "REDIS_URI",
"value": "redis://srv-captain--redis:6379/0"
},
{
"key": "REDIS_HOST",
"value": "srv-captain--redis"
},
{
"key": "REDIS_PORT",
"value": "6379"
},
{
"key": "REDIS_PASSWORD",
"value": ""
},
{
"key": "CACHE_TTL",
"value": "3600"
},
{
"key": "CACHE_NAMESPACE",
"value": "dMenu"
},
{
"key": "SMS_BASE_URL",
"value": "https://api.sms.ir/v1"
},
{
"key": "SMS_API_KEY",
"value": "QkkNxhyXZ6GtEf1soOTtikomO3mA4LaNQDH8mol8huDIwh00"
},
{
"key": "SMS_PATTERN_OTP",
"value": "832351"
},
{
"key": "JWT_SECRET",
"value": "some_secret_value_Z6GtEf1soOTt"
},
{
"key": "JWT_EXPIRATION_TIME",
"value": "1200"
},
{
"key": "BUCKET_NAME",
"value": "c585127"
},
{
"key": "BUCKET_REGION",
"value": "Tehran11"
},
{
"key": "PARSPACK_S3_ENDPOINT",
"value": "https://c585127.parspack.net"
},
{
"key": "BUCKET_ACCESS_KEY",
"value": "4u5LxhRf42dIzM13"
},
{
"key": "BUCKET_SECRET_KEY",
"value": "BabE8dTQoxKRnVjXm45gfuldcQ133RsF"
},
{
"key": "REFRESH_TOKEN_EXPIRE",
"value": "15"
},
{
"key": "OTP_EXPIRATION_TIME",
"value": "240"
},
{
"key": "ZARINPAL_BASE_URL",
"value": "https://payment.zarinpal.com"
},
{
"key": "SMS_PATTERN_ORDER_CREATED",
"value": "912114"
},
{
"key": "SMS_PATTERN_PAYMENT_SUCCESS",
"value": "682377"
},
{
"key": "SMS_PATTERN_ORDER_STATUS_CHANGE",
"value": "425344"
},
{
"key": "SMS_PATTERN_ORDER_STATUS_COMPLETED",
"value": "907455"
},
{
"key": "SMS_PATTERN_REVIEW_CREATED",
"value": "246967"
},
{
"key": "SMS_PATTERN_PAGER_CREATED",
"value": "763298"
},
{
"key": "SMS_PATTERN_ONLINE_PAYMENT_SUCCEED",
"value": "977651"
},
{
"key": "SUPER_ADMIN_USERNAME",
"value": "danak@dsc.com"
},
{
"key": "SUPER_ADMIN_PASSWORD",
"value": "DsCdAnAk?@ABC"
}
],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-29T05:31:03.505Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-29T05:35:12.978Z"
},
{
"version": 2,
"timeStamp": "2026-05-29T05:36:00.917Z"
},
{
"version": 3,
"timeStamp": "2026-05-29T05:49:46.966Z",
"deployedImageName": "img-captain-dmenu-api:3",
"gitHash": "455278f398512fdc3b881f0d4a1e134560c63c02\n"
},
{
"version": 4,
"timeStamp": "2026-05-29T06:08:35.554Z",
"deployedImageName": "img-captain-dmenu-api:4",
"gitHash": "8124938720dd59f1e61d9b896295667bfc8a5f0d\n"
},
{
"version": 5,
"timeStamp": "2026-06-03T12:09:11.101Z",
"deployedImageName": "img-captain-dmenu-api:5",
"gitHash": "4f8cf601740e9eb5fc0c545ae4ceeb6c600a190a\n"
},
{
"version": 6,
"timeStamp": "2026-06-04T14:01:09.475Z",
"deployedImageName": "img-captain-dmenu-api:6",
"gitHash": "9a6eebf3855fd11f399d0f94f6da2f6dc20f7c36\n"
},
{
"version": 7,
"timeStamp": "2026-06-04T14:19:44.396Z",
"deployedImageName": "img-captain-dmenu-api:7",
"gitHash": "02ebdf83b62943f079b3c92541dda4b958804994\n"
},
{
"version": 8,
"timeStamp": "2026-06-05T14:20:34.420Z",
"deployedImageName": "img-captain-dmenu-api:8",
"gitHash": "66413f4ce12318e860ba4593f5dc9a69e43469f7\n"
},
{
"version": 9,
"timeStamp": "2026-06-05T16:00:41.627Z",
"deployedImageName": "img-captain-dmenu-api:9",
"gitHash": "4d2b4ce6da8b6551e594eb1647179ded93de3bc7\n"
},
{
"version": 10,
"timeStamp": "2026-06-06T09:58:31.294Z",
"deployedImageName": "img-captain-dmenu-api:10",
"gitHash": "c6c9812fd6b3310fb9734f675d6ee520444c2714\n"
}
],
"deployedVersion": 10,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dmenu-api.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": true,
"containerHttpPort": 4000,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
},
"appPushWebhook": {
"tokenVersion": "2b6771fc-ad65-473e-bfd2-ddf64ce045c7",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6IjJiNjc3MWZjLWFkNjUtNDczZS1iZmQyLWRkZjY0Y2UwNDVjNyIsImFwcE5hbWUiOiJkbWVudS1hcGkiLCJuYW1lc3BhY2UiOiJjYXB0YWluIn0sImlhdCI6MTc4MDAzMjkwOH0.nZ4p6F5V3rZwwQuGcF94FKJ1EKqLAAaUz453wQOXMpk",
"repoInfo": {
"repo": "https://git.danakcorp.com/morteza/dmenu-api",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "production",
"passwordEncrypted": "1ff96d8282fe05c9783f148014a1131b:801415d619acabb9759904b9a7f6f3d9"
}
}
},
"dpage-editor": {
"hasPersistentData": false,
"projectId": "58efbc07-e8c1-4a47-bbc5-bb78f3c0e529",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [
{
"key": "VITE_API_URL",
"value": "https://dpage-api.danakcorp.com"
},
{
"key": "VITE_TOKEN_NAME",
"value": "dpage-editor-t"
},
{
"key": "VITE_REFRESH_TOKEN_NAME",
"value": "dpage-editor-refresh-t"
}
],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-30T05:46:14.397Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-30T05:48:23.617Z"
},
{
"version": 2,
"timeStamp": "2026-05-30T05:50:43.854Z"
},
{
"version": 3,
"timeStamp": "2026-05-30T05:57:46.055Z"
},
{
"version": 4,
"timeStamp": "2026-05-30T06:06:55.326Z",
"deployedImageName": "img-captain-dpage-editor:4",
"gitHash": "4babfbc232d4ecb4f76b84e9ab3778ad5ab0ac04\n"
},
{
"version": 5,
"timeStamp": "2026-05-30T06:37:35.179Z",
"deployedImageName": "img-captain-dpage-editor:5",
"gitHash": "d374055aebe0af7c44a2c2809f167c317071a15a\n"
},
{
"version": 6,
"timeStamp": "2026-05-30T09:17:31.171Z",
"deployedImageName": "img-captain-dpage-editor:6",
"gitHash": "f95aeb18102fa29feb28ef41786b90b686eda893\n"
},
{
"version": 7,
"timeStamp": "2026-06-01T06:15:11.190Z",
"deployedImageName": "img-captain-dpage-editor:7",
"gitHash": "994fc4af4b29c8d9aaa42348099bdac4dde7756e\n"
},
{
"version": 8,
"timeStamp": "2026-06-01T07:55:56.171Z",
"deployedImageName": "img-captain-dpage-editor:8",
"gitHash": "da0069f2bc939dbf2b6599429a6fbd975e33832c\n"
},
{
"version": 9,
"timeStamp": "2026-06-01T10:54:09.685Z",
"deployedImageName": "img-captain-dpage-editor:9",
"gitHash": "04da87b7d7a555d4b2102d75387bbe8ce9884290\n"
},
{
"version": 10,
"timeStamp": "2026-06-03T11:22:17.193Z",
"deployedImageName": "img-captain-dpage-editor:10",
"gitHash": "9b72105115c8a28cbe0031e79892e0c1f446ce94\n"
},
{
"version": 11,
"timeStamp": "2026-06-06T12:12:04.403Z"
},
{
"version": 12,
"timeStamp": "2026-06-06T12:13:43.396Z"
},
{
"version": 13,
"timeStamp": "2026-06-06T12:14:14.716Z"
},
{
"version": 14,
"timeStamp": "2026-06-06T12:14:59.561Z",
"deployedImageName": "img-captain-dpage-editor:14",
"gitHash": "251d18145a5352434437fcf4f1e20446be31a1c9\n"
},
{
"version": 15,
"timeStamp": "2026-06-06T12:46:36.551Z",
"deployedImageName": "img-captain-dpage-editor:15",
"gitHash": "81a786d2a4c9451cc5c52ef98604e31f6cc54751\n"
},
{
"version": 16,
"timeStamp": "2026-06-07T12:01:44.338Z",
"deployedImageName": "img-captain-dpage-editor:16",
"gitHash": "9b00a22d112775637d7ea43cf3f4af8c2f18691e\n"
},
{
"version": 17,
"timeStamp": "2026-06-07T12:41:42.442Z"
},
{
"version": 18,
"timeStamp": "2026-06-07T12:43:26.039Z",
"deployedImageName": "img-captain-dpage-editor:18",
"gitHash": "89d91551847731102afe85d3952395bbdd15d8d9\n"
}
],
"deployedVersion": 18,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dpage.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"appPushWebhook": {
"tokenVersion": "962b3d18-0158-4d31-9b07-2fcbf1f8c903",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6Ijk2MmIzZDE4LTAxNTgtNGQzMS05YjA3LTJmY2JmMWY4YzkwMyIsImFwcE5hbWUiOiJkcGFnZS1lZGl0b3IiLCJuYW1lc3BhY2UiOiJjYXB0YWluIn0sImlhdCI6MTc4MDEyMDA5OX0.DC597mDN_-dIZs6YZ_1hNzI-A-2rWQtfZ6ypJzqio5M",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dpage-editor",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "master",
"passwordEncrypted": "ced477e13079d597db9734af7c297b0c:3b42cd13a0f9e832f3c77be11b038291"
}
},
"containerHttpPort": 80,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
},
"customNginxConfig": "<%\nif (s.forceSsl) {\n%>\n server {\n\n listen 80;\n\n server_name <%-s.publicDomain%>;\n\n # Used by Lets Encrypt\n location /.well-known/acme-challenge/ {\n root <%-s.staticWebRoot%>;\n }\n\n # Used by CapRover for health check\n location /.well-known/captain-identifier {\n root <%-s.staticWebRoot%>;\n }\n\n location / {\n return 302 https://$http_host$request_uri;\n }\n }\n<%\n}\n%>\n\n\nserver {\n\n <%\n if (!s.forceSsl) {\n %>\n listen 80;\n <%\n }\n if (s.hasSsl) {\n %>\n listen 443 ssl;\n http2 on;\n ssl_certificate <%-s.crtPath%>;\n ssl_certificate_key <%-s.keyPath%>;\n <%\n }\n if (s.logAccessPath) {\n %>\n access_log <%-s.logAccessPath%>;\n <%\n }\n %>\n\n client_max_body_size 500m;\n\n server_name <%-s.publicDomain%>;\n\n # 127.0.0.11 is DNS set up by Docker, see:\n # https://docs.docker.com/engine/userguide/networking/configure-dns/\n # https://github.com/moby/moby/issues/20026\n resolver 127.0.0.11 valid=10s;\n # IMPORTANT!! If you are here from an old thread to set a custom port, you do not need to modify this port manually here!!\n # Simply change the Container HTTP Port from the dashboard HTTP panel\n set $upstream http://<%-s.localDomain%>:<%-s.containerHttpPort%>;\n\n location / {\n\n\n\t<%\n\tif (s.redirectToPath) {\n\t%>\n\t return 302 <%-s.redirectToPath%>$request_uri;\n\t<%\n\t} else {\n\t%>\n\n\t\t <%\n\t\t if (s.httpBasicAuthPath) {\n\t\t %>\n\t\t\t auth_basic \"Restricted Access\";\n\t\t\t auth_basic_user_file <%-s.httpBasicAuthPath%>; \n\t\t <%\n\t\t }\n\t\t %>\n\n\t\t\t proxy_pass $upstream;\n\t\t\t proxy_set_header Host $host;\n\t\t\t proxy_set_header X-Real-IP $remote_addr;\n\t\t\t proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\t\t\t proxy_set_header X-Forwarded-Proto $scheme;\n\n\t\t <%\n\t\t if (s.websocketSupport) {\n\t\t %>\n\t\t\t proxy_set_header Upgrade $http_upgrade;\n\t\t\t proxy_set_header Connection \"upgrade\";\n\t\t\t proxy_http_version 1.1;\n\t\t <%\n\t\t }\n\t\t %>\n \n \n\t<%\n\t}\n\t%>\n\t\n }\n\n # Used by Lets Encrypt\n location /.well-known/acme-challenge/ {\n root <%-s.staticWebRoot%>;\n }\n \n # Used by CapRover for health check\n location /.well-known/captain-identifier {\n root <%-s.staticWebRoot%>;\n }\n\n error_page 502 /captain_502_custom_error_page.html;\n location = /captain_502_custom_error_page.html {\n root <%-s.customErrorPagesDirectory%>;\n internal;\n }\n}\n"
},
"dkala-front": {
"hasPersistentData": false,
"projectId": "548c4c35-f008-4ace-9918-18535a08cb5d",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-30T08:23:29.684Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-30T08:28:55.192Z",
"deployedImageName": "img-captain-dkala-front:1",
"gitHash": "ae59823aa669e6f7fd97fabc0b98e136df9e43bc\n"
}
],
"deployedVersion": 1,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dkala.danakcorp.com",
"hasSsl": false
},
{
"publicDomain": "avitaprotein.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"appPushWebhook": {
"tokenVersion": "7bb9e217-c3a4-4ff6-8c72-dae8f319d499",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6IjdiYjllMjE3LWMzYTQtNGZmNi04YzcyLWRhZThmMzE5ZDQ5OSIsImFwcE5hbWUiOiJka2FsYS1mcm9udCIsIm5hbWVzcGFjZSI6ImNhcHRhaW4ifSwiaWF0IjoxNzgwMTI5NDk2fQ.YVgITfcVaCC_9zTXWibU1Q8J6oGt0tsoMM2uyx5vJxE",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dkala-front.git",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "main",
"passwordEncrypted": "9fc8291e45169a217f5f3ae42587d8cf:f345c548ddf8ed5528db2cfa1e741435"
}
},
"containerHttpPort": 3000,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
},
"customNginxConfig": ""
},
"dkala-api": {
"hasPersistentData": false,
"projectId": "548c4c35-f008-4ace-9918-18535a08cb5d",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [
{
"key": "NODE_ENV",
"value": "development"
},
{
"key": "DB_NAME",
"value": "dkala"
},
{
"key": "DB_USER",
"value": "danak"
},
{
"key": "DB_PASS",
"value": "48ae186c32f8b69d"
},
{
"key": "DB_HOST",
"value": "srv-captain--postgres-db"
},
{
"key": "DB_PORT",
"value": "5432"
},
{
"key": "APP_PORT",
"value": "4000"
},
{
"key": "APP_NAME",
"value": "dkala-api"
},
{
"key": "REDIS_URI",
"value": "redis://srv-captain--redis:6379/1"
},
{
"key": "REDIS_HOST",
"value": "srv-captain--redis"
},
{
"key": "REDIS_PORT",
"value": "6379"
},
{
"key": "REDIS_PASSWORD",
"value": ""
},
{
"key": "CACHE_TTL",
"value": "3600"
},
{
"key": "CACHE_NAMESPACE",
"value": "dMenu"
},
{
"key": "SMS_BASE_URL",
"value": "https://api.sms.ir/v1"
},
{
"key": "SMS_API_KEY",
"value": "QkkNxhyXZ6GtEf1soOTtikomO3mA4LaNQDH8mol8huDIwh00"
},
{
"key": "SMS_PATTERN_OTP",
"value": "832351"
},
{
"key": "JWT_SECRET",
"value": "some_secret_value_Z6GtEf1soOTt"
},
{
"key": "JWT_EXPIRATION_TIME",
"value": "1200"
},
{
"key": "BUCKET_NAME",
"value": "c378939"
},
{
"key": "BUCKET_REGION",
"value": "default"
},
{
"key": "PARSPACK_S3_ENDPOINT",
"value": "https://c378939.parspack.net"
},
{
"key": "BUCKET_ACCESS_KEY",
"value": "F7gRkI39G6vzhJ6K"
},
{
"key": "BUCKET_SECRET_KEY",
"value": "MTix6koReLkR9X0r7Vqb32XtlfTPyF26"
},
{
"key": "REFRESH_TOKEN_EXPIRE",
"value": "15"
},
{
"key": "OTP_EXPIRATION_TIME",
"value": "240"
},
{
"key": "SMS_PATTERN_ORDER_CREATED",
"value": "912114"
},
{
"key": "SMS_PATTERN_PAYMENT_SUCCESS",
"value": "682377"
},
{
"key": "SMS_PATTERN_ORDER_STATUS_CHANGE",
"value": "425344"
},
{
"key": "SMS_PATTERN_ORDER_STATUS_COMPLETED",
"value": "907455"
},
{
"key": "SMS_PATTERN_REVIEW_CREATED",
"value": "246967"
},
{
"key": "SMS_PATTERN_PAGER_CREATED",
"value": "763298"
},
{
"key": "SMS_PATTERN_ONLINE_PAYMENT_SUCCEED",
"value": "977651"
},
{
"key": "SUPER_ADMIN_USERNAME",
"value": "danak@dsc.com"
},
{
"key": "SUPER_ADMIN_PASSWORD",
"value": "DsCdAnAk?@ABC"
}
],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-30T21:26:37.345Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-30T21:45:40.550Z",
"deployedImageName": "img-captain-dkala-api:1",
"gitHash": "85cccf3ba62e8237761ec8fc5068ccf5b51cff27\n"
},
{
"version": 2,
"timeStamp": "2026-05-30T22:01:48.954Z",
"deployedImageName": "img-captain-dkala-api:2",
"gitHash": "cd35b6349f9114bdf70873cfa144b3be95f599fc\n"
},
{
"version": 3,
"timeStamp": "2026-05-31T09:14:07.405Z",
"deployedImageName": "img-captain-dkala-api:3",
"gitHash": "cd35b6349f9114bdf70873cfa144b3be95f599fc\n"
}
],
"deployedVersion": 3,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dkala-api.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"containerHttpPort": 4000,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
},
"appPushWebhook": {
"tokenVersion": "05e19208-c9ac-4429-afb4-ca5927bef917",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6IjA1ZTE5MjA4LWM5YWMtNDQyOS1hZmI0LWNhNTkyN2JlZjkxNyIsImFwcE5hbWUiOiJka2FsYS1hcGkiLCJuYW1lc3BhY2UiOiJjYXB0YWluIn0sImlhdCI6MTc4MDE3NzUzM30.DAC9uKJpwlLFva9Dxbg-XgUjQzAgOLPbGYCkEesyDyE",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dkala-api",
"user": "tech@danakcorp.com",
"branch": "main",
"password": "",
"sshKey": "",
"passwordEncrypted": "527c16e7fe6e021a23a3f7963dc4e1a8:d7de99978687b0c6f363cb4155427bdc"
}
}
},
"dmail-api": {
"hasPersistentData": false,
"projectId": "8ed679e8-397c-41ca-88d8-3da6d8d35eba",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [
{
"key": "NODE_ENV",
"value": "production"
},
{
"key": "PORT",
"value": "4000"
},
{
"key": "DB_HOST",
"value": "srv-captain--postgres-db"
},
{
"key": "DB_PORT",
"value": "5432"
},
{
"key": "DB_NAME",
"value": "dmail"
},
{
"key": "DB_USER",
"value": "danak"
},
{
"key": "DB_PASS",
"value": "48ae186c32f8b69d"
},
{
"key": "REDIS_URI",
"value": "redis://srv-captain--redis:6379/3"
},
{
"key": "AXIOS_TIMEOUT",
"value": "5000"
},
{
"key": "CACHE_TTL",
"value": "180000"
},
{
"key": "THROTTLE_TTL",
"value": "300000"
},
{
"key": "THROTTLE_LIMIT",
"value": "10"
},
{
"key": "JWT_SECRET_KEY",
"value": "2ygxIB1PJhK/L2PToqR3+52gRmUIdPfwTguYlB7ZRCdRyvA/N36jjkjbYJLoMxEL6xGmk5CQmCmn9c0FsBlN1g"
},
{
"key": "JWT_ISSUER",
"value": "console-danak"
},
{
"key": "ACCESS_TOKEN_EXPIRE",
"value": "45"
},
{
"key": "REFRESH_TOKEN_EXPIRE",
"value": "6"
},
{
"key": "BUCKET_NAME",
"value": "danak-project"
},
{
"key": "BUCKET_REGION",
"value": "default"
},
{
"key": "BUCKET_URL",
"value": "https://s3.ir-thr-at1.arvanstorage.ir"
},
{
"key": "BUCKET_ACCESS_KEY",
"value": "4bd15218-60f1-4ce7-a7aa-3fd319b13372"
},
{
"key": "BUCKET_SECRET_KEY",
"value": "de772e5bd62fb04fb3669e67e09ddb101db60c65d77eea66b215ce58275e6a76"
},
{
"key": "BUCKET_UPLOAD_URL",
"value": "https://storage.danakcorp.com"
},
{
"key": "WILDDUCK_BASE_URL",
"value": "https://mail-api.danakcorp.com"
},
{
"key": "WILDDUCK_ACCESS_TOKEN",
"value": "mc3TbGeF070JXoetf8okxKzT3op8Xc"
},
{
"key": "WILDDUCK_TIMEOUT",
"value": "30000"
},
{
"key": "WILDDUCK_RETRIES",
"value": "3"
},
{
"key": "DANAKCORP_API_URL",
"value": "https://api.danakcorp.com"
},
{
"key": "DANAKCORP_API_KEY",
"value": "uqXssnB2q8rs2soa9almm1jkL6vN0xOh0"
},
{
"key": "AI_BASE_URL",
"value": "https://ai.liara.ir/api/v1/6880d29486b58bb25152b246"
},
{
"key": "AI_DEFAULT_MODEL",
"value": "google/gemini-2.0-flash-001"
},
{
"key": "AI_DEFAULT_TTS_MODEL",
"value": "mamam"
},
{
"key": "AI_API_KEY",
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySUQiOiI2NGVkY2ZmYWJiODUyOWZmNWFmOTU3YmEiLCJ0eXBlIjoiYXV0aCIsImlhdCI6MTc1MzI3NTU5N30.E4qoL2XnxSve541kQWyJVpHns3NKbCcLsdhYg0k4J_w"
},
{
"key": "NAJVA_API_URL",
"value": "https://push.najva.com/v1/send/token/"
},
{
"key": "NAJVA_API_KEY",
"value": "31c61583b0730bcd2e53413260bd0eb4ca36f69435ceb801ef"
},
{
"key": "NAJVA_WEBSITE_ID",
"value": "100423"
},
{
"key": "PUSH_TTL",
"value": "24"
},
{
"key": "FRONTEND_URL",
"value": "https://dmail.danakcorp.com"
},
{
"key": "WEBHOOK_BASE_URL",
"value": "https://dmail-api.danakcorp.com"
},
{
"key": "WEBHOOK_PATH",
"value": "/webhooks/email/wildduck"
},
{
"key": "SUPER_ADMIN_USERNAME",
"value": "danak@dsc.com"
},
{
"key": "SUPER_ADMIN_PASSWORD",
"value": "DsCdAnAk?@ABC"
}
],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-31T09:00:19.314Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-31T09:08:03.171Z"
},
{
"version": 2,
"timeStamp": "2026-05-31T09:48:00.221Z"
},
{
"version": 3,
"timeStamp": "2026-05-31T09:50:08.138Z"
},
{
"version": 4,
"timeStamp": "2026-05-31T09:51:58.145Z"
},
{
"version": 5,
"timeStamp": "2026-05-31T10:40:59.433Z"
},
{
"version": 6,
"timeStamp": "2026-05-31T10:49:02.526Z"
},
{
"version": 7,
"timeStamp": "2026-05-31T11:05:00.944Z"
},
{
"version": 8,
"timeStamp": "2026-05-31T11:17:14.165Z"
},
{
"version": 9,
"timeStamp": "2026-06-01T11:02:40.513Z"
},
{
"version": 10,
"timeStamp": "2026-06-01T13:51:13.374Z",
"deployedImageName": "img-captain-dmail-api:10",
"gitHash": "669c6fd358922cce3abb2db4a1bd4727bfe1b42a\n"
},
{
"version": 11,
"timeStamp": "2026-06-01T16:08:22.881Z",
"deployedImageName": "img-captain-dmail-api:11",
"gitHash": "e359a5c5e6a331f53bab74ec197c486ea81ebd6f\n"
},
{
"version": 12,
"timeStamp": "2026-06-04T12:25:49.841Z",
"deployedImageName": "img-captain-dmail-api:12",
"gitHash": "cbccb8bc68c82e045c94dcd2859faea3212c4415\n"
}
],
"deployedVersion": 12,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dmail-api.danakcorp.com",
"hasSsl": false
},
{
"publicDomain": "dmail-api.dev.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": true,
"containerHttpPort": 4000,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
},
"appPushWebhook": {
"tokenVersion": "7f6fc5dc-b073-4c0a-9194-a4c2bd244436",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6IjdmNmZjNWRjLWIwNzMtNGMwYS05MTk0LWE0YzJiZDI0NDQzNiIsImFwcE5hbWUiOiJkbWFpbC1hcGkiLCJuYW1lc3BhY2UiOiJjYXB0YWluIn0sImlhdCI6MTc4MDIxODQ3N30.QgcTTSYDnJ2AfioEENRnDs0pTRJjdOQIXiSZH4GfVQ4",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dmail-api",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "main",
"passwordEncrypted": "1f103029d7c9dc9f0a10e6ad79776af7:f630277fd79efd1705ed74c1a946ca68"
}
}
},
"dmail-admin": {
"hasPersistentData": false,
"projectId": "8ed679e8-397c-41ca-88d8-3da6d8d35eba",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-31T09:45:32.827Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-31T09:50:40.182Z"
},
{
"version": 2,
"timeStamp": "2026-05-31T09:55:23.525Z"
},
{
"version": 3,
"timeStamp": "2026-05-31T10:05:20.236Z"
},
{
"version": 4,
"timeStamp": "2026-05-31T10:09:36.667Z"
},
{
"version": 5,
"timeStamp": "2026-05-31T10:11:03.716Z"
},
{
"version": 6,
"timeStamp": "2026-05-31T10:15:55.480Z"
},
{
"version": 7,
"timeStamp": "2026-05-31T10:16:19.493Z"
},
{
"version": 8,
"timeStamp": "2026-05-31T10:39:58.808Z"
},
{
"version": 9,
"timeStamp": "2026-05-31T10:57:30.775Z"
},
{
"version": 10,
"timeStamp": "2026-05-31T11:06:50.789Z"
},
{
"version": 11,
"timeStamp": "2026-05-31T11:29:15.675Z",
"deployedImageName": "img-captain-dmail-admin:11",
"gitHash": "aa4da4362d90fb68c038b85e67e33b7443833632\n"
},
{
"version": 12,
"timeStamp": "2026-05-31T11:42:56.594Z"
},
{
"version": 13,
"timeStamp": "2026-05-31T11:53:57.378Z"
},
{
"version": 14,
"timeStamp": "2026-05-31T12:09:31.393Z"
},
{
"version": 15,
"timeStamp": "2026-05-31T12:44:28.727Z",
"deployedImageName": "img-captain-dmail-admin:15",
"gitHash": "b33879b85be331071cc90eb5b71d4a682c2b44d2\n"
}
],
"deployedVersion": 15,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dmail-admin.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"appPushWebhook": {
"tokenVersion": "8673c1d1-8ba6-4a6a-9e2e-3d2d7768f67e",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6Ijg2NzNjMWQxLThiYTYtNGE2YS05ZTJlLTNkMmQ3NzY4ZjY3ZSIsImFwcE5hbWUiOiJkbWFpbC1hZG1pbiIsIm5hbWVzcGFjZSI6ImNhcHRhaW4ifSwiaWF0IjoxNzgwMjIwODQ3fQ.--dy0QEeEenXpDp3nCznhDXSBJKIfmzpImk6FE5VJ_4",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dmail-admin",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "master",
"passwordEncrypted": "45f84b1835997b8547858db7b8d5c6e7:e555ae620ad499e9580bb721d2c1f36b"
}
},
"containerHttpPort": 80,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
}
},
"dmenu-admin": {
"hasPersistentData": false,
"projectId": "64feebc1-5645-488e-a938-9776f26cef5a",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-31T12:39:24.045Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-31T12:41:06.075Z"
},
{
"version": 2,
"timeStamp": "2026-05-31T13:00:30.493Z"
},
{
"version": 3,
"timeStamp": "2026-05-31T13:04:41.128Z"
},
{
"version": 4,
"timeStamp": "2026-05-31T13:11:33.415Z"
},
{
"version": 5,
"timeStamp": "2026-05-31T13:25:43.549Z"
},
{
"version": 6,
"timeStamp": "2026-05-31T13:32:53.319Z"
},
{
"version": 7,
"timeStamp": "2026-05-31T17:37:55.569Z"
},
{
"version": 8,
"timeStamp": "2026-05-31T18:12:05.214Z"
},
{
"version": 9,
"timeStamp": "2026-05-31T18:16:04.315Z"
},
{
"version": 10,
"timeStamp": "2026-05-31T20:08:13.242Z"
},
{
"version": 11,
"timeStamp": "2026-06-01T05:35:28.215Z"
},
{
"version": 12,
"timeStamp": "2026-06-01T05:43:51.719Z"
},
{
"version": 13,
"timeStamp": "2026-06-01T06:18:05.891Z"
},
{
"version": 14,
"timeStamp": "2026-06-01T06:24:06.147Z"
},
{
"version": 15,
"timeStamp": "2026-06-01T06:27:48.768Z"
},
{
"version": 16,
"timeStamp": "2026-06-01T06:31:41.690Z"
},
{
"version": 17,
"timeStamp": "2026-06-01T06:36:39.793Z",
"deployedImageName": "img-captain-dmenu-admin:17",
"gitHash": "d9e6c874664424c9fdd984fb0fcc3593cbae8f88\n"
},
{
"version": 18,
"timeStamp": "2026-06-01T06:42:46.130Z",
"deployedImageName": "img-captain-dmenu-admin:18",
"gitHash": "6ed440b14f1f1871030f7c399e102eafa074db8a\n"
},
{
"version": 19,
"timeStamp": "2026-06-01T06:59:58.175Z",
"deployedImageName": "img-captain-dmenu-admin:19",
"gitHash": "5f55917f11eceeebd712babf73c80ed32595670a\n"
},
{
"version": 20,
"timeStamp": "2026-06-01T07:13:46.629Z",
"deployedImageName": "img-captain-dmenu-admin:20",
"gitHash": "28b16064b1b747bc0c54d1354f5d57d647d2c63c\n"
},
{
"version": 21,
"timeStamp": "2026-06-02T11:32:55.492Z",
"deployedImageName": "img-captain-dmenu-admin:21",
"gitHash": "42c5e68b29ed3f6dc75c0b0e9b8d98f7b2852645\n"
},
{
"version": 22,
"timeStamp": "2026-06-02T13:19:31.611Z",
"deployedImageName": "img-captain-dmenu-admin:22",
"gitHash": "94c6a9663b45338e7d1c18764b41fa97a650de1a\n"
},
{
"version": 23,
"timeStamp": "2026-06-03T07:37:09.021Z",
"deployedImageName": "img-captain-dmenu-admin:23",
"gitHash": "c404ac14be198a469ece96229947ecefac1c4886\n"
}
],
"deployedVersion": 23,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dmenu-admin.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"appPushWebhook": {
"tokenVersion": "a275dd6c-74ce-4a80-bb73-09db76f321e2",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6ImEyNzVkZDZjLTc0Y2UtNGE4MC1iYjczLTA5ZGI3NmYzMjFlMiIsImFwcE5hbWUiOiJkbWVudS1hZG1pbiIsIm5hbWVzcGFjZSI6ImNhcHRhaW4ifSwiaWF0IjoxNzgwMjMxMjYxfQ.qiNVt96pOsYD1eNI7Kf2j4FEA3PiLIJNBch_D-32sa8",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dmenu-admin",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "production",
"passwordEncrypted": "a9292135b980109d0c32d506ffc6efcd:e74df0aee007b1e78ac9ef8405f7edf0"
}
},
"containerHttpPort": 80,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
},
"customNginxConfig": ""
},
"dmail-front": {
"hasPersistentData": false,
"projectId": "8ed679e8-397c-41ca-88d8-3da6d8d35eba",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-31T13:06:52.686Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-31T13:13:55.980Z"
},
{
"version": 2,
"timeStamp": "2026-05-31T13:41:30.506Z"
},
{
"version": 3,
"timeStamp": "2026-06-01T05:25:16.365Z",
"deployedImageName": "img-captain-dmail-front:3",
"gitHash": "fd25fe77754b24e618cece44fde701eb4f01ffe1\n"
}
],
"deployedVersion": 3,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dmail.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"appPushWebhook": {
"tokenVersion": "5751daf9-73ea-42b2-acdd-169b4b125e26",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6IjU3NTFkYWY5LTczZWEtNDJiMi1hY2RkLTE2OWI0YjEyNWUyNiIsImFwcE5hbWUiOiJkbWFpbC1mcm9udCIsIm5hbWVzcGFjZSI6ImNhcHRhaW4ifSwiaWF0IjoxNzgwMjMyODMxfQ.s2OTYvmU-RWuJx_nA_bu7dnF9n7LhXVQm4Z-cXYQFuY",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dmail-front.git",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "master",
"passwordEncrypted": "317652cd98b588760c0ca420b93828f8:9adc05aff8e940f806a40b481deb2625"
}
},
"containerHttpPort": 80,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
}
},
"dsc-api": {
"hasPersistentData": false,
"projectId": "82fddec7-d91c-4f4c-9361-ff1444e9b8ad",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [
{
"key": "NODE_ENV",
"value": "production"
},
{
"key": "PORT",
"value": "3500"
},
{
"key": "DB_HOST",
"value": "srv-captain--postgres-db"
},
{
"key": "DB_PORT",
"value": "5432"
},
{
"key": "DB_NAME",
"value": "dsc"
},
{
"key": "DB_USER",
"value": "danak"
},
{
"key": "DB_PASS",
"value": "48ae186c32f8b69d"
},
{
"key": "SMS_API_URL",
"value": "https://api.sms.ir/v1"
},
{
"key": "SMS_API_KEY",
"value": "QkkNxhyXZ6GtEf1soOTtikomO3mA4LaNQDH8mol8huDIwh00"
},
{
"key": "SMS_PATTERN_OTP",
"value": "842088"
},
{
"key": "SMS_PATTERN_INVOICE",
"value": "683883"
},
{
"key": "SMS_PATTERN_LOGIN",
"value": "149141"
},
{
"key": "SMS_PATTERN_INVOICE_CREATED",
"value": "829067"
},
{
"key": "SMS_PATTERN_ANNOUNCEMENT",
"value": "752330"
},
{
"key": "SMS_PATTERN_WALLET_CHARGE",
"value": "727726"
},
{
"key": "SMS_PATTERN_WALLET_DEDUCTION",
"value": "360785"
},
{
"key": "SMS_PATTERN_TICKET_CREATED",
"value": "853506"
},
{
"key": "SMS_PATTERN_TICKET_ANSWERED",
"value": "179464"
},
{
"key": "SMS_PATTERN_TICKET_ASSIGNED_ADMIN",
"value": "321927"
},
{
"key": "SMS_PATTERN_INVOICE_APPROVED",
"value": "303807"
},
{
"key": "SMS_PATTERN_INVOICE_PAID",
"value": "533817"
},
{
"key": "SMS_PATTERN_RECURRING_INVOICE_DRAFT",
"value": "219287"
},
{
"key": "SMS_PATTERN_SUBSCRIPTION_CANCELLED",
"value": "166142"
},
{
"key": "SMS_PATTERN_INVOICE_REMINDER",
"value": "370266"
},
{
"key": "SMS_PATTERN_INVOICE_OVERDUE",
"value": "160735"
},
{
"key": "SMS_PATTERN_PAYMENT_REMINDER",
"value": "629772"
},
{
"key": "SMS_PATTERN_PAYMENT_CANCELLATION",
"value": "197945"
},
{
"key": "SMS_PATTERN_BLOG_NEW_COMMENT",
"value": "378881"
},
{
"key": "SMS_PATTERN_NEW_SERVICE_REVIEW",
"value": "593446"
},
{
"key": "SMS_PATTERN_NEW_CUSTOMER",
"value": "966214"
},
{
"key": "SMS_PATTERN_NEW_SUBSCRIPTION",
"value": "757095"
},
{
"key": "SMS_PATTERN_NEW_TICKET_GLOBAL",
"value": "536596"
},
{
"key": "SMS_PATTERN_NEW_CRITICISM",
"value": "983724"
},
{
"key": "SMS_PATTERN_USER_PASSWORD",
"value": "486237"
},
{
"key": "SMTP_HOST",
"value": "smtps.danakcorp.com"
},
{
"key": "SMTP_PORT",
"value": "465"
},
{
"key": "SMTP_USER",
"value": "no-reply-danakcorp.com"
},
{
"key": "SMTP_PASS",
"value": "Mahyar.SR4@"
},
{
"key": "MAIL_FROM",
"value": "no-reply <no-reply@danakcorp.com>"
},
{
"key": "EMAIL_SECRET",
"value": "xDkdptbC2N7LoR2Aa4Q9U/aAGOi4DxG2748"
},
{
"key": "REDIS_URI",
"value": "redis://srv-captain--redis:6379/2"
},
{
"key": "CACHE_TTL",
"value": "180000"
},
{
"key": "THROTTLE_TTL",
"value": "300000"
},
{
"key": "THROTTLE_LIMIT",
"value": "10"
},
{
"key": "JWT_SECRET_KEY",
"value": "2ygxIB1PJhK/L2PToqR3+52gRmUIdPfwTguYlB7ZRCdRyvA/N36jjkjbYJLoMxEL\n6xGmk5CQmCmn9c0FsBlN1g"
},
{
"key": "JWT_ISSUER",
"value": "console-danak"
},
{
"key": "ACCESS_TOKEN_EXPIRE",
"value": "80000"
},
{
"key": "REFRESH_TOKEN_EXPIRE",
"value": "6"
},
{
"key": "BUCKET_NAME",
"value": "danak-project"
},
{
"key": "BUCKET_REGION",
"value": "default"
},
{
"key": "BUCKET_URL",
"value": "https://s3.ir-thr-at1.arvanstorage.ir"
},
{
"key": "BUCKET_ACCESS_KEY",
"value": "4bd15218-60f1-4ce7-a7aa-3fd319b13372"
},
{
"key": "BUCKET_SECRET_KEY",
"value": "de772e5bd62fb04fb3669e67e09ddb101db60c65d77eea66b215ce58275e6a76"
},
{
"key": "BUCKET_UPLOAD_URL",
"value": "https://storage.danakcorp.com"
},
{
"key": "ZARINPAL_MERCHANT_ID",
"value": "fc0b7503-bba5-40d1-9f9d-dae52ac02eef"
},
{
"key": "PARSIAN_LOGIN_ACCOUNT",
"value": "uqXnB2q8rjkL6vN0xOh0"
},
{
"key": "SITE_URL",
"value": "https://console.danakcorp.com"
},
{
"key": "API_URL",
"value": "https://api.danakcorp.com"
},
{
"key": "CALLBACK_URL",
"value": "https://api.danakcorp.com/payments/verify"
},
{
"key": "TELEGRAM_BOT_TOKEN",
"value": "7839690719:AAGsyfwympR4rDLm2JCx43CQh52s1o865uY"
},
{
"key": "TELEGRAM_BOT_NAME",
"value": "danak_logs_bot"
},
{
"key": "TELEGRAM_CHAT_ID",
"value": "7801476800"
},
{
"key": "EXTERNAL_API_KEYS",
"value": "uqXssnB2q8rs2soa9almm1jkL6vN0xOh0"
},
{
"key": "DMENU_BACKEND_URL",
"value": "https://dmenu-api.danakcorp.com"
},
{
"key": "DMENU_USERNAME",
"value": "danak@dsc.com"
},
{
"key": "DMENU_PASSWORD",
"value": "DsCdAnAk?@ABC"
},
{
"key": "DKALA_BACKEND_URL",
"value": "https://dkala-api.danakcorp.com"
},
{
"key": "DKALA_USERNAME",
"value": "danak@dsc.com"
},
{
"key": "DKALA_PASSWORD",
"value": "DsCdAnAk?@ABC"
},
{
"key": "DPAGE_BACKEND_URL",
"value": "https://dpage-api.danakcorp.com"
},
{
"key": "DPAGE_USERNAME",
"value": "danak@dsc.com"
},
{
"key": "DPAGE_PASSWORD",
"value": "DsCdAnAk?@ABC"
},
{
"key": "DMAIL_BACKEND_URL",
"value": "https://dmail-api.danakcorp.com"
},
{
"key": "DMAIL_USERNAME",
"value": "danak@dsc.com"
},
{
"key": "DMAIL_PASSWORD",
"value": "DsCdAnAk?@ABC"
}
],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-05-31T18:26:33.901Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-05-31T18:32:24.294Z"
},
{
"version": 2,
"timeStamp": "2026-06-01T07:18:14.588Z"
},
{
"version": 3,
"timeStamp": "2026-06-01T07:42:38.368Z"
},
{
"version": 4,
"timeStamp": "2026-06-01T07:46:40.925Z"
},
{
"version": 5,
"timeStamp": "2026-06-01T07:49:40.546Z"
},
{
"version": 6,
"timeStamp": "2026-06-01T07:57:12.322Z"
},
{
"version": 7,
"timeStamp": "2026-06-01T08:04:38.080Z"
},
{
"version": 8,
"timeStamp": "2026-06-01T08:06:32.702Z"
},
{
"version": 9,
"timeStamp": "2026-06-01T08:30:31.070Z"
},
{
"version": 10,
"timeStamp": "2026-06-01T08:53:04.674Z"
},
{
"version": 11,
"timeStamp": "2026-06-01T09:15:19.716Z"
},
{
"version": 12,
"timeStamp": "2026-06-01T09:21:54.965Z"
},
{
"version": 13,
"timeStamp": "2026-06-01T09:24:38.534Z"
},
{
"version": 14,
"timeStamp": "2026-06-01T09:35:05.652Z"
},
{
"version": 15,
"timeStamp": "2026-06-01T10:43:22.260Z"
},
{
"version": 16,
"timeStamp": "2026-06-01T12:15:44.646Z",
"deployedImageName": "img-captain-dsc-api:16",
"gitHash": "8adea37c18ea12992be6bbf3000ef4c8c20b79b2\n"
},
{
"version": 17,
"timeStamp": "2026-06-01T13:20:58.453Z",
"deployedImageName": "img-captain-dsc-api:17",
"gitHash": "3bdb3031018e1237490e5f3c4ae7d2efdc391377\n"
},
{
"version": 18,
"timeStamp": "2026-06-07T12:45:17.970Z",
"deployedImageName": "img-captain-dsc-api:18",
"gitHash": "9e65be2c5849039a7e04a1192fc1d99a04cbddf5\n"
}
],
"deployedVersion": 18,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "api.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"containerHttpPort": 3500,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
},
"appPushWebhook": {
"tokenVersion": "e20ed131-3013-4609-a801-75611f1bc135",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6ImUyMGVkMTMxLTMwMTMtNDYwOS1hODAxLTc1NjExZjFiYzEzNSIsImFwcE5hbWUiOiJkc2MtYXBpIiwibmFtZXNwYWNlIjoiY2FwdGFpbiJ9LCJpYXQiOjE3ODAyNTIzNDB9.nGhG1v68GJ_7cp0k4RNLN0N-N7l8C20ldRt1uG0RhJs",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dsc-api",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "main",
"passwordEncrypted": "e6f013a7031417068dbefd7f10ed17bf:a6a49e7045139b3ee06bc087fbc0cfdd"
}
}
},
"admin-panel": {
"hasPersistentData": false,
"projectId": "82fddec7-d91c-4f4c-9361-ff1444e9b8ad",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-06-01T07:36:12.591Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-06-01T07:39:45.834Z",
"deployedImageName": "img-captain-admin-panel:1",
"gitHash": "e0d0017a10d770bfd96670a7a24a07bd451f9051\n"
},
{
"version": 2,
"timeStamp": "2026-06-03T09:42:08.636Z",
"deployedImageName": "img-captain-admin-panel:2",
"gitHash": "19b47df5b15551b35549ba3aef7d029110975b7c\n"
}
],
"deployedVersion": 2,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "admin-panel.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"appPushWebhook": {
"tokenVersion": "8b2ba01e-7073-48e6-af66-39a5d97b0f40",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6IjhiMmJhMDFlLTcwNzMtNDhlNi1hZjY2LTM5YTVkOTdiMGY0MCIsImFwcE5hbWUiOiJhZG1pbi1wYW5lbCIsIm5hbWVzcGFjZSI6ImNhcHRhaW4ifSwiaWF0IjoxNzgwMjk5NTQ2fQ.cj4NJ5UhoV1ZLm8BgZxdbRGJnxjhWuHP8-SKVWr7i7A",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/danak-admin.git",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "master",
"passwordEncrypted": "1b24c82e7c67c569be2d66c3900cea30:c7167074910e400fd03b6bdb0c56b525"
}
},
"containerHttpPort": 80,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
}
},
"console": {
"hasPersistentData": false,
"projectId": "82fddec7-d91c-4f4c-9361-ff1444e9b8ad",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-06-01T08:15:50.195Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-06-01T08:26:28.510Z"
},
{
"version": 2,
"timeStamp": "2026-06-01T08:32:00.381Z",
"deployedImageName": "img-captain-console:2",
"gitHash": "6bc8a24683bb3840032a2c76a232806f27f82f10\n"
}
],
"deployedVersion": 2,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "console.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"appPushWebhook": {
"tokenVersion": "cef69140-8d05-4606-b77a-5380d1cf2656",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6ImNlZjY5MTQwLThkMDUtNDYwNi1iNzdhLTUzODBkMWNmMjY1NiIsImFwcE5hbWUiOiJjb25zb2xlIiwibmFtZXNwYWNlIjoiY2FwdGFpbiJ9LCJpYXQiOjE3ODAzMDE4Mjh9.NUcQsccRvJMRL_eJUEDMRQH-LzMu1zqD45aAjjzsP08",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/danak-console.git",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "master",
"passwordEncrypted": "8668f655b38fc562ccb4e9e792d1be72:fe90ce818990254c6d19c307df735a79"
}
},
"containerHttpPort": 80,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
}
},
"website": {
"hasPersistentData": false,
"projectId": "82fddec7-d91c-4f4c-9361-ff1444e9b8ad",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-06-01T09:05:31.972Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-06-01T09:14:31.617Z"
},
{
"version": 2,
"timeStamp": "2026-06-01T09:43:36.772Z"
},
{
"version": 3,
"timeStamp": "2026-06-01T11:04:23.844Z"
},
{
"version": 4,
"timeStamp": "2026-06-01T11:14:47.797Z"
},
{
"version": 5,
"timeStamp": "2026-06-01T12:00:15.046Z"
},
{
"version": 6,
"timeStamp": "2026-06-05T10:04:02.771Z"
},
{
"version": 7,
"timeStamp": "2026-06-05T10:27:02.650Z",
"deployedImageName": "img-captain-website:7",
"gitHash": "4e1261f96be2534e93a6b36394d761807cba24ca\n"
}
],
"deployedVersion": 7,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"appPushWebhook": {
"tokenVersion": "729be92b-f483-42d7-9d0e-ecb2b7cc0630",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6IjcyOWJlOTJiLWY0ODMtNDJkNy05ZDBlLWVjYjJiN2NjMDYzMCIsImFwcE5hbWUiOiJ3ZWJzaXRlIiwibmFtZXNwYWNlIjoiY2FwdGFpbiJ9LCJpYXQiOjE3ODAzMDQ3NDF9.ADRUY1yPE1pAV2I2lY8nm-8-4zaA9Q4cIKf0Gy_iMq4",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/danak-website.git",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "master",
"passwordEncrypted": "124c0fb842581801d73dbe0a79c735d2:8a823656f66049943c4a9fec478ab314"
}
},
"containerHttpPort": 3000,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
}
},
"postgres-db": {
"hasPersistentData": true,
"projectId": "094d89f8-f16f-4258-8fbe-0c3a53aa2952",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [
{
"key": "POSTGRES_USER",
"value": "danak"
},
{
"key": "POSTGRES_PASSWORD",
"value": "48ae186c32f8b69d"
},
{
"key": "POSTGRES_DB",
"value": "dmenu"
}
],
"volumes": [
{
"containerPath": "/var/lib/postgresql/data",
"volumeName": "postgres-data"
}
],
"ports": [
{
"hostPort": 5432,
"containerPort": 5432
}
],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-06-02T13:31:26.631Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-06-02T13:34:55.815Z",
"deployedImageName": "postgres:16",
"gitHash": ""
},
{
"version": 2,
"timeStamp": "2026-06-03T06:33:06.916Z",
"deployedImageName": "postgres:16",
"gitHash": ""
}
],
"deployedVersion": 2,
"notExposeAsWebApp": true,
"customDomain": [],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"containerHttpPort": 80,
"nodeId": "vf60j0m9hlskifwb7jhbcuu1y",
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
}
},
"dkala-admin": {
"hasPersistentData": false,
"projectId": "548c4c35-f008-4ace-9918-18535a08cb5d",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-06-03T05:51:26.573Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-06-03T05:53:21.471Z"
},
{
"version": 2,
"timeStamp": "2026-06-03T06:03:27.998Z"
},
{
"version": 3,
"timeStamp": "2026-06-03T06:04:26.684Z"
},
{
"version": 4,
"timeStamp": "2026-06-03T06:07:55.552Z",
"deployedImageName": "img-captain-dkala-admin:4",
"gitHash": "934c50dc650dc0c0d5ed7d520920cf8ff827f421\n"
}
],
"deployedVersion": 4,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dkala-admin.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"appPushWebhook": {
"tokenVersion": "fede1638-9ef5-4fd7-b6f9-df614b64d309",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6ImZlZGUxNjM4LTllZjUtNGZkNy1iNmY5LWRmNjE0YjY0ZDMwOSIsImFwcE5hbWUiOiJka2FsYS1hZG1pbiIsIm5hbWVzcGFjZSI6ImNhcHRhaW4ifSwiaWF0IjoxNzgwNDY1OTg4fQ.iPpXPf0m29OmaQKoBmxP1zyZU6jpYJcBbzeOXvuqRQo",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dkala-admin.git",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "main",
"passwordEncrypted": "ec76383c18a9b1b21e59566746f0b69e:59b7b44eff12a3278f5865d6c178223a"
}
},
"containerHttpPort": 80,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
}
},
"dzone-api": {
"hasPersistentData": false,
"projectId": "5012a293-2f54-42d6-b136-12c7473394db",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [
{
"key": "NODE_ENV",
"value": "production"
},
{
"key": "PORT",
"value": "4000"
},
{
"key": "DB_HOST",
"value": "srv-captain--postgres-db"
},
{
"key": "DB_PORT",
"value": "5432"
},
{
"key": "DB_NAME",
"value": "dzone"
},
{
"key": "DB_USER",
"value": "danak"
},
{
"key": "DB_PASS",
"value": "48ae186c32f8b69d"
},
{
"key": "SMS_API_URL",
"value": "https://api.sms.ir/v1"
},
{
"key": "SMS_API_KEY",
"value": "QkkNxhyXZ6GtEf1soOTtikomO3mA4LaNQDH8mol8huDIwh00"
},
{
"key": "SMS_PATTERN_OTP",
"value": "842088"
},
{
"key": "SMS_PATTERN_INVOICE",
"value": "683883"
},
{
"key": "SMS_PATTERN_LOGIN",
"value": "149141"
},
{
"key": "SMS_PATTERN_INVOICE_CREATED",
"value": "829067"
},
{
"key": "SMS_PATTERN_ANNOUNCEMENT",
"value": "752330"
},
{
"key": "SMS_PATTERN_TICKET_CREATED",
"value": "853506"
},
{
"key": "SMS_PATTERN_TICKET_ANSWERED",
"value": "179464"
},
{
"key": "SMS_PATTERN_TICKET_ASSIGNED_ADMIN",
"value": "321927"
},
{
"key": "SMS_PATTERN_INVOICE_APPROVED",
"value": "303807"
},
{
"key": "SMS_PATTERN_INVOICE_PAID",
"value": "533817"
},
{
"key": "SMS_PATTERN_RECURRING_INVOICE_DRAFT",
"value": "219287"
},
{
"key": "SMS_PATTERN_SUBSCRIPTION_CANCELLED",
"value": "166142"
},
{
"key": "SMS_PATTERN_INVOICE_REMINDER",
"value": "370266"
},
{
"key": "SMS_PATTERN_INVOICE_OVERDUE",
"value": "160735"
},
{
"key": "SMS_PATTERN_PAYMENT_REMINDER",
"value": "629772"
},
{
"key": "SMS_PATTERN_PAYMENT_CANCELLATION",
"value": "197945"
},
{
"key": "REDIS_URI",
"value": "redis://srv-captain--redis:6379/4"
},
{
"key": "CACHE_TTL",
"value": "180000"
},
{
"key": "THROTTLE_TTL",
"value": "300000"
},
{
"key": "THROTTLE_LIMIT",
"value": "10"
},
{
"key": "JWT_SECRET",
"value": "2ygxIB1PJhK/L2PToqR3+52gRmUIdPfswTguYlB7ZRCdRyvA/N36jjkjbYJLoMxEL\n6xGmk5CQmCmn9c0FsBlN1g"
},
{
"key": "JWT_ISSUER",
"value": "dzone"
},
{
"key": "ACCESS_TOKEN_EXPIRE",
"value": "30"
},
{
"key": "REFRESH_TOKEN_EXPIRE",
"value": "6"
},
{
"key": "SMTP_HOST",
"value": "cp85.mihanbank.com"
},
{
"key": "SMTP_PORT",
"value": "465"
},
{
"key": "SMTP_USER",
"value": "no-reply@danakcorp.com"
},
{
"key": "SMTP_PASS",
"value": "c=ST.wS;9wb,"
},
{
"key": "MAIL_FROM",
"value": "no-reply@danakcorp.com"
},
{
"key": "EMAIL_SECRET",
"value": "xDkdptbC2N7LoR2Aa4Q9U/aAGOi4DxG2748"
},
{
"key": "BUCKET_NAME",
"value": "danak-project"
},
{
"key": "BUCKET_REGION",
"value": "default"
},
{
"key": "BUCKET_URL",
"value": "https://s3.ir-thr-at1.arvanstorage.ir"
},
{
"key": "BUCKET_ACCESS_KEY",
"value": "4bd15218-60f1-4ce7-a7aa-3fd319b13372"
},
{
"key": "BUCKET_SECRET_KEY",
"value": "de772e5bd62fb04fb3669e67e09ddb101db60c65d77eea66b215ce58275e6a76"
},
{
"key": "BUCKET_UPLOAD_URL",
"value": "https://storage.danakcorp.com"
},
{
"key": "IPG_TYPE",
"value": "sandbox"
},
{
"key": "ZARINPAL_MERCHANT_ID",
"value": "fc0b7503-bba5-40d1-9f9d-dae52ac02eef"
},
{
"key": "SITE_URL",
"value": "https://dzone.danakcorp.com"
},
{
"key": "API_URL",
"value": "https://api-dzone.danakcorp.com"
},
{
"key": "ZARINPAL_API_URL",
"value": "zarinpal.com/pg"
},
{
"key": "CALLBACK_URL",
"value": "https://api-dzone.danakcorp.com/payments/verify"
},
{
"key": "CAPROVER_API_URL",
"value": "https://captain.dev.danakcorp.com/api/v2"
},
{
"key": "CAPROVER_EMAIL",
"value": "me"
},
{
"key": "CAPROVER_AUTH_TOKEN",
"value": ""
},
{
"key": "CAPROVER_PASSWORD",
"value": "WSNEaUAg3N3vST3"
},
{
"key": "CAPROVER_APP_NAME",
"value": "dzone"
},
{
"key": "GEMINI_API_KEY",
"value": "AIzaSyAQUWDn3-4jjVv38uWnDFAe933yb38737U"
},
{
"key": "GEMINI_MODEL",
"value": "gemini-2.0-flash"
}
],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-06-03T08:09:59.517Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-06-03T08:12:59.892Z"
},
{
"version": 2,
"timeStamp": "2026-06-03T08:35:10.522Z"
},
{
"version": 3,
"timeStamp": "2026-06-03T08:41:27.279Z"
},
{
"version": 4,
"timeStamp": "2026-06-03T08:44:36.341Z"
},
{
"version": 5,
"timeStamp": "2026-06-03T08:45:58.911Z"
},
{
"version": 6,
"timeStamp": "2026-06-03T08:47:28.455Z"
},
{
"version": 7,
"timeStamp": "2026-06-03T08:59:51.896Z",
"deployedImageName": "img-captain-dzone-api:7",
"gitHash": "a548a4e196647f4a2124eee264fc103b009671e9\n"
}
],
"deployedVersion": 7,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "api-dzone.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"containerHttpPort": 4000,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
},
"appPushWebhook": {
"tokenVersion": "de1f111e-96ba-4aeb-a259-b8f23857e508",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6ImRlMWYxMTFlLTk2YmEtNGFlYi1hMjU5LWI4ZjIzODU3ZTUwOCIsImFwcE5hbWUiOiJkem9uZS1hcGkiLCJuYW1lc3BhY2UiOiJjYXB0YWluIn0sImlhdCI6MTc4MDQ3NDM1N30.a18RmlINTbzDLk1mwMyD_a7VzNfXqtASz2K8_jYcGt8",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dzone-api",
"user": "tech@danakcorp.com",
"branch": "main",
"password": "",
"sshKey": "",
"passwordEncrypted": "1539d3a3af2a1ba56eecc47499261f44:0b0463de35860cb190a1f97634cfff43"
}
}
},
"help": {
"hasPersistentData": false,
"projectId": "82fddec7-d91c-4f4c-9361-ff1444e9b8ad",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-06-06T05:45:13.645Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-06-06T05:47:08.395Z"
},
{
"version": 2,
"timeStamp": "2026-06-06T05:50:26.992Z"
},
{
"version": 3,
"timeStamp": "2026-06-06T05:53:07.641Z"
},
{
"version": 4,
"timeStamp": "2026-06-06T05:57:18.374Z"
},
{
"version": 5,
"timeStamp": "2026-06-06T06:26:59.828Z"
},
{
"version": 6,
"timeStamp": "2026-06-06T06:35:00.338Z"
},
{
"version": 7,
"timeStamp": "2026-06-06T06:36:08.910Z",
"deployedImageName": "img-captain-help:7",
"gitHash": "c0ea94930148135e0cb34c631c3d1aed0a5de688\n"
},
{
"version": 8,
"timeStamp": "2026-06-06T06:46:27.551Z",
"deployedImageName": "img-captain-help:8",
"gitHash": "c0ea94930148135e0cb34c631c3d1aed0a5de688\n"
}
],
"deployedVersion": 8,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "help.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"appPushWebhook": {
"tokenVersion": "a7404b26-9fa8-405c-a0b9-524f8e685b26",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6ImE3NDA0YjI2LTlmYTgtNDA1Yy1hMGI5LTUyNGY4ZTY4NWIyNiIsImFwcE5hbWUiOiJoZWxwIiwibmFtZXNwYWNlIjoiY2FwdGFpbiJ9LCJpYXQiOjE3ODA3MjQ4MDd9.Td4Syfv-3P8_hfDNTbqkrLgLlOUqQVFOpquD0Liey_s",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/help",
"user": "tech@danakcorp.com",
"password": "",
"sshKey": "",
"branch": "master",
"passwordEncrypted": "a9bd78390b52b6c890b61ffabc70aeb6:b0d8196251cd76c1791deea30a4e192a"
}
},
"containerHttpPort": 80,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
}
},
"dzone-front": {
"hasPersistentData": false,
"projectId": "5012a293-2f54-42d6-b136-12c7473394db",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-06-06T06:52:28.426Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-06-06T06:53:41.223Z"
},
{
"version": 2,
"timeStamp": "2026-06-06T06:56:18.784Z"
},
{
"version": 3,
"timeStamp": "2026-06-06T07:04:46.475Z"
},
{
"version": 4,
"timeStamp": "2026-06-06T07:04:55.302Z"
},
{
"version": 5,
"timeStamp": "2026-06-06T07:07:45.125Z",
"deployedImageName": "img-captain-dzone-front:5",
"gitHash": "b45649212e8f07dd5fa1b45edd12da4775bea1fc\n"
}
],
"deployedVersion": 5,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "dzone.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": true,
"appPushWebhook": {
"tokenVersion": "73055f46-e7ce-4300-a2cb-d71dc777c9b4",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6IjczMDU1ZjQ2LWU3Y2UtNDMwMC1hMmNiLWQ3MWRjNzc3YzliNCIsImFwcE5hbWUiOiJkem9uZS1mcm9udCIsIm5hbWVzcGFjZSI6ImNhcHRhaW4ifSwiaWF0IjoxNzgwNzI4ODEwfQ.DhlEX3JUJotUIW0nhb7f8TD_4PnmEFzzEtb1NBrEoCQ",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dzone-front",
"user": "tech@danakcorp.com",
"branch": "master",
"password": "",
"sshKey": "",
"passwordEncrypted": "0bda36855300d9c7733a61be54cec0b1:46a408aceb43df9b114232568e57df7d"
}
},
"containerHttpPort": 80,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
}
},
"dzone-admin": {
"hasPersistentData": false,
"projectId": "5012a293-2f54-42d6-b136-12c7473394db",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-06-06T07:04:45.128Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-06-06T07:22:33.185Z",
"deployedImageName": "img-captain-dzone-admin:1",
"gitHash": "ad9433bfb63947b0c96757342f059efa7574a3ae\n"
}
],
"deployedVersion": 1,
"notExposeAsWebApp": false,
"customDomain": [
{
"publicDomain": "admin-dzone.danakcorp.com",
"hasSsl": false
}
],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false,
"containerHttpPort": 80,
"preDeployFunction": "",
"serviceUpdateOverride": "",
"appDeployTokenConfig": {
"enabled": false
},
"appPushWebhook": {
"tokenVersion": "e37c3897-5d4a-4607-afb5-1f209a037cd7",
"pushWebhookToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InRva2VuVmVyc2lvbiI6ImUzN2MzODk3LTVkNGEtNDYwNy1hZmI1LTFmMjA5YTAzN2NkNyIsImFwcE5hbWUiOiJkem9uZS1hZG1pbiIsIm5hbWVzcGFjZSI6ImNhcHRhaW4ifSwiaWF0IjoxNzgwNzMwNTQ3fQ.os-KlXMrw0Vj6nr8WlZWMwEzOzy0JwamiEUcVyz2j2Y",
"repoInfo": {
"repo": "https://git.danakcorp.com/danak/dzone-admin",
"user": "tech@danakcorp.com",
"branch": "master",
"password": "",
"sshKey": "",
"passwordEncrypted": "7560bdab446e738cd5f20f833e51f475:2444132f0f49011415eda425d43d3ba4"
}
}
},
"test": {
"hasPersistentData": false,
"projectId": "",
"description": "",
"instanceCount": 1,
"captainDefinitionRelativeFilePath": "./captain-definition",
"networks": [
"captain-overlay-network"
],
"envVars": [],
"volumes": [],
"ports": [],
"tags": [],
"versions": [
{
"version": 0,
"timeStamp": "2026-06-07T17:05:43.693Z",
"deployedImageName": "caprover/caprover-placeholder-app:latest",
"gitHash": ""
},
{
"version": 1,
"timeStamp": "2026-06-07T17:06:23.187Z",
"deployedImageName": "nginxdemos/hello:latest",
"gitHash": ""
}
],
"deployedVersion": 1,
"notExposeAsWebApp": false,
"customDomain": [],
"hasDefaultSubDomainSsl": false,
"redirectDomain": "",
"forceSsl": false,
"websocketSupport": false
}
},
"nginxBaseConfig": "user nginx;\nworker_processes 1;\n\nerror_log /var/log/nginx/error.log warn;\npid /var/run/nginx.pid;\n\n\nevents {\n worker_connections 1024;\n}\n\n\nhttp {\n include /etc/nginx/mime.types;\n default_type application/octet-stream;\n\n geo $remote_addr $ip_in_log {\n\n # CIDR Range IPs:\n 172.16.0.0/12 0;\n 10.0.0.0/8 0;\n 192.168.0.0/16\t0;\n \n default 1;\n \n }\n\n log_format main '$remote_addr - $remote_user [$time_local] \"$host\" \"$request\" '\n '$status $body_bytes_sent \"$http_referer\" '\n '\"$http_user_agent\" \"$http_x_forwarded_for\"';\n\n access_log /var/log/nginx/access.log main if=$ip_in_log;\n\n sendfile on;\n #tcp_nopush on;\n\n keepalive_timeout 65;\n\n server_names_hash_bucket_size 128;\n\n ssl_session_cache shared:SSL:20m;\n ssl_session_timeout 1d;\n ssl_session_tickets off;\n\n # Mozilla Intermediate configuration. tweak to your needs.\n ssl_protocols TLSv1.2 TLSv1.3;\n ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;\n ssl_prefer_server_ciphers off;\n\n \n <%\n if (base.dhparamsFilePath) {\n %>\n ssl_dhparam <%-base.dhparamsFilePath%>;\n <%\n }\n %>\n\n # Don't emit NGINX version on error pages and in the “Server” response header field.\n server_tokens off;\n\n #gzip on;\n\n include /etc/nginx/conf.d/*.conf;\n}\n",
"nginxCaptainConfig": "\n# Default catch-all page. e.g. if you enter SOME-RANDOM-CHARS.captainroot.domain.com\n server {\n\n # Catch all HTTP\n listen 80;\n\n # Catch all HTTPS\n listen 443 ssl;\n ssl_certificate <%-fake.crtPath%>;\n ssl_certificate_key <%-fake.keyPath%>;\n\n server_name _;\n\n location /nginx_status {\n stub_status on;\n\n access_log off;\n\n # This can be improved by adding authentication as well.\n # CIDR Range IPs:\n allow 172.16.0.0/12;\n allow 10.0.0.0/8;\n allow 192.168.0.0/16;\n\n deny all;\n }\n\n location / {\n root <%-captain.defaultHtmlDir%>;\n index index.html index.htm;\n }\n\n error_page 404 /index.html;\n error_page 500 502 503 504 /error_generic_catch_all.html;\n }\n\n\n# Captain dashboard at captain.captainroot.domain.com\n server {\n\n\tlisten 80;\n\tclient_max_body_size 300m;\n\n\tgzip on;\n\tgzip_disable \"MSIE [1-6]\\.\";\n\tgzip_vary on;\n\tgzip_proxied any;\n\tgzip_comp_level 6;\n\tgzip_min_length 16000;\n\tgzip_buffers 16 8k;\n\tgzip_types\n\t\ttext/css\n\t\ttext/plain\n\t\ttext/javascript\n\t\tapplication/javascript\n\t\tapplication/json\n\t\tapplication/x-javascript\n\t\tapplication/xml\n\t\tapplication/xml+rss\n\t\tapplication/xhtml+xml\n\t\tapplication/x-font-ttf\n\t\tapplication/x-font-opentype\n\t\tapplication/vnd.ms-fontobject\n\t\timage/svg+xml\n\t\timage/x-icon\n\t\tapplication/rss+xml\n\t\tapplication/atom_xml;\n\n\n\n <%\n if (captain.hasRootSsl) {\n %>\n listen 443 ssl;\n ssl_certificate <%-captain.crtPath%>;\n ssl_certificate_key <%-captain.keyPath%>;\n\n <%\n }\n %>\n\n server_name <%-captain.domain%>;\n\n # 127.0.0.11 is DNS set up by Docker, see:\n # https://docs.docker.com/engine/userguide/networking/configure-dns/\n # https://github.com/moby/moby/issues/20026\n resolver 127.0.0.11 valid=10s;\n set $upstream http://<%-captain.serviceName%>:<%-captain.serviceExposedPort%>;\n\n # IMPORTANT!! Except proxy_read_timeout, this block should be same as location /api/v2/user/apps/appData\n location / {\n proxy_pass $upstream;\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header X-Forwarded-Proto $scheme;\n }\n\n # temporary until build process becomes an asynchronous process\n location /api/v2/user/apps/appData {\n proxy_pass $upstream;\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header X-Forwarded-Proto $scheme;\n\n proxy_read_timeout 120s;\n }\n\n # Used by Lets Encrypt\n location /.well-known/acme-challenge/ {\n root <%-captain.staticWebRoot%>;\n }\n\n # Used by CapRover for health check\n location /.well-known/captain-identifier {\n root <%-captain.staticWebRoot%>;\n }\n\n }\n\n\n\n# Built-in Docker Registry at registry.captainroot.domain.com\n# Port 80/443 is used by Let's Encrypt to support HTTPS\n# But the Registry engine runs on port 996\n server {\n\n listen 80;\n client_max_body_size 500m;\n\n <%\n if (registry.hasRootSsl) {\n %>\n listen 443 ssl;\n ssl_certificate <%-registry.crtPath%>;\n ssl_certificate_key <%-registry.keyPath%>;\n <%\n }\n %>\n\n server_name <%-registry.domain%>;\n\n location / {\n root <%-registry.staticWebRoot%>;\n }\n }\n",
"projectsDefinitions": {
"58efbc07-e8c1-4a47-bbc5-bb78f3c0e529": {
"id": "58efbc07-e8c1-4a47-bbc5-bb78f3c0e529",
"name": "dpage",
"parentProjectId": "",
"description": ""
},
"094d89f8-f16f-4258-8fbe-0c3a53aa2952": {
"id": "094d89f8-f16f-4258-8fbe-0c3a53aa2952",
"name": "database",
"parentProjectId": "",
"description": "postgres, mongo and redis"
},
"64feebc1-5645-488e-a938-9776f26cef5a": {
"id": "64feebc1-5645-488e-a938-9776f26cef5a",
"name": "dmenu",
"parentProjectId": "",
"description": ""
},
"548c4c35-f008-4ace-9918-18535a08cb5d": {
"id": "548c4c35-f008-4ace-9918-18535a08cb5d",
"name": "dkala",
"parentProjectId": "",
"description": ""
},
"82fddec7-d91c-4f4c-9361-ff1444e9b8ad": {
"id": "82fddec7-d91c-4f4c-9361-ff1444e9b8ad",
"name": "danak",
"parentProjectId": "",
"description": ""
},
"8ed679e8-397c-41ca-88d8-3da6d8d35eba": {
"id": "8ed679e8-397c-41ca-88d8-3da6d8d35eba",
"name": "dmail",
"parentProjectId": "",
"description": ""
},
"5012a293-2f54-42d6-b136-12c7473394db": {
"id": "5012a293-2f54-42d6-b136-12c7473394db",
"name": "dzone",
"parentProjectId": "",
"description": ""
}
},
"featureFlags": {
"isProEnabled": true
},
"automatedCleanup": {
"mostRecentLimit": 1,
"cronSchedule": "0 1 * * *",
"timezone": "UTC"
},
"netDataInfo": {
"isEnabled": true,
"data": {
"smtp": {},
"slack": {},
"telegram": {},
"pushBullet": {}
}
}
}