āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻ¯āĻŧā§āĻ āĻŦāĻāĻ°, āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻļāĻŋāĻ˛ā§āĻĒ āĻāĻāĻāĻŋ āĻĻā§āĻˇā§āĻāĻžāĻ¨ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž. āĻāĻ āĻāĻāĻ¨āĻžāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋāĻā§ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§āĻ¸ā§āĻ° āĻ§āĻžāĻ°āĻŖāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻāĻā§āĻ°āĻš āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸ā§āĻŦā§āĻā§āĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋāĻ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻ° āĻāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧāĻ¤āĻž āĻāĻā§āĻˇāĻ°āĻŋāĻ āĻ āĻ°ā§āĻĨā§āĻ āĻāĻāĻžāĻļāĻā§āĻŽā§āĻŦā§ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻŦā§āĻšā§ āĻāĻāĻā§āĻāĻŋāĻ¯āĻŧāĻž āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋ āĻāĻāĻ¨ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻāĻāĻ āĻŽāĻžāĻāĻā§āĻ°ā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻā§āĻā§ā§ˇ āĻāĻāĻāĻŋ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸āĻā§ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻŦāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻāĻāĻāĻŋ āĻāĻāĻ āĻāĻŦāĻ āĻā§āĻŦ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ°āĻŋāĻ˛ā§āĻļāĻ¨āĻžāĻ˛ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāĻ¸, āĻāĻāĻāĻŋ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻ¸ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨, āĻāĻāĻāĻŋ āĻ¸ā§āĻ˛āĻžāĻ° āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻāĻāĻžāĻ˛ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻŦāĻŋāĻāĻžāĻļ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°āĻž āĻāĻ āĻŋāĻ¨āĨ¤ āĻāĻŦāĻ āĻāĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ, āĻā§āĻ°ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻĄāĻāĻžāĻ° āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§āĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻĄāĻāĻļā§āĻ°āĻŽāĻŋāĻ
āĻŽāĻžāĻāĻž
āĻĄāĻāĻžāĻ° āĻ°āĻāĻ¨āĻž
āĻĒā§āĻ°āĻā§āĻļāĻ˛
āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻĒā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻāĻāĻŋ YAML āĻĢāĻžāĻāĻ˛ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻāĻā§ āĻ āĻĒāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻĒā§āĻ āĻāĻāĻāĻžāĻŦā§ āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻĄāĻāĻžāĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻŦāĻ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ˛āĨ¤
āĻāĻāĻāĻŋ āĻšā§āĻ¸ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻĻā§āĻāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§
āĻāĻŋāĻāĻ¨āĻāĻ āĻŽā§āĻ āĻāĻ°ā§āĻ¨
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋ make
, āĻ¸āĻāĻā§āĻˇā§āĻĒā§, āĻāĻ¤ā§āĻ¸ āĻā§āĻĄ āĻĨā§āĻā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻŦāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ˛āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻāĻŋ āĻŦāĻ˛āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ make
āĻ¯ā§ āĻā§āĻ¨ā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯ āĻ¯āĻž āĻāĻŋāĻā§ āĻā§āĻ¸ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§ āĻā§āĻ¨ā§ āĻļā§āĻˇ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§, āĻā§āĻ¨ā§ āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻāĻžāĻ°ā§ āĻāĻĻā§āĻļā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻĄāĻŧāĻŋāĻ¤āĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻŽāĻžāĻ¨ā§āĻĄ docker-compose
āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤ āĻ˛āĻā§āĻˇā§āĻ¯ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻŦā§ (
āĻāĻ°ā§āĻŽāĻ¸ā§āĻā§ āĻāĻžāĻ¨āĻžāĻ¤ā§ make
āĻāĻŽāĻ°āĻž āĻ¤āĻžāĻ° āĻāĻžāĻ āĻĨā§āĻā§ āĻāĻŋ āĻāĻžāĻ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻĻāĻ°āĻāĻžāĻ° Makefile
.
āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ Makefile
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĨāĻžāĻāĻŦā§ docker
и docker-compose
, āĻ¯āĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¯āĻĨāĻž, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž, āĻāĻāĻŋ āĻļā§āĻ°ā§ āĻāĻ°āĻž, āĻāĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻž, āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž, āĻ§āĻžāĻ°āĻāĻāĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĒā§āĻ°āĻŦā§āĻļ āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻž, āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ˛āĻāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻž āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ
āĻ¨ā§āĻ°ā§āĻĒ āĻāĻžāĻāĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻĨāĻž āĻŦāĻ˛āĻāĻŋāĨ¤
āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻĒā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§
āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻ¯āĻŧā§āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°ā§āĻ¨ āĻ¯ā§āĻāĻŋāĻ¤ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§:
- TimescaleDB āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ (Postgres)āĨ¤
- Express.js āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĨ¤
- āĻĒāĻŋāĻ (āĻļā§āĻ§ā§ āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ āĻ¯āĻž āĻŦāĻŋāĻļā§āĻˇ āĻāĻŋāĻā§ āĻāĻ°ā§ āĻ¨āĻž)āĨ¤
āĻāĻ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§ 3āĻāĻŋ āĻĄāĻāĻžāĻ° āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ docker-compose
āĻāĻ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻŖ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§. āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ āĻ¸āĻā§āĻā§ timescale
āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻŽāĻ¤ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻāĻ āĻāĻžāĻ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻšāĻŦā§āĨ¤ āĻ¯āĻĨāĻž, āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ:
- Postgres āĻļā§āĻ˛ā§ āĻ˛āĻāĻāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤
- āĻā§āĻŦāĻŋāĻ˛ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻŦāĻ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ.
- āĻ¸ā§āĻˇā§āĻāĻŋ
pg_dump
āĻā§āĻŦāĻŋāĻ˛ āĻŦāĻž āĻĄāĻžāĻāĻžāĻŦā§āĻ¸āĨ¤
Express.js āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°, expressjs
, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§:
- āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ˛āĻ āĻĨā§āĻā§ āĻ¨āĻ¤ā§āĻ¨ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĨ¤
- āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻļā§āĻ˛ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻžāĻ¨ā§ āĻšāĻā§āĻā§āĨ¤
āĻĒāĻžāĻ¤ā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž
āĻāĻāĻ¨ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻĒā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻāĻŋ, āĻāĻāĻ¨ āĻāĻ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻĒā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻā§ docker-compose
, āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ -f
, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ docker-compose.yml
.
āĻāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒā§āĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĢāĻžāĻāĻ˛ā§ āĻāĻ˛ā§āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ docker-compose.yml
.
āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻā§āĻŽāĻ¨ āĻĻā§āĻāĻžāĻ¯āĻŧ āĻ¤āĻž āĻĻā§āĻā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ docker-compose
. āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°āĻŋ āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻļā§āĻ˛āĻāĻŋāĻ¤ā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ psql
, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻ āĻŽāĻ¤ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§:
docker-compose -f docker-compose.yml exec timescale psql -Upostgres
āĻāĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ, āĻ¯āĻž āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻž docker-compose
āĻāĻŦāĻ docker
, āĻāĻ āĻŽāĻ¤ āĻĻā§āĻāĻ¤ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§:
docker exec -it edp_timescale_1 psql -Upostgres
āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°āĻž āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻŦāĻžāĻā§āĻāĻ¨ā§āĻ¯āĻŧ docker
, āĻāĻŦāĻ āĻāĻĻā§āĻļ docker-compose
, āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻĻā§āĻ° āĻāĻ°ā§āĨ¤
āĻāĻĒāĻ°ā§āĻ° āĻāĻāĻ¯āĻŧ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻ āĻāĻāĻŋāĻ˛ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻĢāĻ°ā§āĻŽā§ "āĻ°ā§āĻ¯āĻžāĻĒāĻžāĻ°" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ Makefile
, āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ°āĻā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻāĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻĻā§āĻŦā§ āĻāĻŦāĻ āĻ¨āĻŋāĻā§āĻ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĻā§āĻ°ā§āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§ āĻāĻ˛ āĻāĻ°āĻŦā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻā§āĻ˛āĻŋ āĻāĻāĻāĻžāĻŦā§ āĻ
āĻ°ā§āĻāĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§:
make db-shell
āĻāĻāĻž āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¯ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° Makefile
āĻŦā§āĻ¯āĻžāĻĒāĻāĻāĻžāĻŦā§ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻ¸āĻā§āĻā§ āĻāĻžāĻ āĻ¸āĻšāĻāĻ¤āĻ°!
āĻāĻžāĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻāĻĒāĻ°ā§āĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§, āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦ docker-compose.yml
:
version: '3.3'
services:
api:
build: .
image: mywebimage:0.0.1
ports:
- 8080:8080
volumes:
- /app/node_modules/
depends_on:
- timescale
command: npm run dev
networks:
- webappnetwork
timescale:
image: timescale/timescaledb-postgis:latest-pg11
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
command: ["postgres", "-c", "log_statement=all", "-c", "log_destination=stderr"]
volumes:
- ./create_schema.sql:/docker-entrypoint-initdb.d/create_schema.sql
networks:
- webappnetwork
ping:
image: willfarrell/ping
environment:
HOSTNAME: "localhost"
TIMEOUT: 300
networks:
webappnetwork:
driver: bridge
āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻĒā§āĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻž āĻĒāĻžāĻ¤ā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ
ā§āĻ¯āĻžāĻā§āĻ āĻāĻ°āĻ¤ā§, āĻāĻ¸ā§āĻ¨ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ Makefile
:
THIS_FILE := $(lastword $(MAKEFILE_LIST))
.PHONY: help build up start down destroy stop restart logs logs-api ps login-timescale login-api db-shell
help:
make -pRrq -f $(THIS_FILE) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$'
build:
docker-compose -f docker-compose.yml build $(c)
up:
docker-compose -f docker-compose.yml up -d $(c)
start:
docker-compose -f docker-compose.yml start $(c)
down:
docker-compose -f docker-compose.yml down $(c)
destroy:
docker-compose -f docker-compose.yml down -v $(c)
stop:
docker-compose -f docker-compose.yml stop $(c)
restart:
docker-compose -f docker-compose.yml stop $(c)
docker-compose -f docker-compose.yml up -d $(c)
logs:
docker-compose -f docker-compose.yml logs --tail=100 -f $(c)
logs-api:
docker-compose -f docker-compose.yml logs --tail=100 -f api
ps:
docker-compose -f docker-compose.yml ps
login-timescale:
docker-compose -f docker-compose.yml exec timescale /bin/bash
login-api:
docker-compose -f docker-compose.yml exec api /bin/bash
db-shell:
docker-compose -f docker-compose.yml exec timescale psql -Upostgres
āĻāĻāĻžāĻ¨ā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ c=
āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻ¸ā§āĻ¯ā§āĻ āĻāĻāĻāĻŋ āĻāĻāĻ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻĒāĻ°ā§ Makefile
āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻāĻ āĻŽāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
make help
- āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻžāĻ°āĻŋ āĻāĻ°āĻžmake
.
āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯
make build
- āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻŽā§āĻ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖDockerfile
. āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻāĻŽāĻ°āĻž āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻŋāĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋtimescale
иping
. āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽā§āĻapi
āĻāĻŽāĻ°āĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻĄāĻŧā§ āĻ¤ā§āĻ˛āĻ¤ā§ āĻāĻžāĻāĨ¤ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§ āĻ āĻŋāĻ āĻāĻāĻŋāĻ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻāĻāĻāĻŋ āĻĄāĻāĻžāĻ° āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž
make start
- āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨āĨ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻŋ āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨make start c=timescale
.
āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ˛ āĻ§āĻžāĻ°āĻ āĻāĻ˛āĻŽāĻžāĻ¨
āĻāĻāĻāĻŋ āĻĒāĻŋāĻ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻ˛āĻā§
make login-timescale
- āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻŦā§āĻ¯āĻžāĻļ āĻ¸ā§āĻļāĻ¨ā§ āĻ˛āĻāĻāĻ¨ āĻāĻ°ā§āĻ¨timescale
.
āĻāĻāĻāĻŋ āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ˛ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻŦā§āĻ¯āĻžāĻļ āĻāĻ˛āĻā§
make db-shell
- āĻĒā§āĻ°āĻŦā§āĻļāĻĻā§āĻŦāĻžāĻ°psql
āĻāĻāĻāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§timescale
āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤
āĻāĻāĻāĻŋ āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ˛āĻĄāĻŦāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻĒāĻŋāĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻā§āĻā§
make stop
- āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻĨāĻžāĻŽāĻžāĻ¨āĨ¤
āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ˛ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻĨāĻžāĻŽāĻžāĻ¨ā§
make down
- āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻĨāĻžāĻŽāĻžāĻ¨ā§ āĻāĻŦāĻ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĨ¤ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ§āĻžāĻ°āĻ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻĒāĻāĻ¨ā§āĻĻāĻ¸āĻ āĻ§āĻžāĻ°āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ -make down c=timescale
āĻŦāĻžmake down c=api
.
āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻŽā§āĻā§āĻ¨
āĻĢāĻ˛āĻžāĻĢāĻ˛
āĻ¯āĻĻāĻŋāĻ āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻĒā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĻā§āĻ§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĻā§āĻ¯āĻŧ, āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ āĻĻā§āĻ°ā§āĻ āĻāĻŦāĻ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻž āĻāĻ āĻŋāĻ¨ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ Makefile
āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻĨā§āĻā§ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ āĻ¸āĻšāĻ āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§āĻā§ā§ˇ docker-compose.yml
. āĻ¯āĻĨāĻž, āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻāĻŋ:
- āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻĒāĻžāĻ¤ā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°ā§
docker-compose.yml
, āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻ˛āĻŽāĻžāĻ¨ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻžāĻ āĻšāĻ¸ā§āĻ¤āĻā§āĻˇā§āĻĒ āĻ¨āĻž. - āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻā§āĻ˛ā§ āĻā§āĻ˛ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
make help
āĻāĻŦāĻ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻĒāĻžāĻ¨āĨ¤ - āĻ¨āĻ¤ā§āĻ¨ āĻ˛āĻ āĻāĻ¨ā§āĻā§āĻ°āĻŋ āĻŦāĻž āĻ˛āĻ āĻāĻ¨ āĻāĻ°āĻžāĻ° āĻŽāĻ¤ā§ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻĻā§āĻ°ā§āĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŽāĻ¤
docker-compose -f docker-compose.yml exec timescale psql -Upostgres
āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧmake db-shell
. - āĻĢāĻžāĻāĻ˛
Makefile
āĻāĻĒāĻ¨āĻŋ, āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻŦā§āĻĻā§āĻ§āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻŦā§āĻ¯āĻžāĻāĻāĻĒ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦāĻž āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨āĻ āĻāĻžāĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻ¸āĻšāĻāĨ¤ - āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĻāĻ˛ āĻāĻāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
Makefile
, āĻāĻāĻŋ āĻ¸āĻšāĻ¯ā§āĻāĻŋāĻ¤āĻžāĻā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻŽāĻ˛āĻžāĻāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻšā§āĻ°āĻžāĻ¸ āĻāĻ°ā§ā§ˇ
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§
āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻžāĻ āĻāĻāĻŖ! āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻĄāĻāĻžāĻ° āĻ°āĻāĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻŦā§āĻ¨?
āĻāĻ¤ā§āĻ¸: www.habr.com