services: app: build: . command: poetry run uvicorn app.web:app --host 0.0.0.0 --port 8000 --reload ports: - "8000:8000" volumes: - .:/app cron: build: . command: /usr/sbin/cron -f volumes: - .:/app mailcatcher: image: syncloudsoftech/mailcatcher ports: - "1025:1025" - "8025:8025" mysql: image: mysql:8 environment: MYSQL_DATABASE: example MYSQL_USER: example MYSQL_PASSWORD: example MYSQL_RANDOM_ROOT_PASSWORD: yes ports: - "3306:3306" volumes: - mysql-data:/var/lib/mysql ngrok: command: start --all --config /etc/ngrok.yml image: ngrok/ngrok ports: - "4040:4040" restart: unless-stopped volumes: - ./ngrok.yml:/etc/ngrok.yml phpmyadmin: image: phpmyadmin:5 depends_on: - mysql environment: PMA_HOST: mysql PMA_USER: example PMA_PASSWORD: example ports: - "9000:80" redis: image: redis:5-alpine ports: - "6379:6379" volumes: - redis-data:/data redis-commander: image: rediscommander/redis-commander environment: REDIS_HOSTS: local:redis:6379 ports: - "8081:8081" worker: build: . command: poetry run poe worker volumes: - .:/app volumes: mysql-data: redis-data: