Хостинг Golang с базой данных Postgres

Чтобы разместить на Контейнерном хостинге Golang приложение и подключиться из него к базе данных Postgres необходимо выполнить следующие три шага.

1. Установка утилиты для управления проектом

Если вы установили утилиту conhos ранее, то просто переходите к следующему пункту. Если не установили, то возспользуйтесь Инструкцией для установки.

2. Создание файла конфигурации

Файл конфигурации для создания в Контейнерном хостинге сервиса Golang с поднятием сервера базы данных Postgres и подключение к нему из приложения, а также опциональный пример поднятия Adminer для администрирования баз данных. Подробнее в Файл конфигурации.

Актуальную версию Postgres контейнера уточнить в официальном репозитории Postgres

name: name-of-project
services:
  golang1:
    type: golang
    size: mili
    active: true
    version: latest
    pwd: examples/golang-postgres
    exclude:
      - vendor
    command: go build -o main && ./main
    ports:
      - port: 3000
        type: http
    depends_on: # Указываем, что сервис должен иметь внутрениие ссылки на
      - postgres0 # сервис postgres0
    environment:
      - PORT=3000
      # Далее пробрасываем переменные для подключения
      - POSTGRES_PASSWORD=value0
      - POSTGRES_USER=value1
      - POSTGRES_DB=value2
  postgres0:
    type: postgres
    size: mili
    active: true
    version: latest
    environment:
      # Переменные для инициализации базы данных
      - POSTGRES_PASSWORD=value0
      - POSTGRES_USER=value1
      - POSTGRES_DB=value2

Хост базы данных будет доступен в контейнере приложения по переменной окружения [НАЗВАНИЕ_СЕРВИСА]_HOST, например для сервиса postgres0 название переменной хоста внутри контейнера который ссылается на этот сервис через depends_on будет POSTGRES0_HOST

3. Запуск проекта в облаке

Для загрузки файлов в облако и запуска сервисов в контейнерах, выполните команду:

conhos deploy

Продолжить изучение

Хостинг Golang Redis <<< | >>> Хостинг Golang Mysql