anki-sync-server/README.md

61 lines
1.6 KiB
Markdown
Raw Normal View History

2013-10-20 14:07:36 +08:00
ankisyncd
=========
2013-07-18 09:22:21 +08:00
2013-10-20 13:36:27 +08:00
A personal Anki sync server (so you can sync against your own server rather than
2016-04-06 00:30:30 +08:00
AnkiWeb). This version has been modified from dsnopek's Anki Sync Server to
remove the REST API, which makes it possible to drop some dependencies.
2013-07-18 09:22:21 +08:00
Installing
----------
2013-10-20 14:07:36 +08:00
### Manual installation
2013-10-21 08:03:47 +08:00
1. First, you need to install "virtualenv". If your system has easy_install,
this is just a matter of:
2013-10-21 08:03:47 +08:00
$ easy_install virtualenv
2013-10-21 08:03:47 +08:00
If your system doesn't have easy_install, I recommend getting it!
2013-10-21 08:03:47 +08:00
2. Next, you need to create a Python environment for running ankisyncd and
install some of the dependencies we need there:
2013-10-21 08:03:47 +08:00
$ virtualenv ankisyncd.env
$ ankisyncd.env/bin/easy_install webob simplejson
3. Patch the bundled libanki:
$ ./patch_libanki.sh
4. Copy the example.ini to production.ini and edit for your needs.
2013-10-20 14:14:11 +08:00
5. Create authentication database:
2013-08-02 02:06:51 +08:00
2013-10-21 08:03:47 +08:00
$ sqlite3 auth.db 'CREATE TABLE auth (user VARCHAR PRIMARY KEY, hash VARCHAR)'
2013-08-02 02:06:51 +08:00
2013-10-20 14:14:11 +08:00
6. Create user:
2013-08-02 02:06:51 +08:00
2013-10-30 05:48:02 +08:00
$ ./ankisyncctl.py adduser <username>
2013-08-02 02:06:51 +08:00
2013-10-21 08:03:47 +08:00
7. Then we can run ankisyncd like so:
2013-08-02 02:06:51 +08:00
2013-10-30 05:48:02 +08:00
$ ./ankisyncctl.py start
2014-07-22 21:29:02 +08:00
2013-10-30 05:48:02 +08:00
To stop the server, run:
$ ./ankisyncctl.py stop
2013-08-02 02:06:51 +08:00
2013-10-21 07:57:58 +08:00
Setting up Anki
---------------
2013-10-21 08:03:47 +08:00
To make Anki use ankisyncd as its sync server, create a file (name it something
like ankisyncd.py) containing the code below and put it in ~/Anki/addons.
2013-10-21 07:57:58 +08:00
import anki.sync
2013-10-21 08:03:47 +08:00
2014-07-22 21:29:02 +08:00
anki.sync.SYNC_BASE = 'http://127.0.0.1:27701/'
2015-11-29 12:53:58 +08:00
anki.sync.SYNC_MEDIA_BASE = 'http://127.0.0.1:27701/msync/'
2013-10-21 07:57:58 +08:00
2013-10-21 08:03:47 +08:00
Replace 127.0.0.1 with the IP address or the domain name of your server if
ankisyncd is not running on the same machine as Anki.