{"id":21659885,"url":"https://github.com/slub/ddev-sachsendigital","last_synced_at":"2025-04-11T22:41:01.021Z","repository":{"id":39801917,"uuid":"403912950","full_name":"slub/ddev-sachsendigital","owner":"slub","description":"DDEV Development Repo for Sachsen.Digital","archived":false,"fork":false,"pushed_at":"2024-08-20T15:20:51.000Z","size":25618,"stargazers_count":1,"open_issues_count":1,"forks_count":4,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-03-25T18:41:07.394Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slub.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":"2021-09-07T09:08:40.000Z","updated_at":"2024-08-20T15:20:55.000Z","dependencies_parsed_at":"2024-11-25T09:42:56.447Z","dependency_job_id":null,"html_url":"https://github.com/slub/ddev-sachsendigital","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fddev-sachsendigital","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fddev-sachsendigital/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fddev-sachsendigital/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fddev-sachsendigital/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slub","download_url":"https://codeload.github.com/slub/ddev-sachsendigital/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248493022,"owners_count":21113159,"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-11-25T09:31:50.547Z","updated_at":"2025-04-11T22:41:00.996Z","avatar_url":"https://github.com/slub.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ddev-sachsendigital\n\nThis repository provides a [DDEV](https://ddev.readthedocs.io/)-based development environment for Sachsen.Digital.\n\n## Quick Start\n\n1. Clone this repository\n   ```bash\n   git clone https://github.com/slub/ddev-sachsendigital.git\n   cd ddev-sachsendigital\n   ```\n\n1. Initialize the environment\n   ```bash\n   ./scripts/quickstart.sh\n   ```\n\n1. (Optional) Populate your Solr index by indexing or re-indexing sample documents\n   ```bash\n   ./scripts/doc-reindex.sh\n   ```\n\n1. Open the web page in your browser\n   ```bash\n   ddev launch\n   ```\n\n## Extension Development\n\nThis repository is configured to allow an easy local setup of Sachsen.Digital. If you would like to develop on one of the custom TYPO3 extensions, some adjustments are required.\n\n### Pre-configured\n\nYou may use the convenience script `scripts/ext-clone.sh` to clone the extensions into a subfolder `extensions/` and reconfigure `composer.json`:\n\n```bash\n./scripts/ext-clone.sh\nddev composer update\n```\n\n### Manually\n\n1. Clone the extension repositories somewhere.\n1. If the extensions are outside of the directory tree of this repository (symlinking is not enough!), create a file `.ddev/docker-compose.mounts.yaml` like this:\n   ```yaml\n   version: '3.6'\n   services:\n     web:\n       volumes:\n         - /your/path/to/extensions:/var/www/extensions\n   ```\n   Be aware that in relative paths, \"`.`\" points to `.ddev/`.\n1. In `composer.json`, update the `repositories` field; for example:\n   ```yaml\n   \"repositories\": {\n       \"kitodo-presentation\": {\n           \"type\": \"path\",\n           \"url\": \"/var/www/extensions/kitodo-presentation\"\n       },\n       // ...\n   }\n   ```\n   Composer also supports using wildcards:\n   ```yaml\n   \"repositories\": {\n       \"local\": {\n           \"type\": \"path\",\n           \"url\": \"/var/www/extensions/*\"\n       },\n       // ...\n   }\n1. (Re-)Start DDEV, then tell Composer about the changes to `composer.json`:\n   ```bash\n   ddev start\n   ddev composer update\n   ```\n\n## URLs\n\n- Backend Login: [https://sachsendigital.ddev.site/typo3/](https://sachsendigital.ddev.site/typo3/)\n   - User: `admin`\n   - Password: `adminslub`\n- Solr: [http://sachsendigital.ddev.site:8983/solr](http://sachsendigital.ddev.site:8983/solr)\n- XHProf (if enabled): [https://sachsendigital.ddev.site/xhprof/](https://sachsendigital.ddev.site/xhprof/)\n\n### Access Within Local Network\n\nTo make the site accessible on your local network—e.g., to test it on a mobile device—, one option is to expose the web container:\n\n- Set a new base URL in [config/sites/main/config.yaml](config/sites/main/config.yaml):\n  ```yaml\n  base: 'http://\u003clocal-ip-address\u003e:8080'\n  ```\n\n- Make the web container reachable, then restart:\n  ```bash\n  ddev config --host-webserver-port=8080 --bind-all-interfaces  # .ddev/config.yaml\n  ddev restart\n  ddev typo3cms cache:flush\n  ```\n\nSome more options are described in the [official documentation](https://ddev.readthedocs.io/en/stable/users/topics/sharing/).\n\n## Performance\n\nDDEV comes bundled with XHProf, which may be used to profile web requests and CLI commands.\n\n1. Enable/disable XHProf:\n   ```bash\n   ddev xhprof on\n   ddev xhprof off\n   ```\n\n1. Profiling results are stored in `.ddev/xhprof/*.xhprof` and may be browsed on [http://sachsendigital.ddev.site:8983/solr](http://sachsendigital.ddev.site:8983/solr).\n\n   Call `set_xhprof_namespace(\"...\")` (defined in `.ddev/xhprof_prepend.php`) within the application to set a display name for the result list.\n\n1. CLI commands: When the command is aborted via Ctrl-C (SIGINT), the shutdown handler is not called and results are not saved. To evade this, call `sxnd_sigint()` at the start of the command, and regularly call `pcntl_signal_dispatch()` within the command's execution.\n\n## Database Dump\n\nYou may use the utility script `db-precommit.sh` to cleanup the database and export a dump to `data/db.sql`. Note that doing this will log you out.\n\n```bash\n./scripts/db-precommit.sh\n```\n\nIf you find anything in the published database dump that should not be shared, please feel free to open an issue or a pull request.\n\n## Dependencies\n\n- (Optional) [mkcert](https://github.com/FiloSottile/mkcert) for locally trusted TLS certificates\n- [DDEV](https://ddev.readthedocs.io/)\n\n## Maintainer\n\ntypo3@slub-dresden.de\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslub%2Fddev-sachsendigital","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslub%2Fddev-sachsendigital","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslub%2Fddev-sachsendigital/lists"}