-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
deploy.yml
45 lines (45 loc) · 1.69 KB
/
deploy.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
---
- hosts: "{{ github_repository_name }}"
become: yes
gather_facts: no
vars:
ansible_python_interpreter: /usr/bin/python3
tasks:
- name: Copy {{ github_sha }}.tar docker image source
ansible.builtin.copy:
src: "{{ github_sha }}.tar"
dest: "/tmp/{{ github_sha }}.tar"
force: no
- name: Load {{ github_repository_name }} docker image
community.general.docker_image:
source: load
force_source: true
name: "{{ github_repository_name }}"
load_path: /tmp/{{ github_sha }}.tar
- name: Start {{ github_repository_name }} docker container
community.general.docker_container:
state: started
image: "{{ github_repository_name }}"
name: "{{ github_repository_name }}"
hostname: "{{ github_repository_name }}"
restart: true
restart_policy: unless-stopped
purge_networks: true
networks_cli_compatible: no
networks:
- name: traefik
exposed_ports:
- "80"
env:
SLACK_TOKEN: "{{ slack_token }}"
SLACK_SECRET: "{{ slack_secret }}"
OPENAI_SECRET: "{{ openai_secret }}"
labels:
traefik.enable: 'true'
traefik.http.routers.slack-codin-gg.rule: Host(`{{ github_repository_name }}`)
traefik.http.routers.slack-codin-gg.entrypoints: https
traefik.http.services.slack-codin-gg.loadbalancer.server.port: "80"
traefik.http.routers.slack-codin-gg.tls: 'true'
traefik.http.routers.slack-codin-gg.tls.certresolver: le-dns-namecheap
traefik.http.routers.slack-codin-gg.tls.domains[0].main: "{{ github_repository_name }}"
traefik.http.routers.slack-codin-gg.tls.domains[0].sans: "*.{{ github_repository_name }}"