manage.py changed to lf; FTs tweaked to accomodate WSL2 ansible deployment
This commit is contained in:
@@ -1,57 +1,89 @@
|
||||
- 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
|
||||
- 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: /mnt/d/cosmovault/latticework/oreilly/percival/python-tdd
|
||||
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: Ensure .secret-key files exists
|
||||
# the intention is that this only happens once per server
|
||||
ansible.builtin.copy:
|
||||
dest: ~/.secret-key
|
||||
content: "{{ lookup('password', '/dev/null length=32 chars=ascii_letters') }}"
|
||||
mode: 0600
|
||||
force: false # do not recreate file if it already exists
|
||||
|
||||
- name: Read secret key back from file
|
||||
ansible.builtin.slurp:
|
||||
src: ~/.secret-key
|
||||
register: secret_key
|
||||
|
||||
- name: Ensure db.sqlite3 file exists outside container
|
||||
ansible.builtin.file:
|
||||
path: "{{ ansible_env.HOME }}/db.sqlite3"
|
||||
state: touch
|
||||
owner: 1234 # so nonroot user can access it in container
|
||||
become: true # needed for ownership change
|
||||
|
||||
- name: Run container
|
||||
community.docker.docker_container:
|
||||
name: gamearray
|
||||
image: gamearray
|
||||
state: started
|
||||
recreate: true
|
||||
env:
|
||||
DJANGO_DEBUG_FALSE: "1"
|
||||
DJANGO_SECRET_KEY: "{{ secret_key.content | b64decode }}"
|
||||
DJANGO_ALLOWED_HOST: "staging.earthmanrpg.me,104.131.184.0,localhost"
|
||||
DJANGO_DB_PATH: "/home/nonroot/db.sqlite3"
|
||||
ports:
|
||||
80:8888 # container port 80 (standard http port) maps to server port 8888 (arbitrary internal port)
|
||||
|
||||
- name: Run migration inside container
|
||||
community.docker.docker_container_exec:
|
||||
container: gamearray
|
||||
command: ./manage.py migrate
|
||||
Reference in New Issue
Block a user