services: web: image: git.logidex.ru/fakz9/tbank-api-logidex:latest build: context: . dockerfile: Dockerfile # -------- replace with comment to run with gunicorn -------- command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload # command: gunicorn app.main:app -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 env_file: - ./src/.env # -------- replace with comment if you are using nginx -------- ports: - "8000:8000" # expose: # - "8000" depends_on: - db - redis volumes: - ./src/app:/code/app - ./src/.env:/code/.env worker: build: context: . dockerfile: Dockerfile command: arq app.core.worker.settings.WorkerSettings env_file: - ./src/.env depends_on: - db - redis volumes: - ./src/app:/code/app - ./src/.env:/code/.env db: image: postgres:13 env_file: - ./src/.env volumes: - postgres-data:/var/lib/postgresql/data # -------- replace with comment to run migrations with docker -------- expose: - "5432" ports: - "5432:5432" redis: image: redis:alpine volumes: - redis-data:/data expose: - "6379" pgadmin: container_name: pgadmin4 image: dpage/pgadmin4:latest restart: always ports: - "5050:80" volumes: - pgadmin-data:/var/lib/pgadmin env_file: - ./src/.env depends_on: - db nginx: image: nginx:latest ports: - "80:80" volumes: - ./default.conf:/etc/nginx/conf.d/default.conf depends_on: - web volumes: postgres-data: redis-data: pgadmin-data: