Usando o docker-compose para criar tabelas no banco de dados postgresql

Estou usando o docker-compose para implantar um aplicativo Web Flask python multicontainer. Estou tendo dificuldades para entender como criar tabelas no banco de dados postgresql durante a compilação, para não precisar adicioná-las manualmente com o psql.

Meu arquivo docker-compose.yml é:

web:
  restart: always
  build: ./web
  expose:
    - "8000"
  links:
    - postgres:postgres
  volumes:
    - /usr/src/flask-app/static
  env_file: .env
  command: /usr/local/bin/gunicorn -w 2 -b :8000 app:app

nginx:
  restart: always
  build: ./nginx/
  ports:
    - "80:80"
  volumes:
    - /www/static
  volumes_from:
    - web
  links:
    - web:web

data:
  restart: always
  image: postgres:latest
  volumes:
    - /var/lib/postgresql
  command: "true"

postgres:
  restart: always
  image: postgres:latest
  volumes_from:
    - data
  ports:
    - "5432:5432"

Eu não quero ter que entrar no psql para digitar:

CREATE DATABASE my_database;
CREATE USER this_user WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE "my_database" to this_user;
\i create_tables.sql

Gostaria de receber orientações sobre como criar as tabelas.

questionAnswers(3)

yourAnswerToTheQuestion