{"id":24383076,"url":"https://github.com/akmalovaa/meilisearch-backup","last_synced_at":"2026-04-13T01:15:42.004Z","repository":{"id":222272043,"uuid":"756767524","full_name":"akmalovaa/meilisearch-backup","owner":"akmalovaa","description":"meilisearch backup s3","archived":false,"fork":false,"pushed_at":"2024-02-14T07:53:57.000Z","size":2690,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T10:12:07.062Z","etag":null,"topics":["backup","docker","docker-compose","dump","meilisearch","minio","s3","script"],"latest_commit_sha":null,"homepage":"","language":"Python","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/akmalovaa.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}},"created_at":"2024-02-13T09:18:25.000Z","updated_at":"2024-12-26T09:18:20.000Z","dependencies_parsed_at":"2024-02-13T10:40:13.023Z","dependency_job_id":null,"html_url":"https://github.com/akmalovaa/meilisearch-backup","commit_stats":null,"previous_names":["akmalovaa/meilisearch-backup"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akmalovaa%2Fmeilisearch-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akmalovaa%2Fmeilisearch-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akmalovaa%2Fmeilisearch-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akmalovaa%2Fmeilisearch-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akmalovaa","download_url":"https://codeload.github.com/akmalovaa/meilisearch-backup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243258505,"owners_count":20262301,"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":["backup","docker","docker-compose","dump","meilisearch","minio","s3","script"],"created_at":"2025-01-19T10:12:15.511Z","updated_at":"2025-12-29T01:28:04.123Z","avatar_url":"https://github.com/akmalovaa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Meilisearch\n\nMeilisearch is a RESTful search API\n\n- https://www.meilisearch.com/\n- https://github.com/meilisearch/meilisearch\n\n## Meilisearch-backup\n\nSimple script to backup dump file on s3 storage\n\nFeature:\n- containerized\n- automatic scheduled\n- easy restore dump file\n- use in docker-compose or k8s sidecar container\n- save the latest 3 versions by default\n- customizable\n\nThis is a python container running in docker-compose or cronjob next to **meilisearch**\nContainers share a common `/tmp/dumps` directory\n\n### Backup\n\nBackup is done automatically every day in `MEILI_BACKUP_TIME` or you can run `python meilisearch_backup/action/backup.py` manually when connecting to the container\n\nS3 stores the 3 latest versions, you can change the variable `s3_number_of_buckets`\n\n### Restore (only manual)\n\nyou can run `python meilisearch_backup/action/restore.py` manually when connecting to the container\n\n```bash\ndocker-compose exec meilisearch-backup bash\npython restore.py\n```\n\nIn the meilisearch container, make sure the dump is downloaded `/tmp/dumps/meilisearch_backup.dump`\n\nTo restore, delete the current data and restart\n\n```bash\ndocker-compose exec meilisearch sh\nrm -rf data.ms\nreboot\n```\n\n### Dev/Test docker-compose\n\n`docker-compose.yaml` is used for develop and test local, \n\nBuild\n\n```bash\ntask build\n```\n\nRun docker-compose\n```bash\ntask up\n```\n\nYou need to fill in some data in the **meilisearch** database to check it. Because the minimum size of the dump file = 500Kb\n\nyou can use the `test` directory to add data\n\nRun backup\n```bash\ntask run-backup\n```\n\nYou can check in S3 minio gui that the dump file is loaded `http://localhost:9001`\n\n### Settings\n\nAll script settings can be found in the file - `meilisearch_backup/meilisearch_backup/settings.py`\n\n\n| Variables | Default | Descriptions |\n|----------|----------|----------|\n| meili_url | http://meilisearch:7700  |  Meilisearch url |\n| meili_master_key | DEVLOCALMASTERKEY | Meilisearch MASTER KEY |\n| meili_dump_dir | /tmp/dumps | dumps dir |\n| meili_backup_time | 01:00:00 | Every day at this time does a dump |\n| meili_max_dump_create_time_sec | 3600 | Maximum time for dump task execution |\n| meili_min_dump_size_bytes | 500000 | 500kb Minimum dump file size (for protection in case of data loss to avoid overwriting current dump files) |\n| s3_backup | True | To disable sending to S3 (will only create dump in local filesystem) |\n| s3_endpoint | http://minio:9000| S3 url |\n| s3_access_key | minioadmin | S3 access key |\n| s3_secret_key | minioadmin | S3 secret key |\n| s3_meilisearch_bucket | meilisearch-backup | S3 bucket name |\n| s3_backup_name | meilisearch_backup.dump | recovery dump file name |\n| s3_number_of_saved_buckets | 3 | number of files to be saved S3 |\n| number_of_saved_dumps | 3 | number of files to be saved in the local file system |\n\n---\n\nk8s sidecar container example:\n```YAML\ncontainers: \n  - name: meilisearch-backup\n    image: meilisearch-backup:1.1.0\n    command:\n      - python\n    args:\n      - '-m'\n      - meilisearch_backup\n    resources:\n      limits:\n        cpu: 200m\n        memory: 256Mi\n      requests:\n        cpu: 100m\n        memory: 128Mi\n    envFrom:\n      - configMapRef:\n          name: meilisearch-environment\n    volumeMounts:\n      - name: tmp\n        mountPath: /tmp\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakmalovaa%2Fmeilisearch-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakmalovaa%2Fmeilisearch-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakmalovaa%2Fmeilisearch-backup/lists"}