{"id":20866308,"url":"https://github.com/slootjes/dms","last_synced_at":"2026-04-19T16:34:28.015Z","repository":{"id":44203158,"uuid":"254819879","full_name":"slootjes/dms","owner":"slootjes","description":"Dockerized PHP app to search PDF documents.","archived":false,"fork":false,"pushed_at":"2024-11-06T18:38:14.000Z","size":113,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-19T08:31:21.717Z","etag":null,"topics":["docker","docker-compose","document-management","pdf-documents","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/slootjes.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":"2020-04-11T07:57:25.000Z","updated_at":"2022-10-02T14:18:03.000Z","dependencies_parsed_at":"2025-01-19T08:26:44.042Z","dependency_job_id":"e642c279-28aa-4f78-ac3b-e92dca94a722","html_url":"https://github.com/slootjes/dms","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/slootjes%2Fdms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slootjes%2Fdms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slootjes%2Fdms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slootjes%2Fdms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slootjes","download_url":"https://codeload.github.com/slootjes/dms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243240227,"owners_count":20259391,"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":["docker","docker-compose","document-management","pdf-documents","php"],"created_at":"2024-11-18T05:57:50.587Z","updated_at":"2025-12-26T16:57:36.449Z","avatar_url":"https://github.com/slootjes.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Document Management System\n\n## Concept\n\n### File Structure\n\nPut all your pdf documents in a directory structure like this:\n\n#### With recipient\n\n`/{yyyy}/{MM}/{yyyy-MM-dd} - {sender} - {recipient} - {subject}.pdf`\n\nExample:\n`2020/04/2020/2020-04-12 - Sender - Receipient - Subject.pdf`\n\n#### With specific recipient\n\n`/{yyyy}/{MM}/{yyyy-MM-dd} - {sender} - {subject}.pdf`\n\nExample:\n`2020/04/2020/2020-04-12 - Sender - Subject.pdf`\n\n### Recommendation\nFor best results make sure your documents contain actual text (using ocr if needed) to improve reliability.\n\n### Application\n\nThe structure as is works really well on it's own to quickly find documents.\nMost operating systems are capable of finding files using their built-in search engine. \n\nTo make searching easier and allow searching specific documents the app can index your documents \nin Elasticsearch and provides an easy to use tool to search, view and download these documents.\n\n## Requirements\n\n- PHP ^7.4\n- Elasticsearch ^7.6 with Ingest Attachment Processor Plugin\n\n## Installation\n\n### Docker\n\nRecommended installation is by using the provider Dockerfile. \n\n#### Build\n`docker build -t dms .`\n\n#### Run\n`docker run -d -p 1337:80 -e APP_ENV=\"prod\" -e APP_SECRET=\"{something_random}\" -e ELASTICSEARCH_HOSTS=\"{elasticsearch_host}\" -v {path_to_your_documents}:/documents --name dms dms`\n\n### Docker Compose\n\nSee example setup combined with Elasticsearch and Kibana (optional) in docker-compose.yaml.\n\n### Commands\n\nOnce the app is up and running using Docker you can run the commands like this:\n\nSetup index: `docker exec dms php /var/www/html/bin/console document:setup`\n\nIndex your documents: `docker exec dms php /var/www/html/bin/console document:index`\n\n## Troubleshooting\n\n### Installing Elasticsearch Ingest Attachment Processor Plugin\n\nIf you have issues installing the plugin (eg: because of java permission issues), the easiest thing \nto do is to manually install the plugin after spinning up the Elasticsearch container:\n\n`docker exec -i -t elasticsearch /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment`\n\nMake sure you have mapped the `/usr/share/elasticsearch/plugins` folder from the container to a local volume.\nAfter this is done you must restart the container and you should be good to go.\n\n## Disclaimer\n\nYou can use this software as-is without any warranty.\nYou are responsible for securing your devices and software yourself.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslootjes%2Fdms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslootjes%2Fdms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslootjes%2Fdms/lists"}