PTPureToolkit
DevOps仅本地运行

FastAPI PostgreSQL Redis Production Compose Starter

Copy a production-oriented FastAPI + PostgreSQL + Redis docker-compose.yml with restart policies and private networking — generated locally, no signup.

此工具在你的浏览器本地运行。你的输入不会被上传。

不上传无服务器日志无运行时 API浏览器内转换

Prefilled local output

Copy the generated result or open the full tool to adjust inputs locally.

Stack preset

FastAPI + PostgreSQL + Redis

docker-compose.yml

services:
  api:
    image: "python:3.12-slim"
    command: "uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload"
    env_file:
      - .env
    ports:
      - "8000:8000"
    depends_on:
      - db
    working_dir: /app
    restart: unless-stopped
    networks:
      - app_network
  db:
    image: "postgres:16-alpine"
    environment:
      POSTGRES_DB: "${POSTGRES_DB}"
      POSTGRES_USER: "${POSTGRES_USER}"
      POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
    volumes:
      - "postgres_data:/var/lib/postgresql/data"
    healthcheck:
      test:
        - CMD-SHELL
        - "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"
      interval: "10s"
      timeout: "5s"
      retries: 5
    restart: unless-stopped
    networks:
      - app_network
  redis:
    image: "redis:7-alpine"
    volumes:
      - "redis_data:/data"
    healthcheck:
      test:
        - CMD-SHELL
        - redis-cli ping
      interval: "10s"
      timeout: "5s"
      retries: 5
    restart: unless-stopped
    networks:
      - app_network
volumes:
  postgres_data: {}
  redis_data: {}
networks:
  app_network:
    driver: bridge


# .env.example
COMPOSE_PROJECT_NAME=fastapi_prod
APP_PORT=8000
APP_ENV=production
APP_SECRET=change-me
POSTGRES_DB=app
POSTGRES_USER=app
POSTGRES_PASSWORD=change-me
DATABASE_URL=postgresql://app:change-me@db:5432/app
DATABASE_PORT=5432
REDIS_URL=redis://redis:6379/0
REDIS_PORT=6379


# Commands
cp .env.example .env
docker compose up -d --build
docker compose ps
docker compose logs -f api
docker compose exec api sh
docker compose down
docker compose down -v  # remove named volumes and local data

# Notes
PostgreSQL internal: postgresql://app:${POSTGRES_PASSWORD}@db:5432/app
PostgreSQL local: postgresql://app:${POSTGRES_PASSWORD}@localhost:${DATABASE_PORT}/app
Redis internal: redis://redis:6379/0
Redis local: redis://localhost:${REDIS_PORT}/0
Preset: FastAPI + PostgreSQL + Redis
Mode: production

Notes:
- Review image tags, commands, and mounted paths for your actual application layout.
- Secrets are represented as environment variables in .env.example; replace placeholder values before use.
- Healthchecks are included for supported infrastructure services.
- Named Docker volumes are enabled for local persistence.
- Warning: Production mode adds restart policies, but this is a starting point and not hardened production infrastructure.
# Warning: Production mode adds restart policies, but this is a starting point and not hardened production infrastructure.

示例

FastAPI PostgreSQL Redis Production Compose Starter

Copy a production-oriented FastAPI + PostgreSQL + Redis docker-compose.yml with restart policies and private networking — generated locally, no signup.

FastAPI + PostgreSQL + Redis

工作原理

  1. FastAPI PostgreSQL Redis Production Compose Starter gives you a practical Compose baseline for a production-oriented FastAPI starter with restart policies and private database networking. It uses environment variables for secrets, named services for local networking, and readable service names so the generated file is easy to adapt.
  2. This preset is meant for developers who want to start from a working multi-service skeleton instead of writing YAML from scratch. The generated output includes docker-compose.yml, .env.example, common commands, and connection notes.
  3. Treat the result as infrastructure scaffolding. Before production, review image pinning, TLS termination, backup policy, resource limits, secret management, and whether database ports should be exposed outside the Compose network.

限制

  • 此预设面向常见工作流,生产使用前仍需结合你的运行环境复核。
  • 生成结果是确定性的本地输出,但 scheduler、日志格式或基础设施 dialect 可能存在差异。
  • 如果需要调整字段、端口、选项或样例输入,请使用完整父工具页面。

FAQ

Is this FastAPI + PostgreSQL + Redis Docker Compose file production-ready?

It is a strong starter, not a hardened production deployment. Review secrets, TLS, backups, resource limits, and network exposure before production use.

Does the builder store my stack configuration?

No. Preset generation is static and the interactive builder runs locally in the browser.

Can I download the generated Compose files?

Yes. The page exposes copyable and downloadable output for docker-compose.yml and related notes.

相关工具