Basic Docker working

Changed files
+50
config
roles
knot-docker
defaults
tasks
+1
config/deploy.yaml
···
roles:
- geerlingguy.docker
+
- knot-docker
+10
config/roles/knot-docker/defaults/main.yaml
···
+
---
+
# Default variables for knot-docker role
+
knot_image: "tngl/knot:v1.10.0-alpha"
+
knot_container_name: "knot"
+
knot_server_hostname: "example.com"
+
knot_server_owner: "did:plc:example"
+
knot_server_port: "443"
+
knot_data_dir: "/var/lib/knot"
+
knot_repos_dir: "/var/lib/knot/repos"
+
knot_app_dir: "/var/lib/knot/app"
+39
config/roles/knot-docker/tasks/main.yaml
···
+
---
+
- name: Install Python dependencies for Docker modules
+
ansible.builtin.apt:
+
name:
+
- python3-requests
+
- python3-docker
+
state: present
+
update_cache: false
+
+
- name: Create Knot data directories
+
ansible.builtin.file:
+
path: "{{ item }}"
+
state: directory
+
mode: '0755'
+
loop:
+
- "{{ knot_data_dir }}"
+
- "{{ knot_repos_dir }}"
+
- "{{ knot_app_dir }}"
+
+
- name: Pull Knot Docker image
+
community.docker.docker_image:
+
name: "{{ knot_image }}"
+
source: pull
+
+
- name: Deploy Knot Docker container
+
community.docker.docker_container:
+
name: "{{ knot_container_name }}"
+
image: "{{ knot_image }}"
+
state: started
+
restart_policy: unless-stopped
+
ports:
+
- "3000:3000"
+
env:
+
KNOT_SERVER_HOSTNAME: "{{ knot_server_hostname }}"
+
KNOT_SERVER_OWNER: "{{ knot_server_owner }}"
+
KNOT_SERVER_PORT: "{{ knot_server_port }}"
+
volumes:
+
- "{{ knot_repos_dir }}:/repos"
+
- "{{ knot_app_dir }}:/app"