version: "3.0" services: # https://habr.com/ru/articles/578744/ # https://hub.docker.com/_/postgres postgres: user: root image: postgres:16.3 container_name: "postgres" environment: POSTGRES_PASSWORD: ${POSTGRESQL_PASS} POSTGRES_USER: ${POSTGRESQL_USER} PGDATA: "/var/lib/postgresql/data/pgdata" volumes: - ./pgdata:/var/lib/postgresql/data ports: - "${POSTGRESQL_PORT:-5432}:5432" networks: - pgdata restart: always pgadmin: user: root container_name: "pgadmin" image: dpage/pgadmin4 environment: PGADMIN_DEFAULT_EMAIL: ${POSTGRESQL_EMAIL} PGADMIN_DEFAULT_PASSWORD: ${POSTGRESQL_PASS} PGADMIN_CONFIG_SERVER_MODE: 'False' ports: - "${PGADMIN_PORT:-5050}:80" volumes: - ./pgadmin:/var/lib/pgadmin - ./scripts:/scripts networks: - pgdata restart: always depends_on: - postgres restapi: image: postgrest/postgrest:v9.0.0 container_name: "restapi" environment: PGRST_DB_URI: postgres://${POSTGRESQL_USER}:${POSTGRESQL_PASS}@postgres:5432/${POSTGRESQL_DB} PGRST_DB_SCHEMA: public PGRST_DB_ANON_ROLE: ${POSTGRESQL_USER} ports: - "3000:3000" depends_on: - postgres networks: - pgdata restart: unless-stopped networks: pgdata: