--- - name: Deploy API Database include_role: name: docker vars: name: api_postgres network_name: api directories: - "{{ data_dir }}/api/db" image: name: postgres tag: "17" 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 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 }}" DISCORD_PUBLIC_KEY: "{{ API_DISCORD_PUBLIC_KEY }}" DISCORD_APP_ID: "{{ API_DISCORD_APP_ID }}" DISCORD_BOT_TOKEN: "{{ API_DISCORD_BOT_TOKEN }}" 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