{ "info": { "author": "Alex Rudakov", "author_email": "ribozz@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Documentation", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Installation/Setup", "Topic :: System :: Software Distribution" ], "description": "ficloud\n======\n\nficloud alows to deploy your fig infrastructure to remote servers . Also it\nprovides all the services needed for hosting production apps.\n\nFeatures:\n\n - define your app config through Dockerfile and fig.yml\n - easy deploy through git push\n - pushing several versions of app (dev, staging, production ... etc)\n - haproxy based balancer tcp\n - easy switch balancer endpoint between app versions (ex swap prod and dev)\n - persistent storage for containers\n - easy copying persistence storage between containers (prod -> staging, etc)\n - push and pull persistent volumes from your production server\n\nInstallation\n-------------\n\nInstall docker: http://docs.docker.io/en/latest/installation/\n\nMake sure you can run docker containers::\n\n sudo docker run -i -t ubuntu echo -e \"OK\";\n\nInstall packages::\n\n sudo apt-get install python-pip python-dev\n sudo pip install ficloud\n\nTest that ficloud is working::\n\n $ ficloud-server app-list\n\n +-----+---------+-------+\n | App | Version | State |\n +-----+---------+-------+\n +-----+---------+-------+\n\nCreate ficloud user (you can pick any username)::\n\n sudo useradd -s /bin/bash -d /home/ficloud -m ficloud\n sudo su ficloud\n cd /home/ficloud\n mkdir ~/.ssh\n vim ~/.authorized_keys # insert your ssh key and ssh key of your root user into this file\n chmod -R go-rwx ~/.ssh\n\nTest you can ssh into your server using ficloud account::\n\n ssh ficloud@yourserver.com\n\nMake sure your root user can also access your server::\n\n sudo ssh ficloud@yourserver.com\n\nAdd ficloud user to docker group::\n\n sudo usermod -a -G docker ficloud\n\nCheck ficloud can run docker now::\n\n sudo su ficloud\n docker run -i -t ubuntu echo -e \"\\033[0;32mFicloud can run Docker - OK\\033[0m\";\n exit\n\nInstall haproxy::\n sudo apt-get install haproxy\n sudo echo \"ENABLED=1\" | sudo tee /etc/default/haproxy\n sudo service haproxy start\n sudo curl https://raw.github.com/pywizard/ficloud/master/examples/haproxy.cfg.tpl | sudo tee /etc/haproxy/haproxy.cfg.tpl\n\nNow install incron to reconfigure haproxy, when you deploy new apps::\n\n sudo apt-get install incron\n sudo echo \"root\" | sudo tee /etc/incron.allow\n\nEdit incrontab file and insert lines generated by inotify-dump in incrontab file::\n \n ficloud-server inotify-dump\n\n /home/ficloud/apps-conf IN_MODIFY,IN_CREATE,IN_DELETE,IN_NO_LOOP /usr/local/bin/ficloud-server balancer-dump /home/ficloud/apps-conf\n /etc/haproxy/haproxy.cfg.tpl IN_MODIFY,IN_CREATE,IN_DELETE,IN_NO_LOOP /usr/local/bin/ficloud-server balancer-dump /home/ficloud/apps-conf\n\n $ sudo incrontab -e\n\nAnd the last thing. Allow ficloud to read-write any docker container volume:\n \n ficloud ALL= NOPASSWD:/usr/bin/rsync\n \n \nInstall git:\n\n sudo apt-get install git\n\n\nDeployement\n-------------\n\nStart by creating application that is working locally using fig.yml\n\nSet working ssh account::\n\n $ ficloud use ficloud@myserver.com\n\nCreate an application:\n\n $ ficloud remote app-create foo\n\nDeploy code:\n\n $ git push ficloud@myserver.com:apps/foo master:prod\n\nCheck port number:\n\n $ ficloud remote app-list\n\nConfigure balancer:\n\n $ ficloud remote balancer set mydomain.com web:80@foo#prod\n\nPush volume to deployment:\n\n $ filcoud volume-push web/code@foo#master\n\nPush volume from deployment:\n\n $ filcoud volume-pull web/code@foo#master\n\nRemote volume copy:\n\n $ ficloud remote volume-copy web/code@foo#master foo#v1\n\nYour app is deployed!\n\nData migration\n----------------", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pywizard.com/ficloud/", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "ficloud", "package_url": "https://pypi.org/project/ficloud/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ficloud/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pywizard.com/ficloud/" }, "release_url": "https://pypi.org/project/ficloud/0.1.13/", "requires_dist": null, "requires_python": null, "summary": "Production cloud deployments of fig infrastructure with docker", "version": "0.1.13" }, "last_serial": 1032232, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "aaddeab6c5e24faf6f26d8e360ddbdb4", "sha256": "10727ebfc7f89c4a8363f668a5cec36476ccea47cd27b22b5f9681b74c40840a" }, "downloads": -1, "filename": "ficloud-0.1.1.tar.gz", "has_sig": false, "md5_digest": "aaddeab6c5e24faf6f26d8e360ddbdb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20845, "upload_time": "2014-02-25T10:34:06", "url": "https://files.pythonhosted.org/packages/bd/4d/a19cbecd3414d698a0c7e06823ba72c878d84a4a6b65a37c9386a01cee7b/ficloud-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "f79d2223634fc780c3bc59f81ebde6bc", "sha256": "4f64fdedc86f59373d7823d110fe3c7d1e177ca8287c31980fe8a5aca48f646b" }, "downloads": -1, "filename": "ficloud-0.1.10.tar.gz", "has_sig": false, "md5_digest": "f79d2223634fc780c3bc59f81ebde6bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26078, "upload_time": "2014-03-07T11:39:37", "url": "https://files.pythonhosted.org/packages/26/b5/65a7fc6f7bf0cbdcff739da6f53af700a13b6a24d627dad3d92f53b0b209/ficloud-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "92e6ff16b72f71bf379c16a6fb3b05a8", "sha256": "6e17975b49a7c6d39098c111f364bf743b3bd1df5d1e14d7bbc9cb2cc3023c7c" }, "downloads": -1, "filename": "ficloud-0.1.11.tar.gz", "has_sig": false, "md5_digest": "92e6ff16b72f71bf379c16a6fb3b05a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26080, "upload_time": "2014-03-07T11:45:52", "url": "https://files.pythonhosted.org/packages/ff/e3/d3726d949e05e7896da9999a73d3dafbf1b6fc8c80fea6e9a43b72d5e373/ficloud-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "c55ac9ab9f291fd4e8a6cc4b6f5cf1a1", "sha256": "d89cf1456cd2aeaca275c83cd156c574f1331c4ceab66caa3e96123d33f1884b" }, "downloads": -1, "filename": "ficloud-0.1.12.tar.gz", "has_sig": false, "md5_digest": "c55ac9ab9f291fd4e8a6cc4b6f5cf1a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26220, "upload_time": "2014-03-12T12:43:42", "url": "https://files.pythonhosted.org/packages/a9/bd/79b2ff704ecaee5cb24e98e630679e8e47da8a8f8d52e642514e6bbcf1f9/ficloud-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "1207d843532d58149990988e81dcbd7d", "sha256": "c79b8a648a607cacebc1fae16ae48070f750cace1f7f973da299cdea768e9c7a" }, "downloads": -1, "filename": "ficloud-0.1.13.tar.gz", "has_sig": false, "md5_digest": "1207d843532d58149990988e81dcbd7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26258, "upload_time": "2014-03-17T12:03:15", "url": "https://files.pythonhosted.org/packages/89/09/dc0a951aba1b5b7a4695e120c8bf346784706083561303cf39f53fd4895b/ficloud-0.1.13.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "7e5a752d33aaf074903ad1a44126ede9", "sha256": "75f97e44a7cf0c0c8db32f18823e0a756790b9a9684c4d568f01a462aeb44444" }, "downloads": -1, "filename": "ficloud-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7e5a752d33aaf074903ad1a44126ede9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22642, "upload_time": "2014-02-25T11:46:45", "url": "https://files.pythonhosted.org/packages/1b/c7/b5799063ceede326fb1badcb1fc8aa8bc483592867b67d934132ebe68bb0/ficloud-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "597c4d05b3646696d7d8994976a80da4", "sha256": "c9493328b71498c58051d455bbabd799e92481f90ea1f2113965eed4dd2f4f76" }, "downloads": -1, "filename": "ficloud-0.1.3.tar.gz", "has_sig": false, "md5_digest": "597c4d05b3646696d7d8994976a80da4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23088, "upload_time": "2014-02-25T16:47:10", "url": "https://files.pythonhosted.org/packages/8f/32/b5ade564984168ae0b1f09895113be879507b53d321de1591eed528d94af/ficloud-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "a3b7b681a9d01a8345cd5ee787f40da0", "sha256": "bc51fcb3f2a146151ae9fda006a40b16ef0f83e5a95885478f4b777c169b6653" }, "downloads": -1, "filename": "ficloud-0.1.4.tar.gz", "has_sig": false, "md5_digest": "a3b7b681a9d01a8345cd5ee787f40da0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23999, "upload_time": "2014-02-26T11:34:25", "url": "https://files.pythonhosted.org/packages/8f/3c/5e5bf2af58336a0f4bfde44242160bc74650b4ffe55eeadf0d58240302e2/ficloud-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "4a3d039f4890d04c5871972cb20503ac", "sha256": "46e8e145a348fafef6f160e87f94ac7a40a279bd5fb34aca1a1174e6eb352e69" }, "downloads": -1, "filename": "ficloud-0.1.5.tar.gz", "has_sig": false, "md5_digest": "4a3d039f4890d04c5871972cb20503ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23937, "upload_time": "2014-02-26T14:03:39", "url": "https://files.pythonhosted.org/packages/0d/9a/2842f57994b5762982aae7bba1954524d7dad4afb321e24f5ad99b287108/ficloud-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "675cb3ef55ed82d7cdb3e589869325fa", "sha256": "180e082c95e479dbc5044de634be0efc1873eac71f71546774f195d0bcf39fa8" }, "downloads": -1, "filename": "ficloud-0.1.6.tar.gz", "has_sig": false, "md5_digest": "675cb3ef55ed82d7cdb3e589869325fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24649, "upload_time": "2014-02-26T19:34:49", "url": "https://files.pythonhosted.org/packages/a4/12/84cb69b8f6cf41650598ff7c518e43ae7f6b3c455336190fe480a6254175/ficloud-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "484d15ea0cfed79717e8dfaf6ea4ed0d", "sha256": "87282331d02a34049a39152838a4f55b7182f676463867669e16883a09e32771" }, "downloads": -1, "filename": "ficloud-0.1.7.tar.gz", "has_sig": false, "md5_digest": "484d15ea0cfed79717e8dfaf6ea4ed0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23713, "upload_time": "2014-02-28T06:33:38", "url": "https://files.pythonhosted.org/packages/91/77/29af2fa9e159c02cea11b5e66faf28b3b7373b629ef7b2057e724610c121/ficloud-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "613d5a1b60a06567799e925df7677b6c", "sha256": "7f547e228848721d1f3c58dcc2f7a254cb27672871785e19cf2488c2a4e9de5f" }, "downloads": -1, "filename": "ficloud-0.1.8.tar.gz", "has_sig": false, "md5_digest": "613d5a1b60a06567799e925df7677b6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26036, "upload_time": "2014-03-05T08:51:42", "url": "https://files.pythonhosted.org/packages/a5/91/f01a95eb7f32cb405c1475c3fc0df861fe87e1efddd74d1e04a3b56fdb43/ficloud-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "85b4cc11889a751b72a1e5a918e89bdf", "sha256": "81ae53279fcc1075f6bef985e43bfffe6a7557d4629ff9f33c794532a83ec1f9" }, "downloads": -1, "filename": "ficloud-0.1.9.tar.gz", "has_sig": false, "md5_digest": "85b4cc11889a751b72a1e5a918e89bdf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26036, "upload_time": "2014-03-07T11:12:29", "url": "https://files.pythonhosted.org/packages/5a/45/aa22f0603b702081b410ea6183b9d7d6a505feb0b6a11ee530ea37a31d21/ficloud-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1207d843532d58149990988e81dcbd7d", "sha256": "c79b8a648a607cacebc1fae16ae48070f750cace1f7f973da299cdea768e9c7a" }, "downloads": -1, "filename": "ficloud-0.1.13.tar.gz", "has_sig": false, "md5_digest": "1207d843532d58149990988e81dcbd7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26258, "upload_time": "2014-03-17T12:03:15", "url": "https://files.pythonhosted.org/packages/89/09/dc0a951aba1b5b7a4695e120c8bf346784706083561303cf39f53fd4895b/ficloud-0.1.13.tar.gz" } ] }