Sign inSign up

javi98/python-api-crud-template

By javi98

Updated about 2 years ago

Docker image Python FastAPI aplication api crud template

Image
Languages & frameworks
Web servers
0

739

javi98/python-api-crud-template repository overview

Python FastAPI aplication api crud template

python-fastapi

Docker image Python FastAPI aplication api crud template

Github repository: https://github.com/JAVI-CC/python-api-crud-template

Setup
$ git clone https://github.com/JAVI-CC/python-api-crud-template
$ cd python-api-crud-template
$ cp .env.example .env.dev
$ docker compose up -d
$ docker compose exec app chmod +x ./docker-config/run.sh
$ docker compose exec app ./docker-config/run.sh

docker-compose.yml
version: '3'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    image: javi98/python-api-crud-template:1.0.0
    container_name: python-api-crud-template-app
    restart: unless-stopped
    # command: fastapi run app/main.py --port 8000 # Production mode
    command: fastapi run app/main.py --port 8000 --reload # Development mode
	ports:
	  - 8000:8000
    volumes:
      - ./:/code
    depends_on:
      - db
      - smtp
  db:
    image: mariadb:11.2.2
    container_name: python-api-crud-template-db
    restart: unless-stopped
	env_file: .env.dev # .env.dev | .env.prod
    ports:
      - "3306:3306"
    volumes:
      - db-data:/var/lib/mysql
  phpmyadmin:
    image: phpmyadmin:5.2.1
    container_name: python-api-crud-template-phpmyadmin
    restart: unless-stopped
    ports:
      - 8085:80
    environment:
      PMA_ARBITRARY: 1
      UPLOAD_LIMIT: 350M
    depends_on:
      - db
  smtp:
    image: jcalonso/mailhog:v1.0.1
    container_name: python-api-crud-template-smtp
    restart: unless-stopped
    ports:
      - "1025:1025" # smtp server
      - "8025:8025" # web ui
    environment:
      MH_STORAGE: maildir
      MH_MAILDIR_PATH: /home/mailhog
    volumes:
      - smtp-data:/home/mailhog
networks:
  python-api-crud-template:
    driver: bridge
volumes:
  db-data:
  smtp-data:

Once you have the containers deployed, you can access http://localhost:8000

Url to access MailHog: http://localhost:8025

Tag summary

Content type

Image

Digest

sha256:31c689ae9

Size

578.7 MB

Last updated

about 2 years ago

docker pull javi98/python-api-crud-template