Anki/docs/syncserver/README.md
Jean Khawand a694889bca
🐬Containerize anki-sync-server (#3036)
* 🐬Containerize anki-sync-server

* rename directory to syncserver

* update contributors

* fix format

* format README

* - make ANKI_VERSION mandatory
- remove SYNC_USERS and stick unique vars
- update doc

* update doc

* update doc

* - remove hardcoded ANKI_VERSION arg
- update readme
2024-03-01 15:15:02 +07:00

38 lines
1.3 KiB
Markdown

# Building and running Anki sync server in Docker
This is an example Dockerfile contributed by an Anki user, which shows how you can run a self-hosted sync server,
similar to what AnkiWeb.net offers.
Building and running the sync server within a container has the advantage of fully isolating
the build products and runtime dependencies from the rest of your system.
## Requirements
- [x] [Docker](https://docs.docker.com/get-started/)
# Building image
To proceed with building, you must specify the Anki version you want, by replacing `<version>` with something like `23.12.1`.
```bash
# Ensure you are running this command inside /docs/syncserver
docker build --no-cache --build-arg ANKI_VERSION=<version> -t anki-sync-server .
```
# Run container
Once done with build, you can proceed with running this image with the following command:
```bash
# this will create anki server
docker run -d -e "SYNC_USER1=admin:admin" -p 8080:8080 --name anki-sync-server anki-sync-server
```
However, if you want to have multiple users, you have to use the following approach:
```bash
# this will create anki server with multiple users
docker run -d -e "SYNC_USER1=test:test" -e "SYNC_USER2=test2:test2" -p 8080:8080 --name anki-sync-server anki-sync-server
```
Moreover, you can pass additional env vars mentioned [here](https://docs.ankiweb.net/sync-server.html)