Add docker-compose override & use ansible command module
This commit is contained in:
parent
23e73ceb60
commit
27c2c9e1d6
3 changed files with 64 additions and 16 deletions
57
tasks.yml
57
tasks.yml
|
|
@ -23,24 +23,51 @@
|
||||||
version: '{{ app_ref }}'
|
version: '{{ app_ref }}'
|
||||||
update: true
|
update: true
|
||||||
|
|
||||||
- name: copy .production.env
|
- name: copy templates
|
||||||
template:
|
template:
|
||||||
src: 'templates/env.j2'
|
src: '{{ item.src }}'
|
||||||
dest: '{{ app_dir }}/.production.env'
|
dest: '{{ item.dest }}'
|
||||||
|
loop:
|
||||||
|
- { src: 'templates/env.j2', dest: '{{ app_dir }}/.production.env' }
|
||||||
|
- {
|
||||||
|
src: 'templates/docker-compose.j2',
|
||||||
|
dest: '{{ app_dir }}/docker-compose.resources.yml'
|
||||||
|
}
|
||||||
|
|
||||||
- name: stop newsreader
|
- name: stop newsreader
|
||||||
docker_compose:
|
command: >
|
||||||
project_src: '{{ app_dir }}'
|
docker compose
|
||||||
state: absent
|
--env-file .production.env
|
||||||
|
--file docker-compose.yml
|
||||||
|
--file docker-compose.production.yml
|
||||||
|
--file docker-compose.resources.yml
|
||||||
|
down
|
||||||
|
args:
|
||||||
|
chdir: '{{ app_dir }}'
|
||||||
|
|
||||||
# TODO: recreate static volume
|
# to allow next startup to generate a new volume
|
||||||
|
- name: remove static volume
|
||||||
|
command: docker volume rm newsreader_static-files
|
||||||
|
|
||||||
|
- name: build newsreader
|
||||||
|
command: >
|
||||||
|
docker compose
|
||||||
|
--env-file .production.env
|
||||||
|
--file docker-compose.yml
|
||||||
|
--file docker-compose.production.yml
|
||||||
|
--file docker-compose.resources.yml
|
||||||
|
build
|
||||||
|
args:
|
||||||
|
chdir: '{{ app_dir }}'
|
||||||
|
|
||||||
- name: start newsreader
|
- name: start newsreader
|
||||||
docker_compose:
|
command: >
|
||||||
build: true
|
docker compose
|
||||||
state: present
|
--env-file .production.env
|
||||||
project_src: '{{ app_dir }}'
|
--file docker-compose.yml
|
||||||
env_file: '{{ app_dir }}/.production.env'
|
--file docker-compose.production.yml
|
||||||
files:
|
--file docker-compose.resources.yml
|
||||||
- docker-compose.yml
|
up
|
||||||
- docker-compose.production.yml
|
--detach
|
||||||
|
args:
|
||||||
|
chdir: '{{ app_dir }}'
|
||||||
|
|
|
||||||
21
templates/docker-compose.j2
Normal file
21
templates/docker-compose.j2
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
|
x-web-resources: &web-resources
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '2'
|
||||||
|
memory: 2GB
|
||||||
|
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '4'
|
||||||
|
|
||||||
|
celery:
|
||||||
|
<<: *web-resources
|
||||||
|
|
||||||
|
django:
|
||||||
|
<<: *web-resources
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
app_name: 'newsreader'
|
app_name: 'newsreader'
|
||||||
app_repository: 'https://git.fudiggity.nl/sonny/newsreader'
|
app_repository: 'https://git.fudiggity.nl/sonny/newsreader'
|
||||||
app_ref: '0.5.0'
|
app_ref: '0.5.1'
|
||||||
app_dir: '/srv/docker/newsreader'
|
app_dir: '/srv/docker/newsreader'
|
||||||
|
|
||||||
django_settings_module: 'newsreader.conf.production'
|
django_settings_module: 'newsreader.conf.production'
|
||||||
|
|
|
||||||
Reference in a new issue