{"id":16790308,"url":"https://github.com/cdgriffith/flaskbootstrap","last_synced_at":"2025-04-10T23:32:21.860Z","repository":{"id":66133600,"uuid":"132370546","full_name":"cdgriffith/FlaskBootstrap","owner":"cdgriffith","description":"Generic starting point for a standard flask project","archived":false,"fork":false,"pushed_at":"2018-05-31T04:16:58.000Z","size":11,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T20:21:22.434Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cdgriffith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-06T19:44:33.000Z","updated_at":"2022-03-04T10:13:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"5ea994a3-48b9-491f-9886-a91fe7686010","html_url":"https://github.com/cdgriffith/FlaskBootstrap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdgriffith%2FFlaskBootstrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdgriffith%2FFlaskBootstrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdgriffith%2FFlaskBootstrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdgriffith%2FFlaskBootstrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdgriffith","download_url":"https://codeload.github.com/cdgriffith/FlaskBootstrap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248316441,"owners_count":21083445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T08:29:26.289Z","updated_at":"2025-04-10T23:32:21.832Z","avatar_url":"https://github.com/cdgriffith.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FlaskBootstrap\nGeneric starting point for a standard flask project\n\nDesigned for:\n\n* Python 3.6+ \n* Linux\n\nRun the setup to rename everything to your own project name.\n\n```bash\npython -m venv venv\nsource venv/bin/activate\npip install reusables\n\npython project_setup.py\n```\n\nCreate your own config file at \u003cproject_name\u003e.config.yaml \n\nShould contain the following items:\n\n```yaml\nenv: production\nhost: 0.0.0.0\nport: 8080 # Should match the one in \u003cproject_name\u003e.nginx\nsession_secret: bad_secret  # make real one with os.urandom(32).hex()\n```\n\n\nRun the project:\n\n```bash\npip install -r requirements.txt\npython -m project_name\n```\n\n## Deploy for project_name\n\nAs on Ubuntu 18.04\n\nAs root:\n```\napt update\napt install nginx python3-venv python3-pip apache2-utils -y\nmkdir /var/log/\u003cproject_name\u003e\naddgroup \u003cproject_name\u003e\nadduser \u003cproject_name\u003e \u003cproject_name\u003e\nhtpasswd -c /etc/nginx/.htpasswd \u003cadmin_user\u003e\n\n# make the three directories of the current live site (src), backup duirng deploy (backup) and staged files for deployment (staging)\n\nmkdir -p /opt/\u003cproject_name\u003e /opt/\u003cproject_name\u003e/src /opt/\u003cproject_name\u003e/staging /opt/\u003cproject_name\u003e/backup\n\n# Copy project to /opt/\u003cproject_name\u003e/src/\n\nchown -R \u003cproject_name\u003e:\u003cproject_name\u003e /opt/\u003cproject_name\u003e\nsudo -u \u003cproject_name\u003e bash -c \"python3 -m venv /opt/\u003cproject_name\u003e/venv\"\nsudo -u \u003cproject_name\u003e bash -c \"/opt/\u003cproject_name\u003e/venv/bin/pip install -r /opt/\u003cproject_name\u003e/src/requirements.txt --no-cache\"\n\n# copy SSL certificate to /etc/ssl/certs/\u003cproject_name\u003e.crt\n# copy SSL key to /etc/ssl/private/\u003cproject_name\u003e.key\n\ncp /opt/\u003cproject_name\u003e/src/\u003cproject_name\u003e.nginx /etc/nginx/sites-available/\u003cproject_name\u003e\nchown root:root /etc/nginx/sites-available/\u003cproject_name\u003e\nchmod 0644 /etc/nginx/sites-available/\u003cproject_name\u003e\nln -s /etc/nginx/sites-available/\u003cproject_name\u003e /etc/nginx/sites-enabled/\u003cproject_name\u003e\nrm /etc/nginx/sites-enabled/default\n\ncp /opt/\u003cproject_name\u003e/src/\u003cproject_name\u003e.service /etc/systemd/system/\u003cproject_name\u003e.service\nchown root:root /etc/systemd/system/\u003cproject_name\u003e.service\nchmod 0755 /etc/systemd/system/\u003cproject_name\u003e.service\nsystemctl daemon-reload\nsystemctl enable  /etc/systemd/system/\u003cproject_name\u003e.service\nsystemctl start \u003cproject_name\u003e.service\n\n# Modify /etc/nginx/nginx.conf, add under http\n# client_max_body_size 2M;\n\nservice nginx restart\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdgriffith%2Fflaskbootstrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdgriffith%2Fflaskbootstrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdgriffith%2Fflaskbootstrap/lists"}