Package Details: etebase-server 0.14.2-1

Git Clone URL: https://aur.archlinux.org/etebase-server.git (read-only, click to copy)
Package Base: etebase-server
Description: A self-hostable Etebase (EteSync 2.0) server
Upstream URL: https://github.com/etesync/server
Keywords: encryption etesync pim sync
Licenses: AGPL-3.0-only
Submitter: tasn
Maintainer: tasn (daftaupe, xiretza)
Last Packager: xiretza
Votes: 4
Popularity: 0.000000
First Submitted: 2020-10-18 15:40 (UTC)
Last Updated: 2024-07-28 07:40 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 Next › Last »

tasn commented on 2022-04-18 21:51 (UTC)

Ah makes sense. Yeah, it's hard to balance support for old distros, new distros, constantly chasing deps, and the likes. We are a sticking with the django lts for now.

eomanis commented on 2022-04-18 21:24 (UTC) (edited on 2022-04-19 22:15 (UTC) by eomanis)

You probably want: community/uvicorn

Apparently I cannot read the output of pacman -Ss, how did I miss this.

Also I managed to get nginx-unit-python going. Turns out, do not mess with PYTHONHOME if you do not use a virtual environment or generally if you do not know what you are doing. It seems to find the Python modules if I remove the "home":-line from the configuration and set "path": to /usr/lib/etebase-server.

Still, I will be changing to a virtual environment because etebase-server-0.8.3 seems to require Django 3, and Arch is currently packaging Django 4, causing this error:

nginx-unitd-log[1363675]:   File "/usr/lib/etebase-server/django_etebase/signals.py", line 3, in <module>
nginx-unitd-log[1363675]:     user_signed_up = Signal(providing_args=["request", "user"])
nginx-unitd-log[1363675]: TypeError: Signal.__init__() got an unexpected keyword argument 'providing_args'

Similarly, /usr/lib/etebase-server/manage.py migrate is giving me a Django-related stack dump, too:

  File "/usr/lib/etebase-server/etebase_server/urls.py", line 4, in <module>
    from django.conf.urls import url
ImportError: cannot import name 'url' from 'django.conf.urls' (/usr/lib/python3.10/site-packages/django/conf/urls/__init__.py)

tasn commented on 2022-04-18 19:20 (UTC)

You probably want: community/uvicorn

eomanis commented on 2022-04-17 16:33 (UTC) (edited on 2022-04-17 16:34 (UTC) by eomanis)

Apparently this Django application switched from WSGI to ASGI. How do you guys run it? I have been using uwsgi-plugin-python, but that does not work anymore, obviously.

There is no guvicorn package available, so I went and tried with nginx-unit-python, but I cannot make it work for the life of me. I always get this error:

Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'

This error is somewhat common when you google it, but solutions are scarce, and if they have one, it is based on having a virtual environment, so not applicable to this package. The point of having a package is not needing a venv, right?

I remember having the same error with uwsgi-plugin-python, but it weirdly went away when I switched to launching /usr/bin/uwsgi with all required options given on the command line instead of using an .ini file. Unfortunately this workaround is not applicable to nginx-unit-python.

Here is my configuration for nginx-unit-python:

{
    "listeners":{
        "unix:/srv/etebase/socket/etebase_server.sock": {
            "pass": "applications/etebase_server"
        }
    },
    "applications": {
        "etebase_server": {
            "type": "python 3.10",
            "processes": 1,
            "working_directory": "/srv/etebase",
            "path": "/usr/lib/python3.10/site-packages",
            "home": "/usr/lib/etebase-server",
            "module": "etebase_server.asgi",
            "callable": "application"
        }
    }
}

nginx-unitd is launched by systemd like this:

[Unit]
Description=nginx-unit running EteBase

[Service]
PrivateDevices=yes
PrivateTmp=yes
User=etebase
WorkingDirectory=/usr/lib/etebase-server
ExecStart=/usr/bin/unitd \
    --no-daemon \
    --control unix:/srv/etebase/nginx-unitd/control.sock \
    --state        /srv/etebase/nginx-unitd/state \
    --pid          /srv/etebase/nginx-unitd/nginx-unitd.pid \
    --log          /srv/etebase/nginx-unitd/nginx-unitd.log

[Install]
WantedBy=multi-user.target

tasn commented on 2022-04-01 10:14 (UTC)

Oops, done. Thanks!

razer commented on 2022-04-01 08:32 (UTC)

Please add as dependancy : python-aioredis python-aiofiles

tasn commented on 2021-04-19 17:57 (UTC)

Yes, or change that path to something else.

txtsd commented on 2021-04-19 16:52 (UTC)

Did you have to change ownership on /usr/lib/etebase-server/media to make it work?

tasn commented on 2021-04-19 15:59 (UTC)

Yeah, I think it's too specific. There are semi-scripts out there, but you really want to choose what you want and set it up accordingly.

txtsd commented on 2021-04-19 15:50 (UTC)

Thanks. Managed to get it done, but idk if I'd be able to script the whole process to automate it.