This repository contains a set of ansible playbooks that builds a docker-powered conda environment and runs a plotly dash server over https using letsencrypt.
- An Ubuntu 20.04 droplet on Digital Ocean (Regular, 2 Gbytes Ram, 50 Gbyte SSD, $US 0.015/hour)
- A domain name managed by Digital Ocean ($1/12 months at https://www.namecheap.com/ )
- A Digital Ocean Personal Access api token
- replace
ansible_host
,ansible_ssh_private_key_file
with your node ip address and private key files in playbooks/hosts.yml - replace values for
root_domain
,github_repo
etc in in playbooks/vars/jovyan_vars.yml - Encrypt your Digital Ocean api token in a file that saves it as a variable named
vault_do_auth_token
and copy the file to playbooks/vars/vault.yml
- cd playbooks
- ansible-playbook -i hosts.yml -u root -l do1x setup_jovyan.yml
- ansible-playbook -i hosts.yml -u root -l do1x setup_docker.yml
- ansible-playbook -i hosts.yml -u jovyan -l do1x setup_conda.yml
- ansible-playbook -i hosts.yml -u jovyan -l do1x setup_git.yml
- ansible-playbook -i hosts.yml -u jovyan -l do1x setup_traefik.yml
- ansible-playbook -i hosts.yml -u jovyan -l do1x start_traefik.yml
- ansible-playbook -i hosts.yml -u jovyan -l do1x setup_dashboards.yml
- ansible-playbook -i hosts.yml -u jovyan -l do1x start_dashboards.yml
- ansible -i hosts.yml -u root do1x -m ping
- ansible-playbook -i hosts.yml -u jovyan -l do1x test_ansible.yml
echo 'my_vault_password' > ~/.vault_pass
ansible-config init --disabled -t all > ~/.ansible.cfg
ansible-vault encrypt --encrypt-vault-id traefik vault.yml
- move dot_ansible.cfg to ~/.ansible.cfg