docker-libtorrent
docker-libtorrent copied to clipboard
🌀 Docker image packaging for libtorrent.
Base images with libtorrent compiled.
Published versions
What is libtorrent?
From www.libtorrent.org:
libtorrent is a feature complete C++ bittorrent implementation focusing on efficiency and scalability. It runs on embedded devices as well as desktops. It boasts a well documented library interface that is easy to use.
Deluge and qBittorrent are popular torrent clients built with libtorrent.
libtorrent is written in C++ but has bindings for Python, Java, Go, and Node.js.
libtorrent is released uner the BSD license and all credit is given to Arvid Norberg and the libtorrent contributors.
Image contents
These images contain 4 main things:
/usr/lib/libtorrent-rasterbar.a*: shared library/usr/lib/libtorrent-rasterbar.so*: static library/usr/lib/python*/site-packages/libtorrent*.so: C extension for Python/usr/lib/python*/site-packages/python_libtorrent-*.egg-info: Python binding
Why full images?
As of writing the libtorrent/libtorrent-dev in the Alpine main repository is many years out of date. It can be time-consuming or difficult to compile libtorrent so this saves the end user time and headache.
How to use these images
These images do not alter their base image's ENTRYPOINT or CMD and therefore do nothing special. There is minimal value runing these images on their own.
The purpose of these images is to provide a compiled version of libtorrent to serve as a basis for other images:
FROM emmercm/libtorrent:1.2
# compile torrent client
# set ENTRYPOINT / CMD
See emmercm/qbittorrent for an example project that uses these images.
Image variants
emmercm/libtorrent:<version>-alpine
The default image variant, these images are based on the alpine official image which is designed to be "small, simple, and secure." This variant is recommended for when final image size is a concern.
Some of these builds use an outdated version of Alpine on purpose:
- v0.16 and v1.0 are locked to Alpine v3.7 (2017) because support for
boost-devv1.66+ wasn't added untillibtorrentv1.1.6. - v1.1 and v1.2.11 are locked to Alpine v3.11 (2020) because support for
boost-python2was removed in Alpine v3.12.
License
This project is under the GNU Generic Public License v3 to allow free use while ensuring it stays open.