{"id":17356749,"url":"https://github.com/thujuli/dockerized-todo-flask","last_synced_at":"2026-01-07T04:41:05.579Z","repository":{"id":179752993,"uuid":"663869871","full_name":"thujuli/dockerized-todo-flask","owner":"thujuli","description":null,"archived":false,"fork":false,"pushed_at":"2023-07-08T21:44:15.000Z","size":714,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T19:23:22.876Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thujuli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-07-08T10:08:41.000Z","updated_at":"2023-07-08T10:08:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"aef57ed7-9939-4bf7-a5c8-721919599451","html_url":"https://github.com/thujuli/dockerized-todo-flask","commit_stats":null,"previous_names":["thujuli/dockerized-todo-flask"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thujuli%2Fdockerized-todo-flask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thujuli%2Fdockerized-todo-flask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thujuli%2Fdockerized-todo-flask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thujuli%2Fdockerized-todo-flask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thujuli","download_url":"https://codeload.github.com/thujuli/dockerized-todo-flask/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245872494,"owners_count":20686393,"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-15T18:58:27.971Z","updated_at":"2026-01-07T04:41:00.558Z","avatar_url":"https://github.com/thujuli.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dockerized Todo Flask\n\n## Backgourd\n\nThis repository discuss about, How do i deploy [todo-flask](https://github.com/thujuli/todo-flask \"todo-flask\") with Docker Compose and Backup \u0026 Restore database postgres from host to docker container using bash script\n\n## Requirements\n\n- Text Editor (nano/vi/nvim)\n- Linux/MacOS\n- Docker\n- Docker Compose\n- Cron/Cronie (jobs scheduling)\n\n## Setup and Running Project\n\n##### Clone repository [todo-flask](https://github.com/thujuli/todo-flask \"todo-flask\")\n\n```\n# clone repository (ssh)\ngit clone git@github.com:thujuli/todo-flask.git\n\n# clone repository (https)\ngit clone https://github.com/thujuli/todo-flask.git\n```\n\n![clone repository](images/git-clone.png?raw=true \"clone repository\")\n\n##### Change directory\n\n```\ncd todo-flask/\n```\n\n![change directory](images/cd-todo.png?raw=true \"change directory\")\n\n##### Running docker compose\n\n```\ndocker compose up -d\n```\n\n![docker compose up](images/docker-compose.png?raw=true \"docker compose up\")\n\n##### Check services\n\n```\ndocker compose ps\n```\n\n![docker compose ps](images/docker-ps.png?raw=true \"docker compose ps\")\n\n##### Copy script\n\n```\ncp script/backup.sh ~\n```\n\n![copy script](images/cp-script.png?raw=true \"copy script\")\n\n##### Edit crontab (using nvim)\n\n```\nEDITOR=nvim crontab -e\n```\n\n![edit crontab](images/edit-crontab.png?raw=true \"edit crontab\")\n\n##### Add cronjobs (auto backup at 23:59 every day)\n\n```\n59 23 * * * /bin/bash /home/thujuli/backup.sh\n```\n\n![add cronjobs](images/add-cronjobs.png?raw=true \"add cronjobs\")\n\n##### Exit nvim\n\n```\n:wq\n```\n\n![exit nvim](images/exit-nvim.png?raw=true \"exit nvim\")\n\n##### List documents (because, backup file store in documents)\n\n```\nls ~/Documents/\n```\n\n![list documents](images/ls-documents.png?raw=true \"list documents\")\n\n##### Copy backup file to postgres services\n\n```\nbash script/copy.sh\n```\n\n![copy backup file](images/copy.png?raw=true \"copy backup file\")\n\n##### Restore database from backup file\n\n```\nbash script/restore.sh\n```\n\n![restore database](images/restore.png?raw=true \"restore database\")\n\n##### Exec psql on flask-psql service\n\n```\ndocker exec -it flask-psql psql -U postgres\n```\n\n![docker exec](images/docker-exec.png?raw=true \"docker exec\")\n\n##### List database\n\n```\n\\l\n```\n\n![list database](images/db-list.png?raw=true \"list database\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthujuli%2Fdockerized-todo-flask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthujuli%2Fdockerized-todo-flask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthujuli%2Fdockerized-todo-flask/lists"}