updated readme to reflect latest changes
This commit is contained in:
parent
4c09c1e248
commit
537bbe89c9
85
README.md
85
README.md
@ -39,22 +39,8 @@ It supports Python 3 and Anki 2.1.
|
|||||||
Installing
|
Installing
|
||||||
----------
|
----------
|
||||||
|
|
||||||
0. Install Anki. The currently supported version range is 2.1.1〜2.1.11, with the
|
0. Install the current version of Anki.
|
||||||
exception of 2.1.9<sup id="readme-fn-01b">[1](#readme-fn-01)</sup>. (Keep in
|
|
||||||
mind this range only applies to the Anki used by the server, clients can be
|
|
||||||
as old as 2.0.27 and still work.) Running the server with other versions might
|
|
||||||
work as long as they're not 2.0.x, but things might break, so do it at your
|
|
||||||
own risk. If for some reason you can't get the supported Anki version easily
|
|
||||||
on your system, you can use `anki-bundled` from this repo:
|
|
||||||
|
|
||||||
$ git submodule update --init
|
|
||||||
$ cd anki-bundled
|
|
||||||
$ pip install -r requirements.txt
|
|
||||||
|
|
||||||
Keep in mind `pyaudio`, a dependency of Anki, requires development headers for
|
|
||||||
Python 3 and PortAudio to be present before running `pip`. If you can't or
|
|
||||||
don't want to install these, you can try [patching Anki](#running-ankisyncd-without-pyaudio).
|
|
||||||
|
|
||||||
1. Install the dependencies:
|
1. Install the dependencies:
|
||||||
|
|
||||||
$ pip install webob
|
$ pip install webob
|
||||||
@ -65,22 +51,28 @@ Installing
|
|||||||
|
|
||||||
$ ./ankisyncctl.py adduser <username>
|
$ ./ankisyncctl.py adduser <username>
|
||||||
|
|
||||||
4. Run ankisyncd:
|
4. Setup a proxy to unchunk the requests.
|
||||||
|
Webob does not support the header "Transfer-Encoding: chunked" used by Anki and
|
||||||
|
therefore ankisyncd sees chunked requests as empty. To solve this problem setup
|
||||||
|
Nginx (or any other webserver of your choice) and configure it to "unchunk" the
|
||||||
|
requests to ankisyncd:
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 27701;
|
||||||
|
server_name default;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_http_version 1.0;
|
||||||
|
proxy_pass http://ankisyncd:27701/;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
5. Run ankisyncd:
|
||||||
|
|
||||||
$ python -m ankisyncd
|
$ python -m ankisyncd
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<span id="readme-fn-01"></span>
|
|
||||||
1. 2.1.9 is not supported due to [commit `95ccbfdd3679`][] introducing the
|
|
||||||
dependency on the `aqt` module, which depends on PyQt5. The server should
|
|
||||||
still work fine if you have PyQt5 installed. This has been fixed in
|
|
||||||
[commit `a389b8b4a0e2`][], which is a part of the 2.1.10 release.
|
|
||||||
[↑](#readme-fn-01b)
|
|
||||||
|
|
||||||
[commit `95ccbfdd3679`]: https://github.com/dae/anki/commit/95ccbfdd3679dd46f22847c539c7fddb8fa904ea
|
|
||||||
[commit `a389b8b4a0e2`]: https://github.com/dae/anki/commit/a389b8b4a0e209023c4533a7ee335096a704079c
|
|
||||||
|
|
||||||
Installing (Docker)
|
Installing (Docker)
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
@ -89,6 +81,18 @@ Follow [these instructions](https://github.com/kuklinistvan/docker-anki-sync-ser
|
|||||||
Setting up Anki
|
Setting up Anki
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
### Anki 2.1.28 and above
|
||||||
|
|
||||||
|
Create a new directory in [the add-ons folder][addons21] (name it something
|
||||||
|
like ankisyncd), create a file named `__init__.py` containing the code below
|
||||||
|
and put it in the `ankisyncd` directory.
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
addr = "http://127.0.0.1:27701/" # put your server address here
|
||||||
|
os.environ["SYNC_ENDPOINT"] = addr + "sync/"
|
||||||
|
os.environ["SYNC_ENDPOINT_MEDIA"] = addr + "msync/"
|
||||||
|
|
||||||
### Anki 2.1
|
### Anki 2.1
|
||||||
|
|
||||||
Create a new directory in [the add-ons folder][addons21] (name it something
|
Create a new directory in [the add-ons folder][addons21] (name it something
|
||||||
@ -125,8 +129,6 @@ Unless you have set up a reverse proxy to handle encrypted connections, use
|
|||||||
whatever you have specified in `ankisyncd.conf` (or, if using a reverse proxy,
|
whatever you have specified in `ankisyncd.conf` (or, if using a reverse proxy,
|
||||||
whatever port you configured to accept the front-end connection).
|
whatever port you configured to accept the front-end connection).
|
||||||
|
|
||||||
**Do not use trailing slashes.**
|
|
||||||
|
|
||||||
Even though the AnkiDroid interface will request an email address, this is not
|
Even though the AnkiDroid interface will request an email address, this is not
|
||||||
required; it will simply be the username you configured with `ankisyncctl.py
|
required; it will simply be the username you configured with `ankisyncctl.py
|
||||||
adduser`.
|
adduser`.
|
||||||
@ -138,31 +140,6 @@ Running `ankisyncd` without `pyaudio`
|
|||||||
want to install PortAudio, you can edit some files in the `anki-bundled`
|
want to install PortAudio, you can edit some files in the `anki-bundled`
|
||||||
directory to exclude `pyaudio`:
|
directory to exclude `pyaudio`:
|
||||||
|
|
||||||
### Anki ≥2.1.9
|
|
||||||
|
|
||||||
Just remove "pyaudio" from requirements.txt and you're done. This change has
|
|
||||||
been introduced in [commit `ca710ab3f1c1`][].
|
|
||||||
|
|
||||||
[commit `ca710ab3f1c1`]: https://github.com/dae/anki/commit/ca710ab3f1c1174469a3b48f1257c0fc0ce624bf
|
|
||||||
|
|
||||||
### Older versions
|
|
||||||
|
|
||||||
First go to `anki-bundled`, then follow one of the instructions below. They all
|
|
||||||
do the same thing, you can pick whichever one you're most comfortable with.
|
|
||||||
|
|
||||||
Manual version: remove every line past "# Packaged commands" in anki/sound.py,
|
|
||||||
remove every line starting with "pyaudio" in requirements.txt
|
|
||||||
|
|
||||||
`ed` version:
|
|
||||||
|
|
||||||
$ echo '/# Packaged commands/,$d;w' | tr ';' '\n' | ed anki/sound.py
|
|
||||||
$ echo '/^pyaudio/d;w' | tr ';' '\n' | ed requirements.txt
|
|
||||||
|
|
||||||
`sed -i` version:
|
|
||||||
|
|
||||||
$ sed -i '/# Packaged commands/,$d' anki/sound.py
|
|
||||||
$ sed -i '/^pyaudio/d' requirements.txt
|
|
||||||
|
|
||||||
ENVVAR configuration overrides
|
ENVVAR configuration overrides
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user