diff --git a/.forgejo/workflows/build-and-deploy.yml b/.forgejo/workflows/build-and-deploy.yml index b82fb3d..81682e1 100644 --- a/.forgejo/workflows/build-and-deploy.yml +++ b/.forgejo/workflows/build-and-deploy.yml @@ -100,6 +100,23 @@ jobs: push: true tags: meowgit.nekoea.red/nihonium/nyanimedb-frontend:latest + - name: Build and push etl image + uses: docker/build-push-action@v6 + with: + context: . + file: Dockerfiles/Dockerfile_etl + push: true + tags: meowgit.nekoea.red/nihonium/nyanimedb-etl:latest + + - name: Build and push image-storage image + uses: docker/build-push-action@v6 + with: + context: . + file: Dockerfiles/Dockerfile_image_storage + push: true + tags: meowgit.nekoea.red/nihonium/nyanimedb-image-storage:latest + + deploy: runs-on: debian-test needs: build diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index 1119335..aa4c065 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -51,6 +51,7 @@ services: RABBITMQ_URL: ${RABBITMQ_URL} JWT_PRIVATE_KEY: ${JWT_PRIVATE_KEY} AUTH_ENABLED: ${AUTH_ENABLED} + IMAGES_BASE_URL: http://nyanimedb-images:8000 ports: - "8080:8080" depends_on: @@ -86,9 +87,43 @@ services: networks: - nyanimedb-network + nyanimedb-etl: + image: meowgit.nekoea.red/nihonium/nyanimedb-etl:latest + container_name: nyanimedb-etl + restart: always + environment: + DATABASE_URL: ${DATABASE_URL} + RABBITMQ_URL: ${RABBITMQ_URL} + NYANIMEDB_IMPORT_RPC_QUEUE: anime_import_rpc + NYANIMEDB_IMAGE_SERVICE_URL: http://nyanimedb-images:8000 + depends_on: + - postgres + - rabbitmq + - nyanimedb-images + networks: + - nyanimedb-network + + nyanimedb-images: + image: meowgit.nekoea.red/nihonium/nyanimedb-image-storage:latest + container_name: nyanimedb-images + restart: always + environment: + NYANIMEDB_MEDIA_ROOT: /media + volumes: + - media_data:/media + networks: + - nyanimedb-network + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8000/docs || exit 1"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 10s + volumes: postgres_data: rabbitmq_data: + media_data: networks: nyanimedb-network: