Manual install? Self hosting improvements . . .
What if someone doesn't want to use Git? [ for example, doesn't like the directory into which Git "forces" the install ]
Would the following steps work?
-
copy repository into /my_special/ETE_directory
-
cd /my_special/ETE_directory -
Set up the environment and deps
virtualenv3 .venv
source .venv/bin/activatepip install -r requirements.txt
Any "gotcha's" with this idea?
It would be great if you clarified and/or improved the self-hosting options a bit. I know a large number of people don't want to use Git and/or pip.
Would it be possible for you to setup an APT repository to achieve a "simpler" self hosted install? Most server admins would be very familiar with this (even while possibly not so familiar with Git and/or pip when they are not necessarily developers).
This might seem a bit counter to your desires to monetize https://www.etesync.com/ , but I think the constructive feedback you would get from "power users" might be well worth it in the long run.
Thanks for your consideration!
Thanks for your suggestion. As you may be aware, packaging takes a lot of time and effort. There's already an effort (by a user) to package etesync for Arch, but doing it for every distro is time-consuming and doesn't provide as much value as working on other parts of the EteSync ecosystem. If anything, I'd much rather create a Docker image which would make it much easier to spin up self-hosted servers than packaging for Debian. It's a matter of priorities, and it's just not high on the list...
As for avoiding git, you can already do that by just downloading the repo's zip straight from GitHub. As for not using pip, that's unfortunately not trivial at the moment (but not that hard...).
Hi Tom:
Thanks for your quick response. I've been reading up on Git while anticipating a response here -- and think it will be easy to put the cloned repository where I want, removing one of my main concerns with usage of Git.
I actually don't fully know how time-consuming packaging is. I hear that complaint fairly frequently, but then I also see a lot of projects (often quite small) which have packaged for a number of distros.
The move to containerized environments like Docker seems to hold a lot of sway currently, but to me just seems like adding yet another layer of complexity.
I'll report back on my experiences with attempting to self-host ETE-Sync. It looks like you might have an elegant alternative to Radicale.
OK, I successfully Git-cloned ETESync where I wanted it
next:
- cd to correct directory and then
virtualenv3 .venv
result:
Command 'virtualenv3' not found, did you mean:
command 'virtualenv' from deb virtualenv
then,
sudo apt-get install virtualenv- repeat
virtualenv3 .venv - same error
- attempt: `sudo apt-get install virtualenv3
- result:
Unable to locate package virtualenv3
This on Ubuntu 18.04
Ideas?
sudo apt-get install python3-virtualenv most likely...
come to think of it, virtualenv3 .venv is likely a Python command.
How to invoke?
python3-virtualenv is already the newest version (15.1.0+ds-1.1).
python3-virtualenv set to manually installed.
So, I guess I am just not invoking virtualenv3 .venv corectly
I'm not sure how it is in Ubuntu, so you better try Google. You can maybe try:
virtualenv -p python3 venv
source venv/bin/activate
sudo virtualenv .venv
result: Running virtualenv with interpreter /usr/bin/python2
sudo virtualenv -p python3 venv seems to work
OK, so the install instructions seem incorrect (for Ubuntu, at least) when it says virtualenv3 .venv
also, to source .venv/bin/activate
I seem to need to python3 -m source .venv/bin/activate
Looks like the self-host install instructions need some rework -- certainly for those of us without much Python experience.
I'll report back as I move on.
Thanks!
source .venv/bin/activate should be correct. Not sure what's the alternative you used is for.
Yeah, instructions are not perfect, they assume some knowledge when it comes to python and virtualenvs and were written for Arch. There's only so much I can document. :)
That's why I'm keen for Docker support...
The default Python instance in Ubuntu is Python 2.7, so specifying
python3 -m source .venv/bin/activate got everything going with Python3
I certainly can appreciate your limited time. For maximum reach you would probably be better served by targeting Ubuntu, however. See this Google trend analysis: https://trends.google.com/trends/explore?geo=US&q=%2Fm%2F031y74,%2Fm%2F03x5qm
Also, Arch users might have an easier time reverse engineering Ubuntu instructions than the other way around! ;-)
The source is meant to be a shell command, not a python command, and the command above doesn't work for me, and source should definitely work on Ubuntu. Anyhow, whatever works for you... :)
I think maximum reach would be targeting Docker rather than any specific distro. Regardless of that, I'll update the Ubuntu instructions now, as we already solved everything.
I think maximum reach would be targeting Docker rather than any specific distro. Regardless of that, I'll update the Ubuntu instructions now, as we already solved everything.
@tasn @FBachofner
If its of interest to you, take a look on my image at Docker Hub (victorrds/etesync) , I updated recently and is the one I use on my home server.
By default it uses uWSGI as application server, and is configurable so you can use to serve directly (with https support), behind nginx, or any other reverse-proxy/load-balancer compatible with HTTP, such as traefik
@victor-rds, I saw your Docker image though I haven't reviewed it properly. Once I do that we can start recommending people to use it or even make it the official image.
Worth mentioning here: thanks to great work by @daftaupe, it's now packaged for both Arch and Fedora. See the README for more information.
@tasn I know it's been a long time, but I revamped the docker image, and now with separate images for the latest on master branch and v0.3.0 release.
@victor-rds, cool, thanks for the update! :)
I know it's been a long time, but I revamped the docker image, and now with separate images for the latest on master branch and v0.3.0 release.
https://hub.docker.com/r/victorrds/etesync
Excuse for the self-promoting comments, but if anyone is interested I created docker images for RaspberryPi and other devices based om ARM processors, if anyone wants to try and help me test please use the victorrds/etesync:experimental-alpine tag.
Excuse for the self-promoting comments, but if anyone is interested I created docker images for RaspberryPi and other devices based om ARM processors, if anyone wants to try and help me test please use the victorrds/etesync:experimental-alpine tag.
That's not self-promotion! Everyone appreciates and enjoys your Docker images, and it's great news they are now also available for ARM!
@victor-rds, hey, I'm trying to contact you but can't find an email for you. Could you please email me at tom @ the services's domain? I would love to chat with you about EteSync 2.0 and the best way going forward for the docker images. Thanks!
@victor-rds I'd also love to see EteSync 2.0 builds!
Btw, @victor-rds's images are now available on the latest version.
Hey, i am trying to install the newst version at uberspace (shared hosting) and got an error at the migrating step.
My Steps:
$ git clone https://github.com/etesync/server etebase
$ cd etebase
$ virtualenv -p python3 .venv
$ source .venv/bin/activate
$ pip3 install -r requirements.txt
$ cp etebase-server.ini.example etebase-server.ini
$ nano etebase-server.ini
$ pip3 install uvicorn[standard]
$ ./manage.py migrate
And this is the output of the migrate command:
(.venv) [easye@greip etebase]$ python ./manage.py migrate
Traceback (most recent call last):
File "./manage.py", line 21, in <module>
main()
File "./manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "/home/easye/etebase/.venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/home/easye/etebase/.venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 377, in execute
django.setup()
File "/home/easye/etebase/.venv/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/easye/etebase/.venv/lib/python3.6/site-packages/django/apps/registry.py", line 114, in populate
app_config.import_models()
File "/home/easye/etebase/.venv/lib/python3.6/site-packages/django/apps/config.py", line 211, in import_models
self.models_module = import_module(models_module_name)
File "/home/easye/etebase/.venv/lib64/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/easye/etebase/django_etebase/models.py", line 37, in <module>
class CollectionType(models.Model):
File "/home/easye/etebase/django_etebase/models.py", line 41, in CollectionType
objects: models.manager.BaseManager["CollectionType"]
TypeError: 'type' object is not subscriptable
I was able to install and get running the previous versions but not the newest one... Is the error on my side or in the app?
Thanks for your help!
Etebase is Python 3.7 or newer, you seem to be using 3.6. That's why it's failing. You can use the latest release (instead of the version from master), which should still work with 3.6.
Either way, this is not the ticket for this, so if you have any more questions please come to the chat at https://www.etesync.com/community-chat/
OK, I successfully Git-cloned ETESync where I wanted it
next:
* cd to correct directory and then * `virtualenv3 .venv`result:
Command 'virtualenv3' not found, did you mean: command 'virtualenv' from deb virtualenvthen,
1. `sudo apt-get install virtualenv` 2. repeat `virtualenv3 .venv` 3. same error 4. attempt: `sudo apt-get install virtualenv3 5. result: `Unable to locate package virtualenv3`This on Ubuntu 18.04
Ideas?
On Debian buster as of July 2021:
sudo apt install virtualenv
fixed this -bash: virtualenv: command not found problem. Probably we can add to documentation.