{"id":5279,"date":"2026-09-01T10:50:35","date_gmt":"2026-09-01T07:50:35","guid":{"rendered":"https:\/\/maram.iq\/blogs\/docker-vps-laptop-to-production\/"},"modified":"2026-09-01T11:04:49","modified_gmt":"2026-09-01T08:04:49","slug":"docker-vps-laptop-to-production","status":"publish","type":"post","link":"https:\/\/maram.iq\/blogs\/docker-vps-laptop-to-production\/","title":{"rendered":"Docker \u0644\u0644\u0645\u0637\u0648\u0631\u064a\u0646: \u0643\u064a\u0641 \u062a\u0646\u0642\u0644 \u0645\u0634\u0631\u0648\u0639\u0643 \u0645\u0646 Laptop \u0625\u0644\u0649 Production VPS\u061f"},"content":{"rendered":"\n<p>\u00ab\u064a\u0639\u0645\u0644 \u0639\u0644\u0649 \u062c\u0647\u0627\u0632\u064a!\u00bb \u2014 \u0623\u0634\u0647\u0631 \u062c\u0645\u0644\u0629 \u0645\u062d\u0628\u0650\u0637\u0629 \u0641\u064a \u0639\u0627\u0644\u0645 \u0627\u0644\u0628\u0631\u0645\u062c\u0629. \u062a\u0628\u0646\u064a \u0645\u0634\u0631\u0648\u0639\u0643 \u0639\u0644\u0649 \u062d\u0627\u0633\u0648\u0628\u0643\u060c \u0648\u0643\u0644 \u0634\u064a\u0621 \u0645\u0645\u062a\u0627\u0632\u060c \u062b\u0645 \u062a\u0646\u0634\u0631\u0647 \u0639\u0644\u0649 \u0627\u0644\u062e\u0627\u062f\u0645 \u0641\u064a\u0646\u0647\u0627\u0631 \u0644\u0627\u062e\u062a\u0644\u0627\u0641\u064d \u0641\u064a \u0625\u0635\u062f\u0627\u0631 Node \u0623\u0648 \u0645\u0643\u062a\u0628\u0629 \u0646\u0627\u0642\u0635\u0629 \u0623\u0648 \u0625\u0639\u062f\u0627\u062f \u0645\u062e\u062a\u0644\u0641. \u0647\u0646\u0627 \u064a\u0623\u062a\u064a <strong>Docker<\/strong> \u0644\u064a\u062d\u0644\u0651 \u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0645\u0646 \u062c\u0630\u0631\u0647\u0627: \u064a\u063a\u0644\u0651\u0641 \u062a\u0637\u0628\u064a\u0642\u0643 \u0645\u0639 \u0628\u064a\u0626\u062a\u0647 \u0627\u0644\u0643\u0627\u0645\u0644\u0629 \u0641\u064a <strong>\u062d\u0627\u0648\u064a\u0629 (Container)<\/strong> \u062a\u0639\u0645\u0644 \u0628\u0646\u0641\u0633 \u0627\u0644\u0637\u0631\u064a\u0642\u0629 \u0641\u064a \u0643\u0644 \u0645\u0643\u0627\u0646. \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u062f\u0644\u064a\u0644 \u0627\u0644\u0639\u0645\u0644\u064a \u0646\u0623\u062e\u0630\u0643 \u062e\u0637\u0648\u0629 \u0628\u062e\u0637\u0648\u0629 \u0641\u064a \u0631\u062d\u0644\u0629 <strong>Docker VPS<\/strong>: \u0645\u0646 \u0645\u0634\u0631\u0648\u0639\u064d \u0639\u0644\u0649 \u062c\u0647\u0627\u0632\u0643 \u0625\u0644\u0649 \u0633\u062a\u0627\u0643\u064d \u0625\u0646\u062a\u0627\u062c\u064a\u064d\u0651 \u0643\u0627\u0645\u0644 \u0639\u0644\u0649 \u062e\u0627\u062f\u0645 \u2014 Dockerfile\u060c \u0648Compose\u060c \u0648Nginx\u060c \u0648\u0642\u0627\u0639\u062f\u0629 \u0628\u064a\u0627\u0646\u0627\u062a\u060c \u0648Volumes\u060c \u0648\u0645\u062a\u063a\u064a\u0651\u0631\u0627\u062a \u0627\u0644\u0628\u064a\u0626\u0629 \u2014 \u0645\u0639 \u0633\u062a\u0627\u0643\u064d \u062d\u0642\u064a\u0642\u064a\u064d\u0651 \u0634\u063a\u0651\u0644\u0646\u0627\u0647 \u0641\u0639\u0644\u064a\u064b\u0627 \u0639\u0644\u0649 \u062e\u0627\u062f\u0645 \u0645\u0631\u0627\u0645 \u0644\u0646\u062b\u0628\u062a \u0623\u0646\u0647 \u064a\u0639\u0645\u0644.<\/p>\n\n\n<figure style=\"margin:1.5rem 0;text-align:center;\"><img decoding=\"async\" src=\"https:\/\/maram.iq\/blogs\/wp-content\/uploads\/2026\/08\/dk-journey.png\" alt=\"\u0646\u0642\u0644 \u0645\u0634\u0631\u0648\u0639\u0643 \u0645\u0646 Laptop \u0625\u0644\u0649 Production VPS \u0639\u0628\u0631 Docker\" loading=\"lazy\" style=\"max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px rgba(15,23,42,.12);\"\/><figcaption style=\"color:#64748b;font-size:.9rem;margin-top:.5rem;\">\u0646\u0641\u0633 \u0627\u0644\u062d\u0627\u0648\u064a\u0629 \u062a\u0639\u0645\u0644 \u0639\u0644\u0649 \u062c\u0647\u0627\u0632\u0643 \u0648\u0639\u0644\u0649 \u0627\u0644\u062e\u0627\u062f\u0645 \u2014 \u00ab\u064a\u0639\u0645\u0644 \u0639\u0646\u062f\u064a\u00bb \u064a\u0635\u0628\u062d \u00ab\u064a\u0639\u0645\u0644 \u0641\u064a \u0643\u0644 \u0645\u0643\u0627\u0646\u00bb<\/figcaption><\/figure>\n\n\n<div class=\"table-of-contents\" style=\"background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin:1.5rem 0;\"><p style=\"font-weight:700;font-size:1.05rem;margin-bottom:.75rem;\">\u0645\u062d\u062a\u0648\u064a\u0627\u062a \u0627\u0644\u062f\u0644\u064a\u0644<\/p><ul style=\"list-style:none;padding:0;margin:0;\"><li style=\"padding:.25rem 0;\"><a href=\"#s1\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0644\u0645\u0627\u0630\u0627 Docker \u064a\u062d\u0644\u0651 \u0645\u0634\u0643\u0644\u0629 \u0627\u0644\u0646\u0634\u0631\u061f<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#s2\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0627\u0644\u062e\u0637\u0648\u0629 1: Dockerfile \u2014 \u0648\u0635\u0641\u0629 \u062a\u0637\u0628\u064a\u0642\u0643<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#s3\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0627\u0644\u062e\u0637\u0648\u0629 2: Docker Compose \u2014 \u0627\u0644\u0633\u062a\u0627\u0643 \u0643\u0627\u0645\u0644\u064b\u0627<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#s4\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; Volumes \u0648Environment Variables<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#s5\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0627\u0644\u062e\u0637\u0648\u0629 3: \u0627\u0644\u0646\u0642\u0644 \u0625\u0644\u0649 Production VPS<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#s6\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0625\u062b\u0628\u0627\u062a \u062d\u0642\u064a\u0642\u064a \u0645\u0646 \u062e\u0627\u062f\u0645 \u0645\u0631\u0627\u0645<\/a><\/li><li style=\"padding:.25rem 0;\"><a href=\"#s7\" style=\"color:#4f46e5;text-decoration:none;\">&#8592; \u0627\u0644\u062e\u0644\u0627\u0635\u0629<\/a><\/li><\/ul><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"s1\">\u0644\u0645\u0627\u0630\u0627 Docker \u064a\u062d\u0644\u0651 \u0645\u0634\u0643\u0644\u0629 \u0627\u0644\u0646\u0634\u0631\u061f<\/h2>\n\n\n<p><strong>Docker<\/strong> \u064a\u0639\u0628\u0651\u0626 \u062a\u0637\u0628\u064a\u0642\u0643 \u2014 \u0627\u0644\u0643\u0648\u062f\u060c \u0648\u0648\u0642\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 (runtime)\u060c \u0648\u0627\u0644\u0645\u0643\u062a\u0628\u0627\u062a\u060c \u0648\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0646\u0638\u0627\u0645 \u2014 \u0641\u064a <strong>\u0635\u0648\u0631\u0629 (Image)<\/strong> \u0648\u0627\u062d\u062f\u0629. \u0647\u0630\u0647 \u0627\u0644\u0635\u0648\u0631\u0629 \u062a\u0639\u0645\u0644 \u0628\u0634\u0643\u0644\u064d \u0645\u062a\u0637\u0627\u0628\u0642 \u0639\u0644\u0649 \u062c\u0647\u0627\u0632\u0643 \u0648\u0639\u0644\u0649 \u0623\u064a \u062e\u0627\u062f\u0645 <strong>Docker VPS<\/strong>\u060c \u0641\u062a\u062e\u062a\u0641\u064a \u0641\u0631\u0648\u0642 \u0627\u0644\u0628\u064a\u0626\u0629 \u0646\u0647\u0627\u0626\u064a\u064b\u0627:<\/p>\n\n\n<ul class=\"wp-block-list\"><li><strong>\u062a\u0637\u0627\u0628\u0642 \u0627\u0644\u0628\u064a\u0626\u0627\u062a:<\/strong> \u0646\u0641\u0633 \u0627\u0644\u0635\u0648\u0631\u0629 \u0639\u0644\u0649 \u0627\u0644\u062a\u0637\u0648\u064a\u0631 \u0648\u0627\u0644\u0625\u0646\u062a\u0627\u062c \u2014 \u0644\u0627 \u0645\u0632\u064a\u062f \u0645\u0646 \u00ab\u064a\u0639\u0645\u0644 \u0639\u0646\u062f\u064a\u00bb.<\/li><li><strong>\u0627\u0644\u0639\u0632\u0644:<\/strong> \u0643\u0644 \u062d\u0627\u0648\u064a\u0629 \u0645\u0639\u0632\u0648\u0644\u0629\u060c \u0641\u0644\u0627 \u062a\u062a\u0639\u0627\u0631\u0636 \u0627\u0639\u062a\u0645\u0627\u062f\u064a\u0627\u062a \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639 \u0639\u0644\u0649 \u0627\u0644\u062e\u0627\u062f\u0645 \u0646\u0641\u0633\u0647.<\/li><li><strong>\u0642\u0627\u0628\u0644\u064a\u0629 \u0627\u0644\u062a\u0643\u0631\u0627\u0631:<\/strong> \u062a\u0646\u0634\u0631\u060c \u062a\u062d\u0630\u0641\u060c \u062a\u0639\u064a\u062f \u0627\u0644\u0646\u0634\u0631 \u0628\u0623\u0645\u0631\u064d \u0648\u0627\u062d\u062f \u2014 \u0648\u0643\u0644\u0651\u0647 \u0645\u0648\u0635\u0648\u0641 \u0641\u064a \u0645\u0644\u0641\u0627\u062a \u0646\u0635\u0651\u064a\u0629.<\/li><li><strong>\u0633\u0647\u0648\u0644\u0629 \u0627\u0644\u0646\u0642\u0644:<\/strong> \u0627\u0646\u0642\u0644 \u0645\u0634\u0631\u0648\u0639\u0643 \u0644\u0623\u064a VPS \u0622\u062e\u0631 \u0628\u0646\u0633\u062e \u0645\u0644\u0641\u0651\u064a\u0646 \u0648\u062a\u0634\u063a\u064a\u0644 \u0623\u0645\u0631\u064d \u0648\u0627\u062d\u062f.<\/li><\/ul>\n\n\n<h2 class=\"wp-block-heading\" id=\"s2\">\u0627\u0644\u062e\u0637\u0648\u0629 1: Dockerfile \u2014 \u0648\u0635\u0641\u0629 \u062a\u0637\u0628\u064a\u0642\u0643<\/h2>\n\n\n<p><strong>Dockerfile<\/strong> \u0645\u0644\u0641\u064c\u0651 \u0646\u0635\u0651\u064a\u064c\u0651 \u064a\u0635\u0641 \u0643\u064a\u0641 \u062a\u064f\u0628\u0646\u0649 \u0635\u0648\u0631\u0629 \u062a\u0637\u0628\u064a\u0642\u0643: \u0645\u0646 \u0623\u064a \u0623\u0633\u0627\u0633\u060c \u0648\u0645\u0627 \u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f\u064a\u0627\u062a\u060c \u0648\u0643\u064a\u0641 \u064a\u064f\u0634\u063a\u064e\u0651\u0644. \u0645\u062b\u0627\u0644\u064c \u0644\u062a\u0637\u0628\u064a\u0642 Node:<\/p>\n\n\n<pre class=\"wp-block-code\"><code># Dockerfile \u2014 \u0648\u0635\u0641\u0629 \u0628\u0646\u0627\u0621 \u0635\u0648\u0631\u0629 \u062a\u0637\u0628\u064a\u0642\u0643\nFROM node:20-alpine\nWORKDIR \/app\n\n# \u0627\u0646\u0633\u062e \u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f\u064a\u0627\u062a \u0623\u0648\u0644\u064b\u0627 (\u0644\u0627\u0633\u062a\u063a\u0644\u0627\u0644 \u0627\u0644\u0643\u0627\u0634)\nCOPY package.json .\/\nRUN npm install --omit=dev\n\n# \u062b\u0645 \u0627\u0646\u0633\u062e \u0628\u0642\u064a\u0629 \u0627\u0644\u0643\u0648\u062f\nCOPY . .\nEXPOSE 3000\nCMD [&quot;node&quot;, &quot;server.js&quot;]<\/code><\/pre>\n\n\n<p>\u062a\u0628\u0646\u064a\u0647 \u0648\u062a\u0634\u063a\u0651\u0644\u0647 \u0645\u062d\u0644\u064a\u064b\u0627 \u0628\u0623\u0645\u0631\u064a\u0646\u060c \u0641\u062a\u062d\u0635\u0644 \u0639\u0644\u0649 \u062a\u0637\u0628\u064a\u0642\u0643 \u062f\u0627\u062e\u0644 \u062d\u0627\u0648\u064a\u0629 \u062a\u0639\u0645\u0644 \u062a\u0645\u0627\u0645\u064b\u0627 \u0643\u0645\u0627 \u0633\u062a\u0639\u0645\u0644 \u0639\u0644\u0649 \u0627\u0644\u062e\u0627\u062f\u0645:<\/p>\n\n\n<pre class=\"wp-block-code\"><code>docker build -t myapp .\ndocker run -p 3000:3000 myapp<\/code><\/pre>\n\n\n<p style=\"background:#ecfdf5;border-right:4px solid #16a34a;padding:14px 16px;border-radius:8px;\"><strong>&#128161; \u0646\u0635\u064a\u062d\u0629:<\/strong> \u0627\u0646\u0633\u062e <code>package.json<\/code> \u0642\u0628\u0644 \u0628\u0642\u064a\u0629 \u0627\u0644\u0643\u0648\u062f \u0643\u0645\u0627 \u0641\u064a \u0627\u0644\u0645\u062b\u0627\u0644 \u2014 \u064a\u0633\u062a\u063a\u0644\u0651 Docker \u0637\u0628\u0642\u0627\u062a \u0627\u0644\u0643\u0627\u0634 \u0641\u0644\u0627 \u064a\u0639\u064a\u062f \u062a\u062b\u0628\u064a\u062a \u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f\u064a\u0627\u062a \u0645\u0639 \u0643\u0644 \u062a\u0639\u062f\u064a\u0644 \u0628\u0633\u064a\u0637 \u0641\u064a \u0627\u0644\u0643\u0648\u062f\u060c \u0645\u0645\u0627 \u064a\u0633\u0631\u0651\u0639 \u0627\u0644\u0628\u0646\u0627\u0621 \u0643\u062b\u064a\u0631\u064b\u0627. \u0648\u0623\u0636\u0650\u0641 \u0645\u0644\u0641 <code>.dockerignore<\/code> \u0644\u0627\u0633\u062a\u0628\u0639\u0627\u062f <code>node_modules<\/code> \u0648<code>.git<\/code>.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"s3\">\u0627\u0644\u062e\u0637\u0648\u0629 2: Docker Compose \u2014 \u0627\u0644\u0633\u062a\u0627\u0643 \u0643\u0627\u0645\u0644\u064b\u0627<\/h2>\n\n\n<p>\u062a\u0637\u0628\u064a\u0642 \u062d\u0642\u064a\u0642\u064a \u0644\u064a\u0633 \u062d\u0627\u0648\u064a\u0629 \u0648\u0627\u062d\u062f\u0629\u060c \u0628\u0644 \u0639\u062f\u0651\u0629 \u062e\u062f\u0645\u0627\u062a: \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u060c \u0648\u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a\u060c \u0648\u0631\u0628\u0645\u0627 Redis\u060c \u0648Nginx \u0623\u0645\u0627\u0645\u0647\u0627. <strong>Docker Compose<\/strong> \u064a\u0635\u0641 \u0643\u0644 \u0647\u0630\u0647 \u0627\u0644\u062e\u062f\u0645\u0627\u062a \u0641\u064a \u0645\u0644\u0641\u064d \u0648\u0627\u062d\u062f \u0648\u064a\u0634\u063a\u0651\u0644\u0647\u0627 \u0645\u0639\u064b\u0627 \u0628\u0623\u0645\u0631\u064d \u0648\u0627\u062d\u062f \u2014 \u0648\u0647\u0648 \u0642\u0644\u0628 \u0623\u064a \u0646\u0634\u0631 <strong>Docker VPS<\/strong>:<\/p>\n\n\n<figure style=\"margin:1.5rem 0;text-align:center;\"><img decoding=\"async\" src=\"https:\/\/maram.iq\/blogs\/wp-content\/uploads\/2026\/08\/dk-compose.png\" alt=\"\u062a\u0634\u0631\u064a\u062d \u0633\u062a\u0627\u0643 Docker Compose \u0639\u0644\u0649 VPS: nginx \u0648app \u0648db \u0648Volume \u0648\u0645\u062a\u063a\u064a\u0651\u0631\u0627\u062a \u0627\u0644\u0628\u064a\u0626\u0629\" loading=\"lazy\" style=\"max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px rgba(15,23,42,.12);\"\/><figcaption style=\"color:#64748b;font-size:.9rem;margin-top:.5rem;\">\u0623\u0631\u0628\u0639 \u062d\u0627\u0648\u064a\u0627\u062a \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u062f\u0627\u062e\u0644\u064a\u0629 \u0648\u0627\u062d\u062f\u0629 \u062a\u062a\u062d\u062f\u0651\u062b \u0628\u0623\u0633\u0645\u0627\u0626\u0647\u0627 \u2014 nginx \u0648\u062d\u062f\u0647 \u0645\u0646\u0634\u0648\u0631 \u0644\u0644\u062e\u0627\u0631\u062c<\/figcaption><\/figure>\n\n\n<pre class=\"wp-block-code\"><code># docker-compose.yml \u2014 \u0627\u0644\u0633\u062a\u0627\u0643 \u0627\u0644\u0643\u0627\u0645\u0644\nservices:\n  db:\n    image: postgres:16-alpine\n    environment:\n      POSTGRES_PASSWORD: ${DB_PASSWORD}\n      POSTGRES_DB: appdb\n    volumes:\n      - pgdata:\/var\/lib\/postgresql\/data\n\n  app:\n    build: .\/app\n    environment:\n      DATABASE_URL: postgres:\/\/postgres:${DB_PASSWORD}@db:5432\/appdb\n    depends_on: [db]\n\n  nginx:\n    image: nginx:alpine\n    ports:\n      - &quot;80:80&quot;\n    volumes:\n      - .\/nginx.conf:\/etc\/nginx\/conf.d\/default.conf:ro\n    depends_on: [app]\n\nvolumes:\n  pgdata:<\/code><\/pre>\n\n\n<p>\u0644\u0627\u062d\u0638 \u0623\u0646\u0651 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u064a\u062a\u0651\u0635\u0644 \u0628\u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0627\u0633\u0645\u0647\u0627 <code>db<\/code> \u0644\u0627 \u0628\u0639\u0646\u0648\u0627\u0646 IP \u2014 \u0641\u062d\u0627\u0648\u064a\u0627\u062a Compose \u0639\u0644\u0649 \u0634\u0628\u0643\u0629\u064d \u062f\u0627\u062e\u0644\u064a\u0629 \u062a\u062a\u0639\u0627\u0631\u0641 \u0628\u0623\u0633\u0645\u0627\u0626\u0647\u0627. \u0648\u0623\u0645\u0631\u064c \u0648\u0627\u062d\u062f \u064a\u0634\u063a\u0651\u0644 \u0627\u0644\u0623\u0631\u0628\u0639\u0629 \u0628\u062a\u0631\u062a\u064a\u0628\u0647\u0627 \u0627\u0644\u0635\u062d\u064a\u062d:<\/p>\n\n\n<pre class=\"wp-block-code\"><code>docker compose up -d --build<\/code><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id=\"s4\">Volumes \u0648Environment Variables<\/h2>\n\n\n<p>\u0642\u0637\u0639\u062a\u0627\u0646 \u0623\u0633\u0627\u0633\u064a\u062a\u0627\u0646 \u0644\u0623\u064a \u0646\u0634\u0631 \u0625\u0646\u062a\u0627\u062c\u064a \u0635\u062d\u064a\u062d:<\/p>\n\n\n<ul class=\"wp-block-list\"><li><strong>Volumes (\u0627\u0644\u0623\u062d\u062c\u0627\u0645):<\/strong> \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u0639\u0627\u0628\u0631\u0629 \u2014 \u0625\u0646 \u062d\u0630\u0641\u062a \u062d\u0627\u0648\u064a\u0629 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u062a\u062e\u062a\u0641\u064a \u0628\u064a\u0627\u0646\u0627\u062a\u0647\u0627. \u0627\u0644\u062d\u0644\u0651 \u0647\u0648 <strong>Volume<\/strong>: \u0645\u0633\u0627\u062d\u0629 \u062a\u062e\u0632\u064a\u0646 \u062f\u0627\u0626\u0645\u0629 \u062e\u0627\u0631\u062c \u0627\u0644\u062d\u0627\u0648\u064a\u0629 \u062a\u0628\u0642\u0649 \u0628\u064a\u0627\u0646\u0627\u062a\u0647\u0627 \u062d\u062a\u0649 \u0644\u0648 \u0623\u064f\u0639\u064a\u062f \u0628\u0646\u0627\u0621 \u0627\u0644\u062d\u0627\u0648\u064a\u0629. \u0641\u064a \u0627\u0644\u0645\u062b\u0627\u0644 \u0623\u0639\u0644\u0627\u0647\u060c <code>pgdata<\/code> \u064a\u062d\u0641\u0638 \u0628\u064a\u0627\u0646\u0627\u062a PostgreSQL \u0628\u0623\u0645\u0627\u0646.<\/li><li><strong>Environment Variables (\u0645\u062a\u063a\u064a\u0651\u0631\u0627\u062a \u0627\u0644\u0628\u064a\u0626\u0629):<\/strong> \u0644\u0627 \u062a\u0643\u062a\u0628 \u0643\u0644\u0645\u0627\u062a \u0627\u0644\u0645\u0631\u0648\u0631 \u0648\u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0641\u064a \u0627\u0644\u0643\u0648\u062f \u0623\u0628\u062f\u064b\u0627. \u0645\u0631\u0651\u0631\u0647\u0627 \u0643\u0645\u062a\u063a\u064a\u0651\u0631\u0627\u062a \u0628\u064a\u0626\u0629 (\u0639\u0628\u0631 \u0645\u0644\u0641 <code>.env<\/code> \u062e\u0627\u0631\u062c \u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u0643\u0648\u062f)\u060c \u0641\u062a\u0628\u0642\u0649 \u0627\u0644\u0623\u0633\u0631\u0627\u0631 \u0622\u0645\u0646\u0629 \u0648\u064a\u0633\u0647\u0644 \u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0628\u064a\u0646 \u0627\u0644\u062a\u0637\u0648\u064a\u0631 \u0648\u0627\u0644\u0625\u0646\u062a\u0627\u062c.<\/li><\/ul>\n\n\n<pre class=\"wp-block-code\"><code># .env \u2014 \u062e\u0627\u0631\u062c \u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u0643\u0648\u062f (\u0623\u0636\u0650\u0641\u0647 \u0625\u0644\u0649 .gitignore)\nDB_PASSWORD=your_strong_secret_here\n\n# Compose \u064a\u0642\u0631\u0623 \u0647\u0630\u0627 \u0627\u0644\u0645\u0644\u0641 \u062a\u0644\u0642\u0627\u0626\u064a\u064b\u0627 \u0648\u064a\u0633\u062a\u0628\u062f\u0644 ${DB_PASSWORD}<\/code><\/pre>\n\n\n<p style=\"background:#eff6ff;border-right:4px solid #3b82f6;padding:14px 16px;border-radius:8px;\"><strong>\u0645\u0644\u0627\u062d\u0638\u0629:<\/strong> \u0627\u0644\u0641\u0631\u0642 \u062c\u0648\u0647\u0631\u064a: \u0628\u062f\u0648\u0646 Volume\u060c \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u062d\u0627\u0648\u064a\u0629 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0642\u062f \u062a\u0641\u0642\u062f \u0643\u0644 \u0628\u064a\u0627\u0646\u0627\u062a\u0643. \u0645\u0639 Volume\u060c \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0645\u062d\u0641\u0648\u0638\u0629 \u0628\u0623\u0645\u0627\u0646 \u0645\u0633\u062a\u0642\u0644\u0651\u0629 \u0639\u0646 \u062f\u0648\u0631\u0629 \u062d\u064a\u0627\u0629 \u0627\u0644\u062d\u0627\u0648\u064a\u0629 \u2014 \u0648\u0633\u0646\u062b\u0628\u062a \u0630\u0644\u0643 \u0628\u0627\u0644\u0623\u0631\u0642\u0627\u0645 \u0628\u0639\u062f \u0642\u0644\u064a\u0644.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"s5\">\u0627\u0644\u062e\u0637\u0648\u0629 3: \u0627\u0644\u0646\u0642\u0644 \u0625\u0644\u0649 Production VPS<\/h2>\n\n\n<p>\u0647\u0646\u0627 \u0633\u062d\u0631 Docker: \u0646\u0642\u0644 \u0645\u0634\u0631\u0648\u0639\u0643 \u0645\u0646 \u062c\u0647\u0627\u0632\u0643 \u0625\u0644\u0649 \u0627\u0644\u062e\u0627\u062f\u0645 \u0644\u0627 \u064a\u0639\u0646\u064a \u0625\u0639\u0627\u062f\u0629 \u0625\u0639\u062f\u0627\u062f \u0643\u0644 \u0634\u064a\u0621\u060c \u0628\u0644 \u0646\u0642\u0644 \u0646\u0641\u0633 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0648\u062a\u0634\u063a\u064a\u0644 \u0646\u0641\u0633 \u0627\u0644\u0623\u0645\u0631:<\/p>\n\n\n<ul class=\"wp-block-list\"><li>\u062b\u0628\u0651\u062a Docker \u0639\u0644\u0649 \u062e\u0627\u062f\u0645 VPS: <code>curl -fsSL https:\/\/get.docker.com | sh<\/code>.<\/li><li>\u0627\u0646\u0642\u0644 \u0645\u0634\u0631\u0648\u0639\u0643 (\u0639\u0628\u0631 <code>git clone<\/code> \u0623\u0648 <code>scp<\/code>) \u0648\u0645\u0644\u0641 <code>.env<\/code> \u0627\u0644\u062e\u0627\u0635 \u0628\u0627\u0644\u0625\u0646\u062a\u0627\u062c.<\/li><li>\u0634\u063a\u0651\u0644 \u0627\u0644\u0633\u062a\u0627\u0643 \u0643\u0627\u0645\u0644\u064b\u0627: <code>docker compose up -d --build<\/code>.<\/li><li>\u0623\u0636\u0650\u0641 \u0634\u0647\u0627\u062f\u0629 SSL \u0639\u0628\u0631 Nginx (certbot) \u0623\u0648 \u0627\u0633\u062a\u062e\u062f\u0645 \u0648\u0643\u064a\u0644\u064b\u0627 \u0645\u062b\u0644 Traefik \u0644\u0644\u062a\u0634\u0641\u064a\u0631 \u0627\u0644\u062a\u0644\u0642\u0627\u0626\u064a.<\/li><\/ul>\n\n\n<pre class=\"wp-block-code\"><code># \u0639\u0644\u0649 \u062e\u0627\u062f\u0645 VPS \u2014 \u0646\u0641\u0633 \u0627\u0644\u0623\u0645\u0631 \u0627\u0644\u0630\u064a \u0634\u063a\u0651\u0644\u062a\u0647 \u0645\u062d\u0644\u064a\u064b\u0627\ngit clone https:\/\/github.com\/you\/project.git &amp;&amp; cd project\ncp .env.production .env\ndocker compose up -d --build\n\n# \u0644\u0644\u062a\u062d\u062f\u064a\u062b\u0627\u062a \u0644\u0627\u062d\u0642\u064b\u0627:\ngit pull &amp;&amp; docker compose up -d --build<\/code><\/pre>\n\n\n<p style=\"background:#ecfdf5;border-right:4px solid #16a34a;padding:14px 16px;border-radius:8px;\"><strong>&#128161; \u0646\u0635\u064a\u062d\u0629:<\/strong> \u0644\u0628\u064a\u0626\u0627\u062a \u0627\u0644\u0625\u0646\u062a\u0627\u062c \u0627\u0644\u0623\u0643\u0628\u0631\u060c \u0627\u0641\u0635\u0644 \u0645\u0644\u0641 Compose \u0644\u0644\u0625\u0646\u062a\u0627\u062c (<code>docker-compose.prod.yml<\/code>) \u0628\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0645\u0648\u0627\u0631\u062f \u0648\u0633\u064a\u0627\u0633\u0627\u062a \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 (<code>restart: always<\/code>)\u060c \u0648\u0631\u0627\u0642\u0628 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u0628\u0623\u062f\u0648\u0627\u062a \u0645\u062b\u0644 <code>docker stats<\/code> \u0623\u0648 \u0644\u0648\u062d\u0627\u062a Prometheus\/Grafana.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"s6\">\u0625\u062b\u0628\u0627\u062a \u062d\u0642\u064a\u0642\u064a \u0645\u0646 \u062e\u0627\u062f\u0645 \u0645\u0631\u0627\u0645<\/h2>\n\n\n<p>\u0644\u0627 \u0646\u0643\u062a\u0641\u064a \u0628\u0627\u0644\u0646\u0638\u0631\u064a\u0629. \u0628\u0646\u064a\u0646\u0627 \u0647\u0630\u0627 \u0627\u0644\u0633\u062a\u0627\u0643 \u0628\u0627\u0644\u0636\u0628\u0637 \u0648\u0646\u0634\u0631\u0646\u0627\u0647 \u0641\u0639\u0644\u064a\u064b\u0627 \u0639\u0644\u0649 \u062e\u0627\u062f\u0645 \u0645\u0631\u0627\u0645 (\u062a\u0637\u0628\u064a\u0642 Node \u0645\u0646 Dockerfile + PostgreSQL \u0628\u0640Volume + Nginx \u0648\u0643\u064a\u0644\u064b\u0627 \u0639\u0643\u0633\u064a\u064b\u0627)\u060c \u0648\u0634\u063a\u0651\u0644\u0646\u0627\u0647 \u0628\u0623\u0645\u0631\u064d \u0648\u0627\u062d\u062f:<\/p>\n\n\n<figure style=\"margin:1.5rem 0;text-align:center;\"><img decoding=\"async\" src=\"https:\/\/maram.iq\/blogs\/wp-content\/uploads\/2026\/08\/dk-proof.png\" alt=\"\u0625\u062b\u0628\u0627\u062a \u062d\u0642\u064a\u0642\u064a \u0644\u0646\u0634\u0631 \u0633\u062a\u0627\u0643 Docker \u0639\u0644\u0649 VPS \u0645\u0646 \u062e\u0627\u062f\u0645 \u0645\u0631\u0627\u0645\" loading=\"lazy\" style=\"max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px rgba(15,23,42,.12);\"\/><figcaption style=\"color:#64748b;font-size:.9rem;margin-top:.5rem;\">\u062b\u0644\u0627\u062b \u062d\u0627\u0648\u064a\u0627\u062a \u0628\u0623\u0645\u0631 \u0648\u0627\u062d\u062f\u060c \u0648\u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0646\u062c\u062a \u0645\u0646 \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0641\u0636\u0644 \u0627\u0644\u0640Volume\u060c \u0648\u0623\u062f\u0627\u0621 1,803 \u0637\u0644\u0628\/\u062b\u0627\u0646\u064a\u0629<\/figcaption><\/figure>\n\n\n<p style=\"background:#f8fafc;border:1px solid #e2e8f0;border-right:4px solid #64748b;padding:14px 16px;border-radius:8px;\"><strong>&#129309; \u0645\u0646 \u0648\u0627\u0642\u0639 \u0645\u0631\u0627\u0645:<\/strong> \u0627\u0644\u0646\u062a\u0627\u0626\u062c \u0627\u0644\u062d\u0642\u064a\u0642\u064a\u0629 \u0627\u0644\u0645\u0642\u0627\u0633\u0629 \u0623\u062b\u0628\u062a\u062a \u0643\u0644 \u0646\u0642\u0637\u0629 \u0639\u0645\u0644\u064a\u064b\u0627: \u0623\u0645\u0631\u064c \u0648\u0627\u062d\u062f <code>docker compose up -d<\/code> \u0634\u063a\u0651\u0644 <strong>\u062b\u0644\u0627\u062b \u062d\u0627\u0648\u064a\u0627\u062a<\/strong> (app + db + nginx) \u0648\u0639\u0645\u0644\u062a \u0645\u0639\u064b\u0627 \u2014 \u0637\u0644\u0628\u064c \u064a\u0645\u0631\u0651 \u0639\u0628\u0631 nginx \u0625\u0644\u0649 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0625\u0644\u0649 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0648\u064a\u0639\u0648\u062f \u0628\u0631\u0645\u0632 200. \u0648\u0627\u0644\u0623\u0647\u0645\u0651\u060c \u0644\u0627\u062e\u062a\u0628\u0627\u0631 <strong>\u0627\u0644\u0640Volume<\/strong>: \u0623\u0639\u062f\u0646\u0627 \u062a\u0634\u063a\u064a\u0644 \u062d\u0627\u0648\u064a\u0629 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0627\u0644\u0643\u0627\u0645\u0644\u060c \u062b\u0645 \u0648\u0627\u0635\u0644\u0646\u0627 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u2014 \u0641\u0627\u0633\u062a\u0645\u0631\u0651 \u0639\u062f\u0651\u0627\u062f \u0627\u0644\u0632\u064a\u0627\u0631\u0627\u062a \u0645\u0646 \u062d\u064a\u062b \u062a\u0648\u0642\u0651\u0641 (2 \u2190 3 \u2190 4 \u2190 5)\u060c \u0623\u064a \u0623\u0646\u0651 <strong>\u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0646\u062c\u062a \u0648\u0644\u0645 \u062a\u064f\u0641\u0642\u062f<\/strong> \u0644\u0623\u0646\u0647\u0627 \u0643\u0627\u0646\u062a \u0641\u064a Volume \u062f\u0627\u0626\u0645. \u0648\u0642\u0650\u0633\u0646\u0627 \u0623\u062f\u0627\u0621 \u0627\u0644\u0633\u062a\u0627\u0643 \u0627\u0644\u0645\u064f\u062d\u0648\u0651\u0649 \u0639\u0628\u0631 nginx \u0641\u0628\u0644\u063a <strong>~1,803 \u0637\u0644\u0628\u064b\u0627 \u0641\u064a \u0627\u0644\u062b\u0627\u0646\u064a\u0629<\/strong>. \u0623\u062d\u062c\u0627\u0645 \u0627\u0644\u0635\u0648\u0631 \u0643\u0627\u0646\u062a \u062e\u0641\u064a\u0641\u0629 (\u062a\u0637\u0628\u064a\u0642 Node ~212MB\u060c PostgreSQL ~420MB\u060c Nginx ~94MB). \u0647\u0630\u0647 \u0644\u064a\u0633\u062a \u0648\u0639\u0648\u062f\u064b\u0627 \u0646\u0638\u0631\u064a\u0629\u060c \u0628\u0644 \u0633\u062a\u0627\u0643\u064c \u0639\u0645\u0644 \u0641\u0639\u0644\u064b\u0627.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"s7\">\u0627\u0644\u062e\u0644\u0627\u0635\u0629<\/h2>\n\n\n<p><strong>Docker<\/strong> \u064a\u062d\u0648\u0651\u0644 \u0627\u0644\u0646\u0634\u0631 \u0645\u0646 \u0643\u0627\u0628\u0648\u0633 \u00ab\u064a\u0639\u0645\u0644 \u0639\u0644\u0649 \u062c\u0647\u0627\u0632\u064a\u00bb \u0625\u0644\u0649 \u0639\u0645\u0644\u064a\u0629\u064d \u0645\u062a\u0637\u0627\u0628\u0642\u0629 \u0648\u0645\u0648\u062b\u0648\u0642\u0629: \u062a\u0635\u0641 \u062a\u0637\u0628\u064a\u0642\u0643 \u0641\u064a <strong>Dockerfile<\/strong>\u060c \u0648\u062a\u062c\u0645\u0639 \u0627\u0644\u0633\u062a\u0627\u0643 \u0641\u064a <strong>Compose<\/strong>\u060c \u0648\u062a\u062d\u0645\u064a \u0628\u064a\u0627\u0646\u0627\u062a\u0643 \u0628\u0640<strong>Volumes<\/strong> \u0648\u0623\u0633\u0631\u0627\u0631\u0643 \u0628\u0645\u062a\u063a\u064a\u0651\u0631\u0627\u062a \u0627\u0644\u0628\u064a\u0626\u0629 \u2014 \u062b\u0645 \u062a\u0646\u0642\u0644 \u0643\u0644 \u0630\u0644\u0643 \u0625\u0644\u0649 \u062e\u0627\u062f\u0645 <strong>Docker VPS<\/strong> \u0628\u0646\u0633\u062e \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0648\u062a\u0634\u063a\u064a\u0644 \u0623\u0645\u0631\u064d \u0648\u0627\u062d\u062f. \u0623\u062b\u0628\u062a\u0646\u0627 \u0643\u0644 \u062e\u0637\u0648\u0629 \u0639\u0644\u0649 \u062e\u0627\u062f\u0645 \u0645\u0631\u0627\u0645: \u062b\u0644\u0627\u062b \u062d\u0627\u0648\u064a\u0627\u062a \u0628\u0623\u0645\u0631\u064d \u0648\u0627\u062d\u062f\u060c \u0648\u0628\u064a\u0627\u0646\u0627\u062a\u064c \u0646\u062c\u062a \u0645\u0646 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644\u060c \u0648\u0623\u062f\u0627\u0621\u064c \u062d\u0642\u064a\u0642\u064a. \u062a\u0639\u0644\u0651\u0645 \u0647\u0630\u0627 \u0645\u0631\u0651\u0629\u060c \u0648\u0633\u062a\u0646\u0634\u0631 \u0623\u064a \u0645\u0634\u0631\u0648\u0639 \u0639\u0644\u0649 \u0623\u064a \u062e\u0627\u062f\u0645 \u0628\u062b\u0642\u0629 \u2014 \u0648\u0647\u0630\u0647 \u0627\u0644\u0645\u0647\u0627\u0631\u0629 \u0648\u062d\u062f\u0647\u0627 \u062a\u0641\u062a\u062d \u0644\u0643 \u0628\u0627\u0628 \u0627\u0645\u062a\u0644\u0627\u0643 \u062e\u0627\u062f\u0645\u0643 \u0627\u0644\u062e\u0627\u0635 \u0628\u062f\u0644 \u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f \u0639\u0644\u0649 \u0645\u0646\u0635\u0651\u0627\u062a \u0645\u0642\u064a\u0651\u062f\u0629.<\/p>\n\n\n<p>\u0644\u062a\u0643\u0645\u0644 \u0631\u062d\u0644\u062a\u0643: \u0631\u0627\u062c\u0639 <a href=\"https:\/\/maram.iq\/blogs\/?p=5255\">\u0627\u0633\u062a\u0636\u0627\u0641\u0629 Node.js \u0639\u0644\u0649 VPS \u0628\u0637\u0631\u064a\u0642\u0629 Production<\/a>\u060c \u0648<a href=\"https:\/\/maram.iq\/blogs\/?p=5273\">MySQL \u0623\u0645 PostgreSQL \u0644\u062a\u0637\u0628\u064a\u0642\u0643<\/a>\u060c \u0648<a href=\"https:\/\/maram.iq\/blogs\/?p=5270\">\u0646\u0634\u0631 FastAPI \u0645\u0639 PostgreSQL \u0648Redis<\/a>. \u0648\u0644\u0644\u062a\u0648\u062b\u064a\u0642 \u0627\u0644\u0631\u0633\u0645\u064a: <a href=\"https:\/\/docs.docker.com\/get-started\/\" target=\"_blank\" rel=\"noopener\">\u062f\u0644\u064a\u0644 Docker<\/a>\u060c \u0648<a href=\"https:\/\/docs.docker.com\/compose\/\" target=\"_blank\" rel=\"noopener\">Docker Compose<\/a>\u060c \u0648<a href=\"https:\/\/hub.docker.com\/\" target=\"_blank\" rel=\"noopener\">Docker Hub<\/a>.<\/p>\n\n\n<div style=\"background:#0f172a;border-radius:12px;padding:24px 20px;text-align:center;margin:1.5rem 0;\"><p style=\"color:#fff;font-size:17px;margin:0 0 14px;\">\u062c\u0627\u0647\u0632 \u0644\u0646\u0642\u0644 \u0645\u0634\u0631\u0648\u0639\u0643 \u0627\u0644\u0645\u064f\u062d\u0648\u0651\u0649 \u0625\u0644\u0649 \u062e\u0627\u062f\u0645 \u0625\u0646\u062a\u0627\u062c\u064a\u061f \u062e\u0648\u0627\u062f\u0645 \u0645\u0631\u0627\u0645 \u062a\u062f\u0639\u0645 Docker \u0628\u0645\u0648\u0627\u0631\u062f \u0645\u062e\u0635\u0651\u0635\u0629 \u0648\u0623\u0642\u0631\u0627\u0635 NVMe \u0633\u0631\u064a\u0639\u0629 \u0648\u062f\u0639\u0645 \u0639\u0631\u0628\u064a \u2014 \u0627\u0644\u0623\u0633\u0627\u0633 \u0627\u0644\u0645\u062b\u0627\u0644\u064a \u0644\u0633\u062a\u0627\u0643\u0643.<\/p><a href=\"https:\/\/maram.iq\/\" style=\"display:inline-block;background:#16a34a;color:#fff;font-weight:700;padding:12px 28px;border-radius:8px;text-decoration:none;\">\u0627\u0637\u0644\u0628 \u062e\u0627\u062f\u0645 VPS \u0644\u0640Docker<\/a><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>\u062f\u0644\u064a\u0644 Docker VPS \u0639\u0645\u0644\u064a: \u0627\u0646\u0642\u0644 \u0645\u0634\u0631\u0648\u0639\u0643 \u0645\u0646 Laptop \u0625\u0644\u0649 Production \u0639\u0628\u0631 Dockerfile \u0648Compose \u0648Nginx \u0648Volumes \u0648\u0645\u062a\u063a\u064a\u0651\u0631\u0627\u062a \u0627\u0644\u0628\u064a\u0626\u0629\u060c \u0628\u0633\u062a\u0627\u0643 \u062d\u0642\u064a\u0642\u064a \u0645\u064f\u062e\u062a\u0628\u064e\u0631.<\/p>\n","protected":false},"author":6,"featured_media":5282,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[281],"tags":[176,154,144,152,141,178,151,140,157],"class_list":["post-5279","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-281","tag-mysql","tag-nvme","tag-vps","tag-152","tag-141","tag-178","tag--ssl","tag-140","tag-157"],"_links":{"self":[{"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/posts\/5279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/comments?post=5279"}],"version-history":[{"count":1,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/posts\/5279\/revisions"}],"predecessor-version":[{"id":5280,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/posts\/5279\/revisions\/5280"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/media\/5282"}],"wp:attachment":[{"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/media?parent=5279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/categories?post=5279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maram.iq\/blogs\/wp-json\/wp\/v2\/tags?post=5279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}