57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
- hosts: all
|
|
|
|
tasks:
|
|
- name: Install docker
|
|
ansible.builtin.apt:
|
|
name: docker.io
|
|
state: latest
|
|
update_cache: true
|
|
become: true
|
|
|
|
- name: Add our user to the docker group, so we don't need sudo/become
|
|
ansible.builtin.user:
|
|
name: '{{ ansible_user }}'
|
|
groups: docker
|
|
append: true # don't remove any existing groups
|
|
become: true
|
|
|
|
- name: Reset ssh connection to allow the user/group change to take effect
|
|
ansible.builtin.meta: reset_connection
|
|
|
|
- name: Build container image locally
|
|
community.docker.docker_image:
|
|
name: gamearray
|
|
source: build
|
|
state: present
|
|
build:
|
|
path: ..
|
|
platform: linux/amd64
|
|
force_source: true
|
|
delegate_to: 127.0.0.1
|
|
|
|
- name: Export container image locally
|
|
community.docker.docker_image:
|
|
name: gamearray
|
|
archive_path: /tmp/gamearray-img.tar
|
|
source: local
|
|
delegate_to: 127.0.0.1
|
|
|
|
- name: Upload image to server
|
|
ansible.builtin.copy:
|
|
src: /tmp/gamearray-img.tar
|
|
dest: /tmp/gamearray-img.tar
|
|
|
|
- name: Import container image on server
|
|
community.docker.docker_image:
|
|
name: gamearray
|
|
load_path: /tmp/gamearray-img.tar
|
|
source: load
|
|
force_source: true
|
|
state: present
|
|
|
|
- name: Run container
|
|
community.docker.docker_container:
|
|
name: gamearray
|
|
image: gamearray
|
|
state: started
|
|
recreate: true |