Deploy doccano in a subpath

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

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

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

  1. $ 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 设置为您的子路径
  1. ...
  2. export default {
  3. router: {
  4. base: '/mysubpath/'
  5. },
  6. ...

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

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

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

Django的管理区域:

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

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

  1. USE_X_FORWARDED_HOST = True
  2. 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

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

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

  1. 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。

  1. ProxyPass my-name/doccano http://127.0.0.1:8090/my-name/doccano
  2. 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?如果是,如何操作?

相关问题