Deploy doccano in a subpath

pobjuy32  于 5个月前  发布在  其他
关注(0)|答案(3)|浏览(161)

我知道这是一个老问题。但是在尝试了几次之后,我仍然无法在某些子路径下部署doccano。

我知道还有一个名为Label Studio的标签工具,它支持子路径,命令如下:

$ label-studio --host https://example.com/by/subpath/of/label-studio

所以我阅读了它的代码,并尝试修改doccano中的FORCE_SCRIPT_NAME,但似乎没有成功。
https://github.com/heartexlabs/label-studio/blob/70f12eb96860709bb53c10bf1aa9e1257adef166/label_studio/core/settings/base.py#L45
这是我所做的一些尝试:
aisensiy@66b87e4
我真的希望doccano支持子路径。希望有人能给我一些关于这个问题的建议。

我的环境

  • 操作系统:Mac OS 12.4 M1
  • 使用的Python版本:3.8
  • 安装doccano的时间:6月24日
  • 如何安装doccano(Heroku按钮等):pip install doccano

相关问题:

ufj5ltwl

ufj5ltwl1#

你好,我尝试使用Docker compose与我的nginx web服务器实现相同的功能,并通过以下方式使其工作:

Doccano

  1. frontend/nuxt.config.js 中,将 base 设置为您的子路径
...
export default {
  router: {
    base: '/mysubpath/'
  },
...

并将 baseUrl/v1 设置为 /mysubpath/v1 :

...
   env: {
    baseUrl: '/mysubpath/v1'
   },
...
  1. 重建镜像并运行:
docker-compose -f docker/docker-compose.prod.yml up --build
  1. 配置我的nginx web服务器的 conf.d/default.conf ,不是doccano的docker-compose.prod.yml中的一个:
location /mysubpath/ {
        proxy_pass          http://doccano-nginx:8080/;
        proxy_set_header    Host $host;
        proxy_set_header    X-Real-IP         $remote_addr;
        proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Proto $scheme;
    }

其中 doccano-nginx 是docker/docker-compose.prod.yml中nginx容器的名称

Django的管理区域:

  1. STATIC_URL/static/ 更改为 /mysubpath/static/ :
...
STATIC_URL = "/mysubpath/static/"
...

backend/config/settings/base.py 中添加以下设置:

USE_X_FORWARDED_HOST = True
FORCE_SCRIPT_NAME = '/mysubpath/'
eufgjt7s

eufgjt7s2#

Hello, I was trying to achieve the same using Docker compose with my nginx webserver and got it work by doing following:
I run under python env and I have to additionally add the prefix to all urlpatterns in backend/config/urls.py

# Add 'prefix' to all urlpatterns
if settings.URL_PREFIX:
    urlpatterns = [path(f'{settings.URL_PREFIX}/', include(urlpatterns))]

and in backend/config/settings/base.py add

URL_PREFIX = "mysubpath"

Otherwise, I cannot log in.
Not sure if I miss anything else.
reference https://stackoverflow.com/a/56639722/18672686

oyxsuwqo

oyxsuwqo3#

解决这个问题对我来说非常有用。
我正在一个大学环境中工作,那里的请求URL看起来像public.path.com/machine-name/user-name/
使用Apache反向代理规则,我可以在将doccano绑定到localhost时保留URL。

ProxyPass my-name/doccano http://127.0.0.1:8090/my-name/doccano
ProxyPassReverse my-name/doccano http://127.0.0.1:8090/my-name/doccano

我希望也能为doccano应用tutorial on how to mount flask to subpath using gunicorn,但我不确定doccano如何使用wsgi,以及如何在doccano中影响Django URL设置?
wsgi和gunicorn是否可以用于轻松运行带有子路径的doccano?如果是,如何操作?

相关问题