add other hosts
Some checks failed
Deploy Containers / Prepare (push) Has been cancelled

This commit is contained in:
2025-07-30 21:03:08 -04:00
parent a451c821fc
commit 24a48c56ef
12 changed files with 648 additions and 435 deletions

72
tasks/api.yml Normal file
View File

@@ -0,0 +1,72 @@
---
- name: "Create file structure"
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/api"
- "{{ data_dir }}/api/db"
- "{{ data_dir }}/api/app"
- name: "Clone latest API"
git:
repo: git@git.alexav.gg:alex/api.git
dest: "{{ data_dir }}/api/app"
- name: "Build API Docker Image"
docker_image:
name: api
tag: "latest"
build:
path: "{{ data_dir }}/api/app"
dockerfile: Dockerfile
source: build
state: present
- name: Create API Network
docker_network:
name: api
- name: Deploy Redis Container
docker_container:
name: api_redis
image: redis:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: api
- name: Deploy Database Container
docker_container:
name: api_postgres
image: postgres:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: api
volumes:
- "{{ data_dir }}/api/db:/var/lib/postgresql/data"
env:
POSTGRES_PASSWORD: "{{ API_POSTGRES_PASSWORD }}"
PGDATA: "/var/lib/postgresql/data/pgdata"
- name: Deploy API Container
docker_container:
name: api
image: api:latest
recreate: true
restart_policy: unless-stopped
networks:
- name: api
- name: "{{ docker_network_name }}"
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 }}"

24
tasks/gitea.yml Normal file
View File

@@ -0,0 +1,24 @@
---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/gitea"
- name: Create Gitea Docker Container
docker_container:
name: gitea
image: docker.gitea.com/gitea:latest
restart_policy: unless-stopped
recreate: true
networks:
- name: "{{ docker_network_name }}"
volumes:
- "{{ data_dir }}/gitea:/data"
- "/home/git/.ssh:/data/git/.ssh"
published_ports:
- "2222:22"
env:
USER_UID: "1000"
USER_GID: "1000"

38
tasks/storage-api.yml Normal file
View File

@@ -0,0 +1,38 @@
---
- name: "Create file structure"
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/storage-api"
- "{{ data_dir }}/storage-api/app"
- "{{ data_dir }}/storage-api/files"
- name: "Clone latest Storage API"
git:
repo: git@git.alexav.gg:alex/storage-api.git
dest: "{{ data_dir }}/storage-api/app"
- name: "Build Storage API Docker Image"
docker_image:
name: storage-api
tag: "latest"
build:
path: "{{ data_dir }}/storage-api/app"
dockerfile: Dockerfile
source: build
state: present
- name: Deploy Storage API Container
docker_container:
name: storage_api
image: storage-api:latest
recreate: true
restart_policy: unless-stopped
networks:
- name: "{{ docker_network_name }}"
volumes:
- "{{ data_dir }}/storage-api/files:/app/files"
env:
TZ: "{{ TZ }}"
TOKEN: "{{ API_ADMIN_KEY }}"