Within that directory, a Logs file gets created, which I'm sure is automatically created by VirtualBox. For example, after running that command, a directory called toople.mysql will get created in the VirtualBox's Default Machine Folder path (in my Vagrantfile, I defined my own provider name, which in this case is "toople.mysql"). By working directory, I'm referring to the virtual machine directory that gets created after running vagrant up. The CATMAID time zone is the same as the host machine, if the host machine has a POSIX terminal, or defaults to America/New_York (but the guest machine is UTC).Hey Mitchell, thanks for getting back to me. The database user passwrod is “p4ssw0rd”. The database user is called “catmaid_user”. The CATMAID database is called “catmaid”. If optional.sh was used to configure the VM, and no parameters were given using environment variables: Some guest ports are forwarded to the host machine so that you can access the database, test with the dev server, and look at the generated sphinx docs.ĭjango/projects/manage.py runserver :8888 The Python environment is stored in ~/catmaid-env, and is automatically activated when you SSH in. This prevents it interfering with the host’s node environment and vice versa. The Node environment is stored in ~/catmaid-npm-overlay/node_modules, and overlaid onto /CATMAID/node_modules. This is the exact same directory as lives on the host. In Linux, / is the root directory, and ~ is the home directory of the user (called vagrant in the container: so ~ is /home/vagrant). the data for these projects is probably not accessible), and sets CATMAID’s writable directory to /CATMAID/data. This creates your local settings, applies database migrations, collects static files as symlinks, creates a CATMAID superuser (you will need to input your the username, email, and password), inserts example projects (N.B. If the DB_NAME, DB_USER, DB_PASSWORD, or TIMEZONE environment variables are set (on the guest), they will override the defaults (when the machine is provisioned, the host’s timezone will be added to ~/timezone, which is used as the default timezone here). To finish off the installation according to the instructions, SSH into the VM ( vagrant ssh) and bash /CATMAID/scripts/vagrant/optional.sh. The database and CATMAID configuration are done separately, in case you prefer your own configuration to the recommendations in the installation instructions.
This provisioning gets you up to step 3 in the basic installation instructions (setting up the OS-level dependencies and python environment). Some red messages during provisioning are expected: every line prepended with a + is just showing what command is being run.
The first time the VM is started, it is “provisioned” - i.e. The hostname of the container will be catmaid-vm. They get their configuration from your user’s SSH configuration ( ~/.ssh/config on Linux).Ĭopy and paste (or echo) the output of vagrant ssh-config (ignoring any warnings from ruby gems) into this file. Tools like VScode need to be able to SSH into the container themselves. See the vagrant documentation for more details. Hibernate the container, saving its current state. Print out configuration for SSHing into the container with the regular ssh command (see below). If the container doesn’t exist, it will be provisioned (i.e.
If the image (box) doesn’t exist, it will be downloaded. Note also that VirtualBox may not be compatible with Docker under windows. You may need to enable virtualization in the BIOS.Īdditionally, install the vagrant-disksize plugin, with vagrant plugin install vagrant-disksize. Install vagrant and the VirtualBox VM provider. Once installed, you need only vagrant up inside the repository to create a fully-fledged Ubuntu VM with PostgreSQL running, fully populated Python and Node environments, and a base R environment. VirtualBox, VMWare, Hyper-V) implemented in ruby 2.6. Vagrant is an easy-to-configure abstraction layer over a number of virtual machine providers (e.g.