1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-baserow

Клонировать/Скачать
install-behind-nginx.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 26.06.2025 16:02 92285f5

Установка Baserow за Nginx

Если у вас есть сервер Nginx, этот гайд объяснит, как настроить его для передачи запросов в Baserow.

Мы настоятельно рекомендуем использовать наш образ baserow/baserow:1.33.4 или примерные файлы docker-compose.yml (исключая вариант .no-caddy.yml), предоставленные в нашем репозитории git.

Эти файлы включают предварительно настроенный, простой и легкий HTTP-сервер Caddy, который упрощает вашу жизнь следующими способами:

  1. Маршрутизация запросов к правильным внутренним службам Baserow
  2. Включение соединений через веб-сокеты для реального времени сотрудничества
  3. Обслуживание файлов, загруженных пользователем
  4. И он все еще работает за вашим собственным обратным прокси без проблем

Если вы не хотите использовать наш встроенный Caddy-сервис за вашим Nginx, то убедитесь, что вы используете один из следующих методов развертывания:

  • Собственная контейнерная среда с нашими одиночными образами baserow/backend:1.33.4 и baserow/web-frontend:1.33.4.
  • Или наш файл примера docker-compose.no-caddy.yml в нашем репозитории git.

Тогда вы должны использовать раздел Вариант 2: Без нашего встроенного Caddy.

Вариант 1: С нашим встроенным Caddy

Вы можете найти рабочий пример использования Nginx с Baserow в нашем репозитории git в папке deploy/nginx/recommended.

Следуйте этому варианту, если вы используете:

  • Образ Baserow «все в одном» baserow/baserow:1.33.4
  • Любые из примерных файлов композиции, найденных в корне нашего репозитория git docker-compose.yml/docker-compose.local-build.yml /docker-compose.all-in-one.yml

Предварительные требования

Предполагается, что у вас уже запущен сервер Nginx, который вы знаете, как настроить.

Кроме того, предполагается, что вы используете операционную систему на базе Debian и уже успешно развернули Baserow.

Шаг 1 - Настройка BASEROW_PUBLIC_URL для Baserow

Baserow должен знать URL, по которому он будет доступен. Предположим, что вы будете размещать Baserow на поддомене, поэтому вам следует установить следующую переменную окружения для вашего развертывания Baserow (см. Настройка Baserow для дополнительных деталей).

BASEROW_PUBLIC_URL=http://baserow.example.com

Шаг 2 - Добавление конфигурации Nginx для Baserow

Создайте новый файл baserow.conf в /etc/nginx/sites-available/ со следующим содержимым:

Убедитесь, что вы заменили все ссылки на http://localhost:PORT на правильные для вашего конкретного развертывания Baserow.

server {
    server_name baserow.example.com;

    # Обновление запросов через веб-сокеты и маршрутизация API-бэкенда
    location ~ ^/(api|ws)/ {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://localhost:8080;
    }

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_pass http://localhost:8080;
    }
}

Шаг 3 - Включение нового сайта Baserow

Наконец, вы должны включить ваш новый сайт Baserow и перезапустить сервер Baserow, если вы изменяли переменные окружения.

 sudo ln -s /etc/nginx/sites-available/baserow.conf /etc/nginx/sites-enabled/baserow.conf
 sudo systemctl reload nginx

Теперь вы должны иметь возможность получить доступ к Baserow на вашем настроенном поддомене.

Вариант 2: Без нашего встроенного Caddy

Вы можете найти рабочий пример использования Nginx с Baserow в нашем репозитории git в папке deploy/nginx/no-caddy.

Следуйте этому варианту, если вы используете:

  • Наши отдельные образы baserow/backend:1.33.4 и baserow/web-frontend:1.33.4 с собственным контейнерным оркестратором.
  • Или файл примера docker-compose.no-caddy.yml в корне нашего репозитория git.

Предварительные требования

Предполагается, что у вас уже запущен сервер Nginx, который вы знаете, как настроить.

Кроме того, предполагается, что вы используете операционную систему на базе Debian и уже успешно развернули Baserow. Если вы используете другую среду, общие шаги и конфигурация Nginx все равно могут быть полезным отправным пунктом для вас, но вам может потребоваться выполнить другие команды.

Шаг 1 - Подключение тома медиафайлов для обслуживания загруженных файлов Nginx

Вы должны убедиться, что пользовательские загруженные файлы доступны в папке для обслуживания Nginx. В остальной части гайда мы будем использовать пример папки /var/web для этой цели.

Если вы используете образ baserow/backend:1.33.4, то вы можете сделать это, добавив -v /var/web:/baserow/data/media к обычной команде docker run, используемой для запуска бэкенда Baserow.

Если вы вместо этого используете docker-compose.no-caddy.yml, то вы можете изменить все монтирования - media:/baserow/media на - /var/web:/baserow/media.

Шаг 2 - Настройка BASEROW_PUBLIC_URL для Baserow

Baserow должен знать URL, по которому он будет доступен. Предположим, что вы будете размещать Baserow на поддомене, поэтому вам следует установить следующую переменную окружения для вашего развертывания Baserow (см. Настройка Baserow для дополнительных деталей).

BASEROW_PUBLIC_URL=http://baserow.example.com

Шаг 3 - Добавление конфигурации Nginx для Baserow

Создайте новый файл baserow.conf в /etc/nginx/sites-enabled/ со следующим содержимым:

Убедитесь, что вы заменили все ссылки на http://localhost:PORT на правильные для вашего конкретного развертывания Baserow.

server {
    server_name baserow.example.com;

    # Обновление запросов через веб-сокеты и маршрутизация API-бэкенда
    location ~ ^/(api|ws)/ {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://localhost:8000;
    }

    location /media/ {
        if ($arg_dl) {
            add_header Content-disposition "attachment; filename=$arg_dl";
        }
        # TODO Измените на расположение вашей папки медиа!
        alias /var/www/;
    }

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_pass http://localhost:3000;
    }
}

Шаг 4 - Включение нового сайта Baserow

Наконец, вы должны включить ваш новый сайт Baserow и перезапустить сервер Baserow, если вы изменяли переменные окружения.

 sudo ln -s /etc/nginx/sites-available/baserow.conf /etc/nginx/sites-enabled/baserow.conf
 sudo systemctl reload nginx

Теперь вы должны иметь возможность получить доступ к Baserow на вашем настроенном поддомене.

Устранение неполадок

Если вы можете загружать изображения в Baserow, но миниатюры не отображаются, или вы не можете повторно скачать их (получаете ошибки 403 при доступе к файлам), то:

  • Убедитесь, что права доступа к подпапкам в /var/web установлены так, чтобы они были читаемыми пользователем Nginx, выполнив команду cd /var/web && chmod 755 *.
  • Исправьте любые права доступа к файлам внутри подпапок /var/web, чтобы они были читаемыми пользователем Nginx.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-baserow.git
git@api.gitlife.ru:oschina-mirror/mirrors-baserow.git
oschina-mirror
mirrors-baserow
mirrors-baserow
develop