69 lines
1.7 KiB
YAML
69 lines
1.7 KiB
YAML
---
|
|
- name: Deploy API Database
|
|
include_role:
|
|
name: docker
|
|
vars:
|
|
name: api_postgres
|
|
network_name: api
|
|
directories:
|
|
- "{{ data_dir }}/api/db"
|
|
image:
|
|
name: postgres
|
|
tag: latest
|
|
networks:
|
|
- name: api
|
|
volumes:
|
|
- "{{ data_dir }}/api/db:/var/lib/postgresql/data"
|
|
env:
|
|
POSTGRES_USER: "api"
|
|
POSTGRES_PASSWORD: "{{ API_POSTGRES_PASSWORD }}"
|
|
PGDATA: "/var/lib/postgresql/data/pgdata"
|
|
|
|
- name: Deploy API Redis
|
|
include_role:
|
|
name: docker
|
|
vars:
|
|
name: api_redis
|
|
network_name: api
|
|
directories:
|
|
- "{{ data_dir }}/api/db"
|
|
image:
|
|
name: redis
|
|
tag: latest
|
|
networks:
|
|
- name: api
|
|
|
|
- name: Deploy API
|
|
include_role:
|
|
name: docker
|
|
vars:
|
|
name: api
|
|
network_name: api
|
|
networks:
|
|
- name: api
|
|
- name: "{{ docker_network_name }}"
|
|
build:
|
|
git:
|
|
repo: git@git.alexav.gg:alex/api.git
|
|
dest: "{{ data_dir }}/api/app"
|
|
image:
|
|
name: api
|
|
tag: latest
|
|
env:
|
|
NODE_ENV: "production"
|
|
VERSION: "v4"
|
|
REDIS_URL: "redis://api_redis:6379"
|
|
ADMIN_KEY: "{{ API_ADMIN_KEY }}"
|
|
ADMIN_BYPASS_KEY: "{{ API_ADMIN_KEY }}"
|
|
DATABASE_URL: "{{ API_DATABASE_URL }}"
|
|
LASTFM_API_KEY: "{{ API_LASTFM_API_KEY }}"
|
|
STEAM_API_KEY: "{{ API_STEAM_API_KEY }}"
|
|
CONTACT_WEBHOOK: "{{ API_CONTACT_WEBHOOK }}"
|
|
JWT_KEY: "{{ API_JWT_KEY }}"
|
|
labels:
|
|
traefik.enable: "true"
|
|
traefik.http.routers.aapi.rule: Host(`api.alexav.gg`)
|
|
traefik.http.routers.aapi.entrypoints: webSecure
|
|
traefik.http.routers.aapi.tls.certresolver: letsencrypt
|
|
traefik.http.services.aapi.loadbalancer.server.url: http://api:3000
|