{"id":21198547,"url":"https://github.com/natlibfi/ndl-vufind2-vagrant","last_synced_at":"2025-07-10T05:33:15.144Z","repository":{"id":7303623,"uuid":"42722665","full_name":"NatLibFi/NDL-VuFind2-Vagrant","owner":"NatLibFi","description":"Vagrant setup for NDL VuFind2","archived":false,"fork":false,"pushed_at":"2024-11-14T13:56:29.000Z","size":348,"stargazers_count":0,"open_issues_count":0,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-14T14:42:35.828Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/NatLibFi.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":"2015-09-18T13:04:30.000Z","updated_at":"2024-11-14T13:56:33.000Z","dependencies_parsed_at":"2024-11-14T14:36:19.799Z","dependency_job_id":"86cf0f34-945b-4b05-a1b0-28e5e790bca8","html_url":"https://github.com/NatLibFi/NDL-VuFind2-Vagrant","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/NatLibFi%2FNDL-VuFind2-Vagrant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLibFi%2FNDL-VuFind2-Vagrant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLibFi%2FNDL-VuFind2-Vagrant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLibFi%2FNDL-VuFind2-Vagrant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NatLibFi","download_url":"https://codeload.github.com/NatLibFi/NDL-VuFind2-Vagrant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225622927,"owners_count":17498168,"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-20T19:52:06.470Z","updated_at":"2025-07-10T05:33:15.131Z","avatar_url":"https://github.com/NatLibFi.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## NDL-VuFind2-Vagrant\n\n- [Overview](#overview)\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Set-Up](#set-up)\n- [Use](#use)\n  * [Useful Commands](#useful-commands)\n- [Email Testing Environment](#email-testing-environment)\n  * [Due Date Reminders](#due-date-reminders)\n  * [Scheduled Alerts](#scheduled-alerts)\n- [Unit Tests](#unit-tests)\n- [Troubleshooting](#troubleshooting)\n- [Known Issues](#known-issues)\n- [Resources](#resources)\n\n### Overview\n\nVagrant setup for \u003ca href=\"https://github.com/NatLibFi/NDL-VuFind2\"\u003eNDL VuFind2\u003c/a\u003e with two separate guest virtual machines:\n- **dev** (default)\n  - for development, uses NDL-VuFind2 files from the host's filesystem. An added development feature is the option to have also \u003ca href=\"https://github.com/NatLibFi/RecordManager-Finna\"\u003eRecordManager-Finna\u003c/a\u003e on the host's native filesystem. _This is the one you will most likely be using_.\n- **server**\n  - a testbed to build a personal test server; SELinux enabled so could maybe even be a rough outline to set-up a production server, who knows. Clones the latest NDL-VuFind2 from GitHub inside the guest.\n\n### Requirements\n\n- \u003ca href=\"https://www.vagrantup.com\"\u003eVagrant\u003c/a\u003e\n\n  AND a provider:\n- \u003ca href=\"https://www.virtualbox.org\"\u003eVirtualBox\u003c/a\u003e (**default** for ease of use, not for performance) \n  - **v7.xx recommended**\n  - v6.1.x Mac users should see [this](https://developer.apple.com/library/archive/technotes/tn2459/_index.html)\n\n  OR\n- [QEMU](https://www.qemu.org/download/#macos) (macOS only)  \n  Note: For Apple Silicon CPUs this is the only tested option\n \n  OR \n- [libvirt](https://libvirt.org/index.html) (Linux only)\n\n(Note:\n- [Hyper-V](https://www.vagrantup.com/docs/providers/hyperv) (Windows only) may work if using SMBv1 on the host for sharing but is untested - you have been warned!)\n\nAlso for _dev_ VM:\n- \u003ca href=\"https://github.com/NatLibFi/NDL-VuFind2\"\u003eNDL-VuFind2\u003c/a\u003e (_fork it!_) cloned to the host computer (**mandatory**)\n- \u003ca href=\"https://github.com/NatLibFi/RecordManager-Finna\"\u003eRecordManager-Finna\u003c/a\u003e also cloned to the host (**optional**)\n- \u003ca href=\"https://github.com/NatLibFi/finna-ui-components\"\u003efinna-ui-components\u003c/a\u003e also cloned to the host (**optional**)\n\n### Installation\n\nQuick way: install Vagrant and VirtualBox first and proceed to Set-Up.\n\n_Recommended way_: see [Wiki](https://github.com/NatLibFi/NDL-VuFind2-Vagrant/wiki) for more platform specific installation options.\n\n### Set-Up\n\n_dev_ ([jammy64](https://app.vagrantup.com/ubuntu/boxes/jammy64)):\n\n* Clone the NDL-VuFind2-Vagrant files to the host computer, preferably (but this is not an absolute must) into a directory parallel to the NDL-VuFind2 working directory e.g. _path-to/NDL-VuFind2_ \u0026 _same-path-to/NDL-VuFind2-Vagrant_. The directory names can also be different than those presented here. All the same applies also to RecordManager files if using it on the host.\n\n* Run `vagrant up` once or manually copy _VagrantConf.rb.sample_ to _VagrantConf.rb_.\n  * If the path to the NDL-VuFind2 working directory is other than _../NDL-VuFind2_ modify the _VagrantConf.rb_ \u003ca href=\"https://github.com/NatLibFi/NDL-VuFind2-Vagrant/blob/master/VagrantConf.rb.sample#L4\"\u003eVufindPath\u003c/a\u003e variable accordingly. The path can either be an absolute or a relative path as long as the NDL-VuFind2 files can be found there. Similar attention to possible RecordManager directory should be used.\u003cbr/\u003e\n  * Adjust also \u003ca href=\"https://github.com/NatLibFi/NDL-VuFind2-Vagrant/blob/bd4bd3e9affd8dbd47ca69a2e4c602d82afac8ff/VagrantConf.rb.sample#L45\"\u003eVMProvider\u003c/a\u003e accordingly if not using VirtualBox.\n\n* Run `vagrant up` again or manually copy _dev.conf.sample_ to _dev.conf_ and see the file for possible install configuration changes (e.g. using RecordManager on host or remote Solr server etc.) prior to running the VM in full.\n\n_server_ ([rockylinux9](https://app.vagrantup.com/rockylinux/boxes/9)):\n\n* Clone the NDL-VuFind2-Vagrant files to the host computer **unless this is already done**. If only using _server_, any directory with sufficent user permissions will do. If using both _dev_ \u0026 _server_, the same directory with _dev_ is fine.\n\n* Run `vagrant up server` once or manually copy _VagrantConf.rb.sample_ to _VagrantConf.rb_ **unless this is already done**. There should be no need for any changes.\n\n* Run `vagrant up server` again or manually copy _server.conf.sample_ to _server.conf_ and see the file for possible install configuration changes prior to running the VM in full.\n\n_both/either_:\n\nThe default is to install \u0026 run [Finna Solr](https://github.com/NatLibFi/finna-solr) \u0026 [RecordManager-Finna](https://github.com/NatLibFi/RecordManager-Finna) locally inside the VM. Some configuration options still exist (see also [Without local database](#without-local-database)) e.g. for RecordManager development:\n* Install only Finna Solr inside the guest VM\n  \u003e INSTALL_SOLR=true  \n  \u003e INSTALL_RECMAN=false\n\n* Use cloned RecordManager files on the host system instead of the guest VM (dev.conf only):\n  \u003e [RECMAN_DEV](https://github.com/NatLibFi/NDL-VuFind2-Vagrant/blob/master/dev.conf.sample#L74)=true ;default: false\n\nRegarding the records data:\n* default (but bare minimum for testing purposes): a sample data file exists in the [_data/_](https://github.com/NatLibFi/NDL-VuFind2-Vagrant/tree/master/data) directory to be imported to the local Solr database via RecordManager during install\n* more proper use: add your own data to the _data/_ directory before provisioning/installing **or** import your data manually from file(s) OR set up harvesting sources after the provisioning/installing is done. See [RecordManager \u0026 Importing Data](#importing-data).\n\n\u003cspan id=\"without-local-database\"\u003e**Without local database**\u003c/span\u003e: use a remote Solr server (like the _NDL development index_ - unfortunately, **limited users only**)\n* either set the EXTERNAL_SOLR_URL in the conf files (also set INSTALL_SOLR + INSTALL_RECMAN to _false_ as they are not needed), or\n* add the [external URL](https://github.com/NatLibFi/NDL-VuFind2/blob/dev/local/config/vufind/config.ini.sample#L15) to the _NDL-VuFind2/local/config/vufind/config.ini_ file after install.\n\nIf not using VirtualBox, see [Wiki](https://github.com/NatLibFi/NDL-VuFind2-Vagrant/wiki) for more platform and provider specific configuration options for [QEMU](https://github.com/NatLibFi/NDL-VuFind2-Vagrant/wiki/macOS#qemu-configuration) (macOS) and [libvirt](https://github.com/NatLibFi/NDL-VuFind2-Vagrant/wiki/Linux#libvirt-configuration) (Linux).\n\n### Use\n\n_dev_:\n- `vagrant up`\n  - This will take a few minutes, so enjoy your beverage of choice!\n- Point your browser to \u003ca href=\"http://localhost:8081/vufind2\"\u003ehttp://localhost:8081/vufind2\u003c/a\u003e  \n  blank page or errors:\n  - adjust VuFind config(s), reload browser page\n  - check forwarded ports `vagrant port` and adjust the URL if needed, reload browser page\n  - see also [Troubleshooting](#troubleshooting)\n- No integrated responsive/mobile development tool but try the native open source \u003ca href=\"https://responsively.app/#Features\"\u003eResponsively App\u003c/a\u003e (also on \u003ca href=\"https://github.com/manojVivek/responsively-app\"\u003eGitHub\u003c/a\u003e).\n- If you don't install Solr \u0026 RecordManager at `vagrant up` startup you can add them to the already started virtual machine later by first setting their install options to true in _dev.conf_ and then running consecutively\u003cbr\u003e`vagrant ssh -c \"bash /vagrant/scripts/dev_solr.sh\"`\u003cbr\u003e`vagrant ssh -c \"bash /vagrant/scripts/dev_recman.sh\"`\n  - This is quicker than `vagrant destroy` + `vagrant up` if building the VM from the ground up is not needed or preferred.\n\n**Note**: If RSync is enabled and you are making developement changes run:\n* `vagrant rsync-auto`\nto let vagrant keep up with the made changes and sync them into the VM–you can use another tab or start a screen session for running the command in the backround.\n(Another way is to manually run `vagrant rsync`\nbefore testing the made changes but the previous command automizes this.)\n\n_server_:\n- `vagrant up server`\n  - Again, this will take a few minutes...\n- `vagrant ssh -c \"/usr/bin/mysql_secure_installation\" server` to add MySQL root password and remove anonymous user \u0026 test databases\n- \u003ca href=\"http://localhost:8082/vufind2\"\u003ehttp://localhost:8082/vufind2\u003c/a\u003e  \n  blank page or errors:\n  - adjust VuFind config(s) inside the VM, reload browser page\n  - check forwarded ports `vagrant port server` and adjust the URL if needed, reload browser page\n  - see also [Troubleshooting](#troubleshooting).\n\nBoth machines can be run simultaneously provided the host has enough oomph–except with QEMU provider. See [Known Issues](#known-issues).\n\n**Solr**: `sudo service solr start|stop|restart|status` inside the VM to control the running state.\n- Solr Admin UI can be accessed at\n  - _dev_: \u003ca href=\"http://localhost:18983/solr\"\u003ehttp://localhost:18983/solr\u003c/a\u003e\n  - _server_: \u003ca href=\"http://localhost:28983/solr\"\u003ehttp://localhost:28983/solr\u003c/a\u003e\n\n\u003cspan id=\"importing-data\"\u003e**RecordManager \u0026 Importing Data**\u003c/span\u003e: Set to default, the provisioning phase will install a sample dataset to the local index. It is recommended to use your own data. The easiest way is to add a data file and a proper datasources.ini file to the _data/_ directory + adjust the RECMAN_SOURCE, RECMAN_DATASOURCE \u0026 RECMAN_DATA variables in dev-/server.conf prior to the `vagrant up` command. It is also possible to change the RECMAN_IMPORT to _false_ and set up data harvesting after installation. For more details, see \u003ca href=\"https://github.com/NatLibFi/RecordManager-Finna/blob/master/conf/datasources.ini.sample\"\u003edatasources.ini.sample\u003c/a\u003e and \u003ca href=\"https://github.com/NatLibFi/RecordManager/wiki/Usage\"\u003eRecordManager Usage\u003c/a\u003e.\n- \u003ca href=\"https://github.com/NatLibFi/RecordManager/wiki\"\u003eRecordManager Wiki\u003c/a\u003e for additional information.\n\n#### Useful Commands\n* `vagrant reload`\n  - reload the configuration changes made to _VagrantConf.rb_ file\n* `vagrant suspend`\n  - freeze the virtual machine, continue with `vagrant resume`\n* `vagrant halt`\n  - shut down the virtual machine, restart with `vagrant up --no-provision`\n* `vagrant destroy`\n  - delete the virtual machine\n* `vagrant ssh`\n  - login to the running virtual machine (vagrant:vagrant) e.g. to restart Apache `sudo service apache2 restart` or to check Apache logs `sudo tail -f /var/log/apache2/error.log`, `sudo tail -f /var/log/apache2/access.log`\n  - use option `-c` to run commands in guest via ssh e.g.\n\n    `vagrant ssh -c \"check-scss\"` to check for problems in scss, or\n\n    `vagrant ssh -c \"build-scss\"` to build scss, or\n\n    `vagrant ssh -c \"sudo service apache2 restart\"` to restart Apache etc.\n\n    `vagrant ssh -c \"phing ...\"` to run phing tasks, e.g.\n     - `vagrant ssh -c \"phing php-cs-fixer\"` etc.\n\n* `vagrant ssh -c \"neofetch\"`\n  - VM system info\n* `vagrant port`\n  - see all forwarded ports\n* `vagrant box update`\n  - update the cached boxes if newer versions exist\n* `vagrant box list`\n  - show the cached box files  \n    all unnecessary ones can be pruned at once or only specific box files be removed (add `-h` for help):\n\n    `vagrant box prune` or e.g.  \n    `vagrant box remove ubuntu/jammy64 --box-version 20221027.0.0`\n* `vagrant plugin install vagrant-vbguest`\n  - for prolonged use, install \u003ca href=\"https://github.com/dotless-de/vagrant-vbguest\"\u003evagrant-vbguest\u003c/a\u003e plugin to keep the host machines's VirtualBox Guest Additions automatically updated\n* `vagrant plugin update`\n  - keep the installed plugins up to date\n* ( `vagrant package --output dev_mybox.box` (use any name you wish for output)\n  - package the virtual machine as a new base box, roughly 700MB or more - the _VagrantConf.rb_ file needs to be edited to use the created box file. )\n\nWhen addressing the _server_ machine, just add ` server` at the end of each command.\n\n\u003ca href=\"https://docs.vagrantup.com/v2/cli/index.html\"\u003eVagrant documentation\u003c/a\u003e for more info.\n\n### Email Testing Environment\nTesting exists only in the _dev_ VM.\n\n- dev.conf:\n  \u003e[EMAIL_TEST_ENV](https://github.com/NatLibFi/NDL-VuFind2-Vagrant/blob/master/dev.conf.sample#L44)=true\n- add the settings below \u0026 adjust the [Mail] section accordingly - you need a working mail server - in _NDL-VuFind2/local/config/vufind/config.ini_\n  ```\n  [Site]\n  institution = testi\n\n  [Account]\n  force_first_scheduled_email = true\n\n  [Mail]\n  host            = localhost\n  port            = 25\n  ;username       = user\n  ;password       = \"pass\"  ; better to use quotes\n  ; If set to false, users can send anonymous emails; otherwise, they must log in first\n  require_login   = false\n  ```\n  - There might also be need to use the setting below but YMMV\n    ```\n    [Catalog]\n    driver = Demo\n    ```\n- After `vagrant up` use **127.0.0.1** instead of localhost i.e. \u003ca href=\"http://127.0.0.1:8081/vufind2\"\u003ehttp://127.0.0.1:8081/vufind2\u003c/a\u003e to log in as a (new) test user.\n#### Due Date Reminders\n- in user profile add the email address to receive the messages, set Due date reminders via email\n- run `vagrant ssh -c \"due_date_reminders\"`\n#### Scheduled Alerts\n- in user profile add the email address to receive the messages, if not already set\n- save a search or two, in Saved searched set the Alert schedule\n- run `vagrant ssh -c \"scheduled_alerts\"`\n\nThe email address in user profile should receive the messages. Note that another test user needs to be set up to run the made-up scheduled alerts again - turning them off and back on _might_ work but this is untested. \n\n### Unit Tests\n\nUnit tests can be run in the _dev_ VM if needed - this might come handy especially if developing upstream to \u003ca href=\"https://github.com/vufind-org/vufind\"\u003evufind.org repository\u003c/a\u003e.\n\nA quick example of running a single test (adjust params as needed):  \n`vagrant ssh -c \"./phing.sh phpunitfaster -Dphpunit_extra_params=/vufind2/module/VuFindConsole/tests/unit-tests/src/VuFindTest/Command/ScheduledSearch/NotifyCommandTest.php\"`\n\nFor more possibilities see [Using Phing](https://vufind.org/wiki/development:testing:unit_tests#using_phing) in the \u003ca href=\"https://vufind.org/wiki/development\"\u003eVuFind Developer Manual\u003c/a\u003e.\n\n### Troubleshooting\n\n1. Check the network connection is working. The virtual environment needs to load from several Internet resources and cannot build itself properly without them. Note that there might also be problems with the cloud resources themselves.\n\n2. As NDL-VuFind2 is being actively developed some new settings and configuration options will be presented in its _.ini/yaml/json.sample_ files from time to time. While building the virtual machine these files are only copied if previous ones don't already exist. Therefore should problems arise there might be need to make a backup of the _.ini/yaml/json_ files in _local/config/vufind/_ \u0026 _local/config/finna/_ before deleting all of them (not the _.sample_ ones!). The files will then be copied anew next time the virtual machine is succesfully build. If needed, the old settings can now be carried over manually from the backups.  \n**A telltale sign of this is usually when the dev machine fails to function properly or the PHP server crashes while the server machine is working properly** (if built).  \nIf all else fails, set LOCAL_CACHE_CLEAR to _true_ in _dev.conf_ to clear local cache files during the virtual machine provisioning. Remember to set this back to _false_ to avoid clearing the cache every consecutive time the _dev_ VM is being built.\n\n3. The Ubuntu basebox may be updated quite regularly so after `vagrant box update` it is not very common but quite possible that something breaks in the install scripts. If this happens and items 1 \u0026 2 are already ruled out, run `vagrant up 2\u003e\u00261 | tee ./vagrant-log.txt` with the default dev.conf settings + create an issue describing shortly what happened and include the logfile.\n\n4. \"Cannot shutdown/remove VM - HELP!\"  \nOften (but not always) it is possible to use the VirtualBox GUI to remove the troublesome VM.  \nIf this is not the case try VBoxManage:\n- Find the name (or ID) of the VM you want to remove:  \n`VBoxManage list vms`  \n- Shutdown the VM:  \n`VBoxManage startvm NAME(OR ID) --type emergencystop`\n- Delete the VM:  \n`VBoxManage unregistervm NAME(OR ID) --delete`\n\n5. \"Library not loaded: '/opt/vagrant/embedded/lib/libssh2.1.dylib' ... '/usr/lib/libssh2.1.dylib' (no such file)\" or similar error on `vagrant` commands after upgrading macOS and/or XCode when Vagrant installed via Homebrew  \n- Try reinstalling Vagrant:  \n`brew reinstall --cask vagrant`\n\n### Known Issues\n- If running Solr, [VirtualMemory](https://github.com/NatLibFi/NDL-VuFind2-Vagrant/blob/master/VagrantConf.rb.sample#L23) needs to be at least around 2048, which should work. Add more if/when needed considering the host has what to spare.\n- Antiquated software versions have issues e.g. Vagrant v1.8.7 (_curl_ issues), VirtualBox v5.0.28 \u0026 v5.1.8 (_Composer_ issues), maybe others. Use current versions!\n- Performance might be slightly slower than native LAMP/MAMP/WAMP but shouldn't be an issue. YMMV though, so worst case, try adding more [VirtualMemory](https://github.com/NatLibFi/NDL-VuFind2-Vagrant/blob/master/VagrantConf.rb.sample#L23) and/or raising [VirtualCPUs](https://github.com/NatLibFi/NDL-VuFind2-Vagrant/blob/master/VagrantConf.rb.sample#L27) to _2_ in _VagrantConf.rb_.\u003cbr\u003e\n  More speed can also be gained by enabling \u003ca href=\"https://www.vagrantup.com/docs/synced-folders/nfs.html\"\u003eNFS\u003c/a\u003e:\n  - Set \u003ca href=\"https://github.com/NatLibFi/NDL-VuFind2-Vagrant/blob/master/VagrantConf.rb.sample#L31\"\u003eEnableNFS\u003c/a\u003e to _true_.\n  - Mac users, with NFS enabled Vagrant needs to modify _/etc/exports_ and admin password will be asked at every `vagrant up` \u0026 `vagrant destroy` unless you once run `sudo scripts/nfs-sudoers_mac.sh` or manually modify sudoers. See \u003ca href=\"https://www.vagrantup.com/docs/synced-folders/nfs.html\"\u003eNFS\u003c/a\u003e for more information.  \n    Using VB v6.1.x, NFS will most likely be difficult to get working correctly. See \u003ca href=\"https://github.com/hashicorp/vagrant/blob/80e94b5e4ed93a880130b815329fcbce57e4cfed/website/pages/docs/synced-folders/nfs.mdx#troubleshooting-nfs-issues\"\u003ehere\u003c/a\u003e and \u003ca href=\"https://github.com/hashicorp/vagrant/issues/11555\"\u003ehere\u003c/a\u003e for NFS troubleshooting. If NFS is absolutely needed and v7.x.x is not an option and nothing else works, use the latest VB \u003ca href=\"https://www.virtualbox.org/wiki/Download_Old_Builds_6_0\"\u003ev6.0.x\u003c/a\u003e.\n  - Linux users, NFS must be used with libvirt provider. To avoid being asked for credentials at every `vagrant up` \u0026 `vagrant destroy` either manually modify sudoers or run `sudo scripts/nfs-sudoers_ubuntu.sh` or `sudo scripts/nfs-sudoers_fedora.sh` based on your platform. Please see \u003ca href=\"https://www.vagrantup.com/docs/synced-folders/nfs.html\"\u003eNFS\u003c/a\u003e for details.\n  - Windows users may want to try [Vagrant WinNFSd](https://github.com/winnfsd/vagrant-winnfsd) as by default NFS synced folders are ignored by Vagrant - yet again, this is untested!\n- On macOS, VirtualBox v6.1.x is known also to have some permission issues on occasion. Make sure you have given full disk access to Terminal in _System Prefences \u003e Security \u0026 Privacy \u003e Privacy_ (also check for relevant programs if using e.g. iTerm2 or integrated terminal in VSCode etc.).\n- Apple Silicon CPU users should use QEMU provider, which is limited to SMB sharing or RSync. VirtualBox [developer preview](https://www.virtualbox.org/wiki/Downloads) for Apple silicon may work but is untested.\n- QEMU provider ignores high-level network configurations and causes a conflict with SSH port forwarding if _dev_ \u0026 _server_ VMs are tried to be run simultaneously. Other providers shouldn't have this limitation given the host has enough resources.\n- QEMU and libvirt providers may prompt to destroy both VMs at `vagrant destroy` even when the other one is not running. If this is confusing, target the wanted VM using `vagrant destroy dev` or `vagrant destroy server`.\n- SMB sharing will first ask sudo password and later user credentials at `vagrant up`. User credentials are also asked at `vagrant destroy`.\n- Running on Linux has been tested to work with Linux Mint so Ubuntu(/Debian) based distros should likely work, others are unknown.\n- For those about to use Windows, we salute you! And best of luck–you tread the unwalked path.\n\n### Resources\n- [NDL-VuFind2](https://github.com/NatLibFi/NDL-VuFind2)\n- [finna-solr](https://github.com/NatLibFi/finna-solr)\n- [RecordManager-Finna](https://github.com/NatLibFi/RecordManager-Finna) \u0026 [RecordManager Wiki](https://github.com/NatLibFi/RecordManager/Wiki)\n- [finna-ui-components](https://github.com/NatLibFi/finna-ui-components)\n- [Vagrant](https://www.vagrantup.com/)\n- [VirtualBox](https://www.virtualbox.org/)\n- [QEMU](https://www.qemu.org/)\n- [libvirt](https://libvirt.org/)\n- [Hyper-V](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/)\n- [Ubuntu](https://ubuntu.com/)\n- [Rocky Linux](https://rockylinux.org/)\n- [Vagrant Cloud](https://app.vagrantup.com/boxes/search)\n- [Responsively.app](https://responsively.app/)\n- [VuFind](https://vufind.org)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatlibfi%2Fndl-vufind2-vagrant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnatlibfi%2Fndl-vufind2-vagrant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatlibfi%2Fndl-vufind2-vagrant/lists"}