If you are running Docker on OSX (Mac), first see the related subheading below.
Ensure docker can be run without root privileges.
Change the current working directory to /deployment/docker
(the path containing this read-me). Modify ./changeme.auto.tfvars
with any custom values you like.
You must at least set the docker_gid
variable to a group id with write access to /var/run/docker.sock
.
Run stat /var/run/docker.sock
(or stat -x /var/run/docker.sock
on OSX) to show the owning group id.
Run the following to start an instance on your local computer using docker:
terraform init
./deploy.sh
Browse to http://localhost:8000/ to access the deployment.
To shut down this instance, run ./destroy.sh
. This will delete the instance, all of its data, and the container images.
OSX does not natively support Docker, it runs Docker within a Linux virtual machine. This workaround means that support is limited to only the most
basic use case. The following needs to be added to changeme.auto.tfvars
:
docker_gid = 0
docker_socket_path = "/run/host-services/docker.proxy.sock"
The last modification you need to make is to allow group write access to the docker socket within containers. To do this run the following:
docker run --rm -v /run/host-services/docker.proxy.sock:/run/host-services/docker.proxy.sock alpine chmod g+w /run/host-services/docker.proxy.sock
This command must be run any time you restart your system, before you can run deploy.sh or submit analysis. See docker/for-mac#3431 for more information about the issue.
Appropriate resources must be allocated to the Docker VM or OSX will randomly kill the application and tools during an analysis. A minimum of 8GB of RAM and 16GB of swap space is required. It is recommended to provide as much swap space as possible to avoid out of memory issues.
No providers.
Name | Source | Version |
---|---|---|
admin_user | ../../modules/bootstrap_admin | n/a |
galaxy | ../../destinations/docker | n/a |
Name | Description | Type | Default | Required |
---|---|---|---|---|
debug | Enabling will put the deployment into a mode suitable for debugging | bool |
n/a | yes |
docker_gid | GID with write permission to /var/run/docker.sock | number |
n/a | yes |
docker_socket_path | Host path to docker socket | string |
"/var/run/docker.sock" |
no |
Email address to send automated emails from | string |
n/a | yes | |
host_port | Host port to expose galaxy service | number |
n/a | yes |
instance | Unique deployment instance identifier | string |
n/a | yes |
microbedb_mount_path | Path on host to mount microbedb to share with jobs | string |
"./microbedb/mount" |
no |
worker_replicas | Number of worker replicas | number |
1 |
no |
Name | Description |
---|---|
galaxy_admin_api_key | Galaxy admin api key |
galaxy_admin_password | Galaxy admin password |
galaxy_admin_username | Galaxy admin username |
galaxy_endpoint | Galaxy front-end endpoint |
galaxy_master_api_key | Galaxy master api key |
No resources.