Add docker-compose override & use ansible command module

This commit is contained in:
sonny 2024-10-08 10:01:23 +02:00
parent 23e73ceb60
commit 27c2c9e1d6
3 changed files with 64 additions and 16 deletions

View file

@ -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 }}'

View 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

View file

@ -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'