{"id":28,"date":"2024-08-03T20:14:01","date_gmt":"2024-08-03T17:14:01","guid":{"rendered":"https:\/\/casp.ru\/?p=28"},"modified":"2024-08-03T20:27:51","modified_gmt":"2024-08-03T17:27:51","slug":"%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-satis","status":"publish","type":"post","link":"https:\/\/casp.ru\/?p=28","title":{"rendered":"\u041d\u0430\u0441\u0442\u043e\u0439\u043a\u0430 satis \u0434\u043b\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432 composer \u0432 docker"},"content":{"rendered":"\n\n<p><strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 satis<\/strong><\/p>\n\n\n\n<p>satis &#8212; \u043a\u0435\u0448\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432 php composer. \u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 docker. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 satis.json, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441 sftp  \u0438 ftp \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0432\u043d\u0443\u0442\u0440\u0438. <\/p>\n\n\n\n<p>\u0424\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0440\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u0442\u0443\u0442: <em>\/srv\/docker\/satis\/build\/satis.json<\/em> \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: <\/p>\n\n\n\n<pre class=\\\"wp-block-preformatted\\\">{\n    \\\"name\\\": \\\"local\/repo\\\",\n    \\\"homepage\\\": \\\"http:\/\/satis:8001\\\",\n    \\\"repositories\\\": [\n        {\n                \\\"type\\\": \\\"vcs\\\",\n                \\\"url\\\": \\\"ssh:\/\/git@gitlab:22\/project\/project.git\\\"\n        },\n        {\n            \\\"type\\\": \\\"composer\\\",\n            \\\"url\\\": \\\"https:\/\/packagist.org\\\"\n        }\n    ],\n    \\\"require\\\": {\n        \\\"tw\/config-parser\\\": \\\"*\\\",\n        \\\"cloudcreativity\/laravel-json-api\\\": \\\"^1.1\\\",\n        \\\"fideloper\/proxy\\\": \\\"^4\\\",\n        ......................\n        ... and other repo ...\n        ......................\n    },\n    \\\"require-all\\\": false,\n    \\\"require-dependencies\\\": true,\n    \\\"archive\\\": {\n        \\\"directory\\\": \\\"dist\\\",\n        \\\"format\\\": \\\"tar\\\",\n        \\\"skip-dev\\\": true\n    }\n}\n<\/pre>\n\n\n\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <strong>docker <\/strong>\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 <strong>satis<\/strong> &#8212;  docker-compose.yml \u043e\u043f\u0438\u0441\u0430\u043d \u043d\u0438\u0436\u0435. \u0422\u0430\u043a \u0436\u0435 \u0432 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a sftp \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. <\/p>\n\n\n\n<pre class=\\\"wp-block-preformatted\\\">satis:\n    image: composer\/satis\n    container_name: satis\n    ports:\n      - \\\"8001:8001\\\"\n    volumes:\n      - \/srv\/docker\/satis\/build:\/build\n      - \/srv\/docker\/satis\/composer:\/composer\n      - \/srv\/docker\/satis\/keys:\/keys\n      - \/srv\/docker\/satis\/ssh_config:\/root\/.ssh\/config\n    restart: always\n    command: php -S 0.0.0.0:8001 -t \/build\/output\n\n\nsftp-satis:\n    image: casp\/sftp-ftp\n    container_name: sftp-satis\n    volumes:\n      - \/srv\/docker\/satis\/build:\/build\n    restart: always\n    ports:\n      - \\\"2213:22\\\"\n    environment:\n      - USER_NAME=sftpdev\n      - USERID=0\n      - PUBKEY=\\'ssh-rsa ...... YOUR SSH KEY .... openssh-key\\'\n<\/pre>\n\n\n\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u0442\u0430\u0440\u0442\u0430 satis \u0432\u044b\u043a\u0430\u0447\u0430\u0435\u0442 \u0440\u0435\u043f\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435, \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043d\u044f\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443  \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c\u0443 \u0432 \u0434\u043e\u043a\u0435\u0440\u0444\u0430\u0439\u043b\u0435. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 8001.<\/p>\n\n\n\n<p>\u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043d\u0438\u0436\u0435:<\/p>\n\n\n\n<pre class=\\\"wp-block-preformatted\\\">docker exec -it satis php \/satis\/bin\/satis build \/build\/satis.json \/build\/output PKGNAME<\/pre>\n\n\n\n<p>\u0414\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 &#8212; \u0438\u043c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f.<\/p>\n\n\n\n\n<p><\/p>\n\n\n<p><!-- \/wp:post-content --><\/p>","protected":false},"excerpt":{"rendered":"<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 satis satis &#8212; \u043a\u0435\u0448\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432 php composer. \u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 docker. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 satis.json, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441 sftp \u0438 ftp \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0432\u043d\u0443\u0442\u0440\u0438. \u0424\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0440\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043e\u043b\u0436\u0435\u043d<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-28","post","type-post","status-publish","format-standard","hentry","category-docker","entry"],"_links":{"self":[{"href":"https:\/\/casp.ru\/index.php?rest_route=\/wp\/v2\/posts\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/casp.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/casp.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/casp.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/casp.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=28"}],"version-history":[{"count":4,"href":"https:\/\/casp.ru\/index.php?rest_route=\/wp\/v2\/posts\/28\/revisions"}],"predecessor-version":[{"id":38,"href":"https:\/\/casp.ru\/index.php?rest_route=\/wp\/v2\/posts\/28\/revisions\/38"}],"wp:attachment":[{"href":"https:\/\/casp.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=28"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/casp.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=28"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/casp.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}