diff --git a/.env b/.env index b74f7ac..5f642ae 100644 --- a/.env +++ b/.env @@ -9,7 +9,7 @@ POSTGRES_USER=user POSTGRES_PASSWORD=secret # Redis -REDIS_HOST=redis +REDIS_HOST=inmemory REDIS_PORT=6379 REDIS_DB=2 diff --git a/Makefile b/Makefile index a0582a4..3baa45e 100644 --- a/Makefile +++ b/Makefile @@ -65,3 +65,4 @@ model-generate: ## generate sqlalchemy models from database .PHONY: docker-up-granian docker-up-granian: ## Run project with compose and granian docker compose -f granian-compose.yml up --remove-orphans + docker compose -f valkey-compose.yml up --remove-orphans diff --git a/compose.yml b/compose.yml index 3d37adf..f9a041d 100644 --- a/compose.yml +++ b/compose.yml @@ -44,9 +44,9 @@ services: timeout: 5s retries: 5 - redis: + inmemory: image: redis:latest - container_name: fsap_redis + container_name: fsap_inmemory ports: - "6379:6379" env_file: diff --git a/granian-compose.yml b/granian-compose.yml index 49b8efa..1a94eda 100644 --- a/granian-compose.yml +++ b/granian-compose.yml @@ -38,9 +38,9 @@ services: timeout: 5s retries: 5 - redis: + inmemory: image: redis:latest - container_name: fsap_redis + container_name: fsap_inmemory ports: - "6379:6379" env_file: diff --git a/valkey-compose.yml b/valkey-compose.yml new file mode 100644 index 0000000..07a8204 --- /dev/null +++ b/valkey-compose.yml @@ -0,0 +1,57 @@ +services: + app: + container_name: fsap_app + build: . + env_file: + - .env + - .secrets + command: bash -c " + uvicorn app.main:app + --log-config ./logging-uvicorn.json + --host 0.0.0.0 --port 8080 + --lifespan=on --use-colors --loop uvloop --http httptools + --reload --log-level debug + " + volumes: + - .:/home/code + ports: + - "8080:8080" + depends_on: + - db + - valkey + + db: + container_name: fsap_db + build: + context: ./db + dockerfile: Dockerfile + volumes: + - fastapi_postgres_data:/var/lib/postgresql/data + env_file: + - .env + ports: + - 5432:5432 + environment: + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD?Variable not set} + - POSTGRES_USER=${POSTGRES_USER?Variable not set} + - POSTGRES_DB=${POSTGRES_DB?Variable not set} + healthcheck: + test: + [ + "CMD-SHELL", "pg_isready -d $POSTGRES_DB -U $POSTGRES_USER" + ] + interval: 5s + timeout: 5s + retries: 5 + + inmemory: + image: valkey/valkey:latest + container_name: fsap_inmemory + ports: + - "6379:6379" + env_file: + - .env + entrypoint: valkey-server --loglevel verbose + +volumes: + fastapi_postgres_data: {} \ No newline at end of file