You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
__Torrust Tracker__, is a [BitTorrent][bittorrent] Tracker that matchmakes peers and collects statistics. Written in [Rust Language][rust] with the [axum] web framework. ___This tracker aims to be respectful to established standards, (both [formal][BEP 00] and [otherwise][torrent_source_felid]).___
3
+
[![container_wf_b]][container_wf][![coverage_wf_b]][coverage_wf][![deployment_wf_b]][deployment_wf][![testing_wf_b]][testing_wf]**Torrust Tracker** is a [BitTorrent][bittorrent] Tracker that matchmakes peers and collects statistics. Written in [Rust Language][rust] with the [Axum] web framework. _**This tracker aims to be respectful to established standards, (both [formal][BEP 00] and [otherwise][torrent_source_felid]).___
6
4
7
5
> This is a [Torrust][torrust] project and is in active development. It is community supported as well as sponsored by [Nautilus Cyberneering][nautilus].
8
6
@@ -20,41 +18,44 @@ __Torrust Tracker__, is a [BitTorrent][bittorrent] Tracker that matchmakes peers
> Please view our [crate documentation][documentation] for more detailed instructions.
110
+
> Please view our [crate documentation][docs] for more detailed instructions.
109
111
110
112
### Services
113
+
111
114
The following services are provided by the default configuration:
112
115
113
116
- UDP _(tracker)_
@@ -119,19 +122,20 @@ The following services are provided by the default configuration:
119
122
120
123
## Documentation
121
124
122
-
-[Management API (Version 1)][api]
123
-
-[Tracker (HTTP/TLS)][http]
124
-
-[Tracker (UDP)][udp]
125
+
-[Management API (Version 1)][API]
126
+
-[Tracker (HTTP/TLS)][HTTP]
127
+
-[Tracker (UDP)][UDP]
125
128
126
129
## Contributing
130
+
127
131
We are happy to support and welcome new people to our project. Please consider our [contributor guide][guide.md].</br>
128
-
This is an open-source communitysupported project. We welcome contributions from the community!
132
+
This is an open-source community-supported project. We welcome contributions from the community!
129
133
130
-
__How can you contribute?__
134
+
**How can you contribute?**
131
135
132
136
- Bug reports and feature requests.
133
137
- Code contributions. You can start by looking at the issues labeled "[good first issues]".
134
-
- Documentation improvements. Check the [documentation][docs] and [API documentation][api] for typos, errors, or missing information.
138
+
- Documentation improvements. Check the [documentation][docs] and [API documentation][API] for typos, errors, or missing information.
135
139
- Participation in the community. You can help by answering questions in the [discussions].
136
140
137
141
## License
@@ -151,11 +155,13 @@ Some files include explicit copyright notices and/or license notices.
151
155
For prosperity, versions of Torrust Tracker that are older than five years are automatically granted the [MIT-0][MIT_0] license in addition to the existing [AGPL-3.0-only][AGPL_3_0] license.
152
156
153
157
## Contributor Agreement
158
+
154
159
The copyright of the Torrust Tracker is retained by the respective authors.
155
160
156
161
**Contributors agree:**
157
-
- That all their contributions be granted a license(s) **compatible** with the [Torrust Trackers License](#License).
158
-
- That all contributors signal **clearly** and **explicitly** any other compilable licenses if they are not: *[AGPL-3.0-only with the legacy MIT-0 exception](#License)*.
162
+
163
+
- That all their contributions be granted a license(s) **compatible** with the [Torrust Trackers License](#license).
164
+
- That all contributors signal **clearly** and **explicitly** any other compilable licenses if they are not: _[AGPL-3.0-only with the legacy MIT-0 exception](#license)_.
159
165
160
166
**The Torrust-Tracker project has no copyright assignment agreement.**
161
167
@@ -165,8 +171,6 @@ _We kindly ask you to take time and consider The Torrust Project [Contributor Ag
165
171
166
172
This project was a joint effort by [Nautilus Cyberneering GmbH][nautilus] and [Dutch Bits]. Also thanks to [Naim A.] and [greatest-ape] for some parts of the code. Further added features and functions thanks to [Power2All].
### Matching Ownership ID's of Host Storage and Container Volumes
51
+
49
52
It is important that the `torrust` user has the same uid `$(id -u)` as the host mapped folders. In our [entry script](../share/container/entry_script_sh), installed to `/usr/local/bin/entry.sh` inside the container, switches to the `torrust` user created based upon the `USER_UID` environmental variable.
50
53
51
54
When running the container, you may use the `--env USER_ID="$(id -u)"` argument that gets the current user-id and passes to the container.
52
55
53
56
### Mapped Tree Structure
57
+
54
58
Using the standard mapping defined above produces this following mapped tree:
55
59
56
60
```s
@@ -78,6 +82,7 @@ git clone https://github.com/torrust/torrust-tracker.git; cd torrust-tracker
78
82
```
79
83
80
84
### (Docker) Setup Context
85
+
81
86
Before starting, if you are using docker, it is helpful to reset the context to the default:
No arguments are needed for simply checking the container image works:
111
117
112
118
#### (Docker) Run Basic
@@ -118,6 +124,7 @@ docker run -it torrust-tracker:release
118
124
# Debug Mode
119
125
docker run -it torrust-tracker:debug
120
126
```
127
+
121
128
#### (Podman) Run Basic
122
129
123
130
```sh
@@ -129,11 +136,13 @@ podman run -it docker.io/torrust-tracker:debug
129
136
```
130
137
131
138
### Arguments
139
+
132
140
The arguments need to be placed before the image tag. i.e.
133
141
134
142
`run [arguments] torrust-tracker:release`
135
143
136
-
#### Environmental Variables:
144
+
#### Environmental Variables
145
+
137
146
Environmental variables are loaded through the `--env`, in the format `--env VAR="value"`.
138
147
139
148
The following environmental variables can be set:
@@ -148,8 +157,8 @@ The following environmental variables can be set:
148
157
-`API_PORT` - The port for the tracker API. This should match the port used in the configuration, (default `1212`).
149
158
-`HEALTH_CHECK_API_PORT` - The port for the Health Check API. This should match the port used in the configuration, (default `1313`).
150
159
151
-
152
160
### Sockets
161
+
153
162
Socket ports used internally within the container can be mapped to with the `--publish` argument.
154
163
155
164
The format is: `--publish [optional_host_ip]:[host_port]:[container_port]/[optional_protocol]`, for example: `--publish 127.0.0.1:8080:80/tcp`.
@@ -164,7 +173,8 @@ The default ports can be mapped with the following:
164
173
165
174
> NOTE: Inside the container it is necessary to expose a socket with the wildcard address `0.0.0.0` so that it may be accessible from the host. Verify that the configuration that the sockets are wildcard.
166
175
167
-
### Volumes
176
+
### Host-mapped Volumes
177
+
168
178
By default the container will use install volumes for `/var/lib/torrust/tracker`, `/var/log/torrust/tracker`, and `/etc/torrust/tracker`, however for better administration it good to make these volumes host-mapped.
169
179
170
180
The argument to host-map volumes is `--volume`, with the format: `--volume=[host-src:]container-dest[:<options>]`.
@@ -177,10 +187,9 @@ The default mapping can be supplied with the following arguments:
Please not the `:Z` at the end of the podman `--volume` mapping arguments, this is to give read-write permission on SELinux enabled systemd, if this doesn't work on your system, you can use `:rw` instead.
182
191
183
-
## Complete Example:
192
+
## Complete Example
184
193
185
194
### With Docker
186
195
@@ -257,7 +266,7 @@ $ docker ps
257
266
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
258
267
06feacb91a9e torrust-tracker "cargo run" 18 minutes ago Up 4 seconds 0.0.0.0:1212->1212/tcp, :::1212->1212/tcp, 0.0.0.0:7070->7070/tcp, :::7070->7070/tcp, 0.0.0.0:6969->6969/udp, :::6969->6969/udp torrust-tracker-1
259
268
34d29e792ee2 mysql:8.0 "docker-entrypoint.s…" 18 minutes ago Up 5 seconds (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp torrust-mysql-1
260
-
```
269
+
```
261
270
262
271
And you should be able to use the application, for example making a request to the API:
0 commit comments