feat: Added a docker-compose.yml
pytest / acls (push) Failing after 13s
Build Docker images / static-arm64 (push) Successful in 28s
Worker Clippy check / clippy_check (push) Successful in 30s
Build Docker images / worker-amd64 (push) Successful in 35s
Build Docker images / static-amd64 (push) Successful in 37s
Build Docker images / django-arm64 (push) Has been cancelled
Build Docker images / worker-arm64 (push) Has been cancelled
Build Docker images / django-amd64 (push) Has been cancelled

To help people (and myself) using and testing Kakigoori, a
docker-compose.yml was added, with the necessary container dependencies

Signed-off-by: prettysunflower <me@prettysunflower.moe>
This commit is contained in:
2025-12-08 12:49:41 -05:00
parent c4724156e6
commit 17d4bc4405
2 changed files with 77 additions and 2 deletions
+9 -2
View File
@@ -1,4 +1,4 @@
FROM alpine:3.22
FROM alpine:3.23 AS base
RUN apk add curl python3 exiftool
RUN adduser -D kakigoori
@@ -14,5 +14,12 @@ COPY --chown=1000:1000 . .
RUN uv sync --group prod
FROM base AS dev
ENTRYPOINT ["/home/kakigoori/.local/bin/uv", "run", "manage.py"]
CMD ["runserver", "0.0.0.0:8001"]
FROM base
ENTRYPOINT ["/home/kakigoori/.local/bin/uv", "run", "gunicorn"]
CMD ["-w", "4", "kakigoori.wsgi", "-b", "0.0.0.0:8001"]
CMD ["-w", "4", "kakigoori.wsgi", "-b", "0.0.0.0:8001"]
+68
View File
@@ -0,0 +1,68 @@
services:
kakigoori:
build:
dockerfile: Dockerfile
target: dev
ports:
- "8001:8001"
env_file:
- .env
rabbitmq:
image: "rabbitmq:4.2.1"
ports:
- "5672:5672"
healthcheck:
test: rabbitmq-diagnostics -q ping
interval: 30s
timeout: 30s
retries: 3
valkey:
image: "valkey/valkey:alpine"
ports:
- "6379:6379"
environment:
VALKEY_EXTRA_FLAGS: "--save 60 1"
volumes:
- "~/docker_data/kakigoori/valkey:/data"
worker-results-processing:
build:
dockerfile: Dockerfile
target: dev
command:
- "worker_results_processing"
env_file:
- .env
depends_on:
rabbitmq:
condition: service_healthy
restart: true
avif-image-worker:
build: worker
env_file:
- .env
environment:
WORKER_FILE_TYPES: avif
depends_on:
rabbitmq:
condition: service_healthy
restart: true
webp-image-worker:
build: worker
env_file:
- .env
environment:
WORKER_FILE_TYPES: webp
depends_on:
rabbitmq:
condition: service_healthy
restart: true
postgres:
image: postgres:18
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
volumes:
- "~/docker_data/kakigoori/postgres:/var/lib/postgresql"