Divide webservices into task files
This commit is contained in:
parent
69f3edcf2b
commit
30dd4ff8dc
12
playbooks/tasks/app/gulagbot.yml
Normal file
12
playbooks/tasks/app/gulagbot.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# vim:ft=ansible:
|
||||||
|
- name: docker deploy gulagbot
|
||||||
|
docker_container:
|
||||||
|
name: gulagbot
|
||||||
|
image: rehashedsalt/gulagbot:latest
|
||||||
|
env:
|
||||||
|
DISCORD_TOKEN: "{{ secret_gulagbot_discord_token }}"
|
||||||
|
PGHOST: 192.168.164.156
|
||||||
|
PGDATABASE: gulagbot-desultd
|
||||||
|
PGUSER: gulagbot-desultd
|
||||||
|
PGPASSWORD: "{{ secret_gulagbot_db_pass }}"
|
||||||
|
tags: [ docker, gulagbot, stalin ]
|
9
playbooks/tasks/app/redis.yml
Normal file
9
playbooks/tasks/app/redis.yml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# vim:ft=ansible:
|
||||||
|
- name: docker deploy redis
|
||||||
|
docker_container:
|
||||||
|
name: redis
|
||||||
|
image: redis:6-alpine
|
||||||
|
networks:
|
||||||
|
- name: web
|
||||||
|
aliases: [ "redis" ]
|
||||||
|
tags: [ docker, redis ]
|
11
playbooks/tasks/web/9iron.yml
Normal file
11
playbooks/tasks/web/9iron.yml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# vim:ft=ansible:
|
||||||
|
- name: docker deploy 9iron
|
||||||
|
docker_container:
|
||||||
|
name: 9iron
|
||||||
|
image: rehashedsalt/9iron:latest
|
||||||
|
ports:
|
||||||
|
- 8001:80
|
||||||
|
volumes:
|
||||||
|
- /data/9iron/files:/var/www/html/files
|
||||||
|
- /data/9iron/packs:/var/www/html/minecraft/packs
|
||||||
|
tags: [ docker, 9iron ]
|
10
playbooks/tasks/web/desultd.yml
Normal file
10
playbooks/tasks/web/desultd.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# vim:ft=ansible:
|
||||||
|
- name: docker deploy desultd
|
||||||
|
docker_container:
|
||||||
|
name: desultd
|
||||||
|
image: rehashedsalt/desultd:latest
|
||||||
|
ports:
|
||||||
|
- 8002:80
|
||||||
|
volumes:
|
||||||
|
- /data/9iron/files:/var/www/html/files
|
||||||
|
tags: [ docker, 9iron ]
|
22
playbooks/tasks/web/gitea.yml
Normal file
22
playbooks/tasks/web/gitea.yml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# vim:ft=ansible:
|
||||||
|
- name: docker deploy gitea
|
||||||
|
docker_container:
|
||||||
|
name: gitea
|
||||||
|
image: gitea/gitea:1
|
||||||
|
env:
|
||||||
|
USER_UID: "1002"
|
||||||
|
USER_GID: "1002"
|
||||||
|
GITEA__database_DB_TYPE: postgres
|
||||||
|
GITEA__database_HOST: 192.168.164.156:5432
|
||||||
|
GITEA__database_NAME: gitea-desultd
|
||||||
|
GITEA__database_USER: gitea-desultd
|
||||||
|
GITEA__database_PASSWD: "{{ secret_gitea_db_pass }}"
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
- 127.0.0.1:2222:22
|
||||||
|
volumes:
|
||||||
|
- /data/gitea/data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /var/lib/gitea/.ssh:/data/git/.ssh
|
||||||
|
tags: [ docker, gitea ]
|
18
playbooks/tasks/web/ingress-generic.yml
Normal file
18
playbooks/tasks/web/ingress-generic.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# vim:ft=ansible:
|
||||||
|
- name: docker deploy nginx proxy
|
||||||
|
docker_container:
|
||||||
|
name: ingress
|
||||||
|
image: jonasal/nginx-certbot:2.2.0
|
||||||
|
env:
|
||||||
|
TZ: "America/Chicago"
|
||||||
|
CERTBOT_EMAIL: rehashedsalt@cock.li
|
||||||
|
networks:
|
||||||
|
- name: web
|
||||||
|
aliases: [ "ingress" ]
|
||||||
|
ports:
|
||||||
|
- "443:443"
|
||||||
|
- "80:80"
|
||||||
|
volumes:
|
||||||
|
- /data/nginx-certbot/letsencrypt:/etc/letsencrypt
|
||||||
|
- /data/nginx-certbot/user_conf.d:/etc/nginx/user_conf.d:ro
|
||||||
|
tags: [ docker, ingress ]
|
23
playbooks/tasks/web/netbox.yml
Normal file
23
playbooks/tasks/web/netbox.yml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# vim:ft=ansible:
|
||||||
|
- name: docker deploy netbox
|
||||||
|
docker_container:
|
||||||
|
name: netbox
|
||||||
|
image: netboxcommunity/netbox:latest
|
||||||
|
env:
|
||||||
|
SUPERUSER_EMAIL: rehashedsalt@cock.li
|
||||||
|
SUPERUSER_PASSWORD: "{{ secret_netbox_user_pass }}"
|
||||||
|
SUPERUSER_API_TOKEN: "{{ secret_netbox_api_token }}"
|
||||||
|
SECRET_KEY: "{{ secret_netbox_secret_key }}"
|
||||||
|
ALLOWED_HOST: netbox.desu.ltd
|
||||||
|
DB_HOST: 192.168.164.156
|
||||||
|
DB_NAME: netbox-desultd
|
||||||
|
DB_USER: netbox-desultd
|
||||||
|
DB_PASSWORD: "{{ secret_netbox_db_pass }}"
|
||||||
|
REDIS_HOST: redis
|
||||||
|
REDIS_PORT: "6379"
|
||||||
|
networks:
|
||||||
|
- name: web
|
||||||
|
aliases: [ "netbox" ]
|
||||||
|
volumes:
|
||||||
|
- /data/netbox/config:/config
|
||||||
|
tags: [ docker, netbox ]
|
23
playbooks/tasks/web/peertube.yml
Normal file
23
playbooks/tasks/web/peertube.yml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# vim:ft=ansible:
|
||||||
|
- name: docker deploy peertube
|
||||||
|
docker_container:
|
||||||
|
name: peertube
|
||||||
|
image: chocobozzz/peertube:production-buster
|
||||||
|
env:
|
||||||
|
POSTGRES_DB: peertube_cowfee
|
||||||
|
PEERTUBE_DB: peertube_cowfee
|
||||||
|
PEERTUBE_DB_USERNAME: peertube-cowfee
|
||||||
|
PEERTUBE_DB_PASSWORD: "{{ secret_peertube_db_pass }}"
|
||||||
|
PEERTUBE_DB_HOSTNAME: 192.168.164.156
|
||||||
|
PEERTUBE_ADMIN_EMAIL: rehashedsalt@cock.li
|
||||||
|
PEERTUBE_WEBSERVER_HOSTNAME: tube.cowfee.moe
|
||||||
|
PEERTUBE_TRUST_PROXY: '["127.0.0.0/16", "192.168.0.0/16", "172.16.0.0/12", "10.0.0.0/8"]'
|
||||||
|
networks:
|
||||||
|
- name: web
|
||||||
|
aliases: [ "peertube" ]
|
||||||
|
ports:
|
||||||
|
- "1935:1935"
|
||||||
|
volumes:
|
||||||
|
- /data/peertube/data:/data
|
||||||
|
- /data/peertube/config:/config
|
||||||
|
tags: [ docker, peertube ]
|
19
playbooks/tasks/web/pleroma.yml
Normal file
19
playbooks/tasks/web/pleroma.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# vim:ft=ansible:
|
||||||
|
- name: docker deploy pleroma
|
||||||
|
docker_container:
|
||||||
|
name: pleroma
|
||||||
|
image: jordemort/pleroma
|
||||||
|
env:
|
||||||
|
TZ: "America/Chicago"
|
||||||
|
POSTGRES_HOST: 192.168.164.156
|
||||||
|
POSTGRES_DB: pleroma_cowfee
|
||||||
|
POSTGRES_USER: pleroma-cowfee
|
||||||
|
POSTGRES_PASSWORD: "{{ secret_pleroma_9iron_db_pass }}"
|
||||||
|
networks:
|
||||||
|
- name: web
|
||||||
|
aliases: [ "pleroma" ]
|
||||||
|
volumes:
|
||||||
|
- /data/pleroma/etc:/etc/pleroma
|
||||||
|
- /data/pleroma/static:/var/lib/pleroma/static
|
||||||
|
- /data/pleroma/uploads:/var/lib/pleroma/uploads
|
||||||
|
tags: [ docker, pleroma ]
|
@ -15,60 +15,25 @@
|
|||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
pull: yes
|
pull: yes
|
||||||
tasks:
|
tasks:
|
||||||
|
- name: include tasks for apps
|
||||||
|
include_tasks: tasks/app/{{ task }}
|
||||||
|
with_items:
|
||||||
|
- gulagbot.yml
|
||||||
|
loop_control:
|
||||||
|
loop_var: task
|
||||||
|
tags: [ always ]
|
||||||
|
- name: include tasks for web services
|
||||||
|
include_tasks: tasks/web/{{ task }}
|
||||||
|
with_items:
|
||||||
|
- 9iron.yml
|
||||||
|
- desultd.yml
|
||||||
|
- gitea.yml
|
||||||
|
loop_control:
|
||||||
|
loop_var: task
|
||||||
|
tags: [ always ]
|
||||||
- name: configure nextcloud cronjob
|
- name: configure nextcloud cronjob
|
||||||
cron: user=www-data name=nextcloud minute=*/5 job="php -f /var/www/nc.desu.ltd/cron.php"
|
cron: user=www-data name=nextcloud minute=*/5 job="php -f /var/www/nc.desu.ltd/cron.php"
|
||||||
tags: [ nextcloud, cron ]
|
tags: [ nextcloud, cron ]
|
||||||
- name: docker deploy 9iron
|
|
||||||
docker_container:
|
|
||||||
name: 9iron
|
|
||||||
image: rehashedsalt/9iron:latest
|
|
||||||
ports:
|
|
||||||
- 8001:80
|
|
||||||
volumes:
|
|
||||||
- /data/9iron/files:/var/www/html/files
|
|
||||||
- /data/9iron/packs:/var/www/html/minecraft/packs
|
|
||||||
tags: [ docker, 9iron ]
|
|
||||||
- name: docker deploy desultd
|
|
||||||
docker_container:
|
|
||||||
name: desultd
|
|
||||||
image: rehashedsalt/desultd:latest
|
|
||||||
ports:
|
|
||||||
- 8002:80
|
|
||||||
volumes:
|
|
||||||
- /data/9iron/files:/var/www/html/files
|
|
||||||
tags: [ docker, 9iron ]
|
|
||||||
- name: docker deploy gitea
|
|
||||||
docker_container:
|
|
||||||
name: gitea
|
|
||||||
image: gitea/gitea:1
|
|
||||||
env:
|
|
||||||
USER_UID: "1002"
|
|
||||||
USER_GID: "1002"
|
|
||||||
GITEA__database_DB_TYPE: postgres
|
|
||||||
GITEA__database_HOST: 192.168.164.156:5432
|
|
||||||
GITEA__database_NAME: gitea-desultd
|
|
||||||
GITEA__database_USER: gitea-desultd
|
|
||||||
GITEA__database_PASSWD: "{{ secret_gitea_db_pass }}"
|
|
||||||
ports:
|
|
||||||
- 3000:3000
|
|
||||||
- 127.0.0.1:2222:22
|
|
||||||
volumes:
|
|
||||||
- /data/gitea/data:/data
|
|
||||||
- /etc/timezone:/etc/timezone:ro
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- /var/lib/gitea/.ssh:/data/git/.ssh
|
|
||||||
tags: [ docker, gitea ]
|
|
||||||
- name: docker deploy gulagbot
|
|
||||||
docker_container:
|
|
||||||
name: gulagbot
|
|
||||||
image: rehashedsalt/gulagbot:latest
|
|
||||||
env:
|
|
||||||
DISCORD_TOKEN: "{{ secret_gulagbot_discord_token }}"
|
|
||||||
PGHOST: 192.168.164.156
|
|
||||||
PGDATABASE: gulagbot-desultd
|
|
||||||
PGUSER: gulagbot-desultd
|
|
||||||
PGPASSWORD: "{{ secret_gulagbot_db_pass }}"
|
|
||||||
tags: [ docker, gulagbot, stalin ]
|
|
||||||
roles:
|
roles:
|
||||||
- role: backup
|
- role: backup
|
||||||
vars:
|
vars:
|
||||||
@ -147,71 +112,22 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
tags: [ docker, ingress ]
|
tags: [ docker, ingress ]
|
||||||
- name: docker deploy pleroma
|
- name: include tasks for apps
|
||||||
docker_container:
|
include_tasks: tasks/app/{{ task }}
|
||||||
name: pleroma
|
with_items:
|
||||||
image: jordemort/pleroma
|
- redis.yml
|
||||||
env:
|
loop_control:
|
||||||
TZ: "America/Chicago"
|
loop_var: task
|
||||||
POSTGRES_HOST: 192.168.164.156
|
tags: [ always ]
|
||||||
POSTGRES_DB: pleroma_cowfee
|
- name: include tasks for web services
|
||||||
POSTGRES_USER: pleroma-cowfee
|
include_tasks: tasks/web/{{ task }}
|
||||||
POSTGRES_PASSWORD: "{{ secret_pleroma_9iron_db_pass }}"
|
with_items:
|
||||||
networks:
|
- peertube.yml
|
||||||
- name: web
|
- pleroma.yml
|
||||||
aliases: [ "pleroma" ]
|
- ingress-generic.yml
|
||||||
volumes:
|
loop_control:
|
||||||
- /data/pleroma/etc:/etc/pleroma
|
loop_var: task
|
||||||
- /data/pleroma/static:/var/lib/pleroma/static
|
tags: [ always ]
|
||||||
- /data/pleroma/uploads:/var/lib/pleroma/uploads
|
|
||||||
tags: [ docker, pleroma ]
|
|
||||||
- name: docker deploy redis
|
|
||||||
docker_container:
|
|
||||||
name: redis
|
|
||||||
image: redis:6-alpine
|
|
||||||
networks:
|
|
||||||
- name: web
|
|
||||||
aliases: [ "redis" ]
|
|
||||||
tags: [ docker, redis ]
|
|
||||||
- name: docker deploy peertube
|
|
||||||
docker_container:
|
|
||||||
name: peertube
|
|
||||||
image: chocobozzz/peertube:production-buster
|
|
||||||
env:
|
|
||||||
POSTGRES_DB: peertube_cowfee
|
|
||||||
PEERTUBE_DB: peertube_cowfee
|
|
||||||
PEERTUBE_DB_USERNAME: peertube-cowfee
|
|
||||||
PEERTUBE_DB_PASSWORD: "{{ secret_peertube_db_pass }}"
|
|
||||||
PEERTUBE_DB_HOSTNAME: 192.168.164.156
|
|
||||||
PEERTUBE_ADMIN_EMAIL: rehashedsalt@cock.li
|
|
||||||
PEERTUBE_WEBSERVER_HOSTNAME: tube.cowfee.moe
|
|
||||||
PEERTUBE_TRUST_PROXY: '["127.0.0.0/16", "192.168.0.0/16", "172.16.0.0/12", "10.0.0.0/8"]'
|
|
||||||
networks:
|
|
||||||
- name: web
|
|
||||||
aliases: [ "peertube" ]
|
|
||||||
ports:
|
|
||||||
- "1935:1935"
|
|
||||||
volumes:
|
|
||||||
- /data/peertube/data:/data
|
|
||||||
- /data/peertube/config:/config
|
|
||||||
tags: [ docker, peertube ]
|
|
||||||
- name: docker deploy nginx proxy
|
|
||||||
docker_container:
|
|
||||||
name: ingress
|
|
||||||
image: jonasal/nginx-certbot:2.2.0
|
|
||||||
env:
|
|
||||||
TZ: "America/Chicago"
|
|
||||||
CERTBOT_EMAIL: rehashedsalt@cock.li
|
|
||||||
networks:
|
|
||||||
- name: web
|
|
||||||
aliases: [ "ingress" ]
|
|
||||||
ports:
|
|
||||||
- "443:443"
|
|
||||||
- "80:80"
|
|
||||||
volumes:
|
|
||||||
- /data/nginx-certbot/letsencrypt:/etc/letsencrypt
|
|
||||||
- /data/nginx-certbot/user_conf.d:/etc/nginx/user_conf.d:ro
|
|
||||||
tags: [ docker, ingress ]
|
|
||||||
roles:
|
roles:
|
||||||
- role: backup
|
- role: backup
|
||||||
vars:
|
vars:
|
||||||
@ -254,53 +170,20 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
tags: [ docker, ingress ]
|
tags: [ docker, ingress ]
|
||||||
- name: docker deploy redis
|
- name: include tasks for apps
|
||||||
docker_container:
|
include_tasks: tasks/app/{{ task }}
|
||||||
name: redis
|
with_items:
|
||||||
image: redis:6-alpine
|
- redis.yml
|
||||||
networks:
|
loop_control:
|
||||||
- name: web
|
loop_var: task
|
||||||
aliases: [ "redis" ]
|
tags: [ always ]
|
||||||
tags: [ docker, redis ]
|
- name: include tasks for web services
|
||||||
- name: docker deploy netbox
|
include_tasks: tasks/web/{{ task }}
|
||||||
docker_container:
|
with_items:
|
||||||
name: netbox
|
- netbox.yml
|
||||||
image: netboxcommunity/netbox:latest
|
loop_control:
|
||||||
env:
|
loop_var: task
|
||||||
SUPERUSER_EMAIL: rehashedsalt@cock.li
|
tags: [ always ]
|
||||||
SUPERUSER_PASSWORD: "{{ secret_netbox_user_pass }}"
|
|
||||||
SUPERUSER_API_TOKEN: "{{ secret_netbox_api_token }}"
|
|
||||||
SECRET_KEY: "{{ secret_netbox_secret_key }}"
|
|
||||||
ALLOWED_HOST: netbox.desu.ltd
|
|
||||||
DB_HOST: 192.168.164.156
|
|
||||||
DB_NAME: netbox-desultd
|
|
||||||
DB_USER: netbox-desultd
|
|
||||||
DB_PASSWORD: "{{ secret_netbox_db_pass }}"
|
|
||||||
REDIS_HOST: redis
|
|
||||||
REDIS_PORT: "6379"
|
|
||||||
networks:
|
|
||||||
- name: web
|
|
||||||
aliases: [ "netbox" ]
|
|
||||||
volumes:
|
|
||||||
- /data/netbox/config:/config
|
|
||||||
tags: [ docker, netbox ]
|
|
||||||
- name: docker deploy nginx proxy
|
|
||||||
docker_container:
|
|
||||||
name: ingress
|
|
||||||
image: jonasal/nginx-certbot:2.2.0
|
|
||||||
env:
|
|
||||||
TZ: "America/Chicago"
|
|
||||||
CERTBOT_EMAIL: rehashedsalt@cock.li
|
|
||||||
networks:
|
|
||||||
- name: web
|
|
||||||
aliases: [ "ingress" ]
|
|
||||||
ports:
|
|
||||||
- "443:443"
|
|
||||||
- "80:80"
|
|
||||||
volumes:
|
|
||||||
- /data/nginx-certbot/letsencrypt:/etc/letsencrypt
|
|
||||||
- /data/nginx-certbot/user_conf.d:/etc/nginx/user_conf.d:ro
|
|
||||||
tags: [ docker, ingress ]
|
|
||||||
roles:
|
roles:
|
||||||
- role: backup
|
- role: backup
|
||||||
vars:
|
vars:
|
||||||
|
Loading…
Reference in New Issue
Block a user