Compare commits
9 commits
docker-ref
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 8ec9bbb77e | |||
| 385859ec1c | |||
| 184c97b2c9 | |||
| 6614afbc29 | |||
| 2f93d2580b | |||
| 27c2c9e1d6 | |||
| 23e73ceb60 | |||
| 73784bb21f | |||
| 5091fd5b60 |
4 changed files with 94 additions and 25 deletions
59
tasks.yml
59
tasks.yml
|
|
@ -20,25 +20,54 @@
|
||||||
git:
|
git:
|
||||||
repo: '{{ app_repository }}'
|
repo: '{{ app_repository }}'
|
||||||
dest: '{{ app_dir }}'
|
dest: '{{ app_dir }}'
|
||||||
version: '{{ app_branch }}'
|
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 }}'
|
||||||
|
|
||||||
|
# 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 }}'
|
||||||
|
|
|
||||||
37
templates/docker-compose.j2
Normal file
37
templates/docker-compose.j2
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
|
x-web-resources: &web-resources
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '2'
|
||||||
|
memory: 2GB
|
||||||
|
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
restart: always
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '4'
|
||||||
|
|
||||||
|
rabbitmq:
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
memcached:
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
celery:
|
||||||
|
<<: *web-resources
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
django:
|
||||||
|
<<: *web-resources
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 4GB
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
nginx:
|
||||||
|
restart: always
|
||||||
|
|
@ -26,5 +26,7 @@ TWITTER_CONSUMER_ID='{{ twitter_client_id }}'
|
||||||
TWITTER_CONSUMER_SECRET='{{ twitter_client_secret }}'
|
TWITTER_CONSUMER_SECRET='{{ twitter_client_secret }}'
|
||||||
TWITTER_REDIRECT_URL='{{ twitter_redirect_url }}'
|
TWITTER_REDIRECT_URL='{{ twitter_redirect_url }}'
|
||||||
|
|
||||||
|
VERSION='{{ app_ref }}'
|
||||||
|
|
||||||
SENTRY_DSN='{{ sentry_dsn }}'
|
SENTRY_DSN='{{ sentry_dsn }}'
|
||||||
ADMINS='{{ admins }}'
|
ADMINS='{{ admins }}'
|
||||||
|
|
|
||||||
21
vars/app.yml
21
vars/app.yml
|
|
@ -1,6 +1,6 @@
|
||||||
app_name: 'newsreader'
|
app_name: 'newsreader'
|
||||||
app_repository: 'https://git.fudiggity.nl/sonny/newsreader'
|
app_repository: 'https://forgejo.fudiggity.nl/sonny/newsreader'
|
||||||
app_branch: '0.4.2'
|
app_ref: '0.5.3'
|
||||||
app_dir: '/srv/docker/newsreader'
|
app_dir: '/srv/docker/newsreader'
|
||||||
|
|
||||||
django_settings_module: 'newsreader.conf.production'
|
django_settings_module: 'newsreader.conf.production'
|
||||||
|
|
@ -15,14 +15,15 @@ django_secret_key: !vault |
|
||||||
356533316361653939303165313766633666
|
356533316361653939303165313766633666
|
||||||
|
|
||||||
sentry_dsn: !vault |
|
sentry_dsn: !vault |
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
62663633303937303836306431396435343838626439373733353464366266383364343365333735
|
37613964323436313965306364383537373437633262363036663939616235343932646238393432
|
||||||
3539306162396230633664663839333637303733323461620a376531366464646239366436343136
|
3832363731633330363963616333333730633335653161330a646462303032636637386236306666
|
||||||
30643031653363616265363938633536386134343766656239376638643335396565326330613832
|
31383839663136643031613363326261633332376165323332333136656134623838343832373333
|
||||||
6639396631623334350a353037386433313166313736666161663964313932636462383461343463
|
3064303236663131650a303964303962373839366532376231346366363739363934636433643139
|
||||||
64636433373533313933343461393638663638623430366332336265343061663030313031353665
|
36323635343034373232613839623137326430613033353037626430373939376138663063643065
|
||||||
63393062396534643934623964323437316238353535623261323531383230633536626333326262
|
37323533376239376261363236666333653862663663653739383936306539633635343233353266
|
||||||
656365343030643332303534343535336566
|
63643331383861326634356164393732363532663539303561373230346535643936363036353665
|
||||||
|
30336132306236633062
|
||||||
|
|
||||||
nginx_http_port: 5000
|
nginx_http_port: 5000
|
||||||
|
|
||||||
|
|
|
||||||
Reference in a new issue