Skip to content

Commit 8395a0c

Browse files
authored
added section which explains docker tag values and gives a recommendation (#4)
1 parent 747609a commit 8395a0c

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

docs/installation.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,48 @@ docker-compose up -d
1414

1515
This will start all services and make Reitti available at http://localhost:8080. When you first open Reitti, it will prompt you to set the admin password.
1616

17+
### Docker Tag Strategy and Best Practices
18+
19+
Reitti is published to Docker Hub with multiple tags for each release:
20+
21+
- **`latest`**: Always points to the most recent release
22+
- **`4`**: Points to the latest v4.x.x release (e.g., 4.1.2)
23+
- **`4.1`**: Points to the latest v4.1.x release (e.g., 4.1.2)
24+
- **`4.1.0`**: Specific patch version (immutable)
25+
26+
**Why use major version tags instead of `latest`?**
27+
28+
1. **Controlled Updates**: Using `reitti:4` ensures you only receive updates within the v4.x series, preventing unexpected major version upgrades that could break your setup.
29+
2. **Stability**: Major version tags give you time to review release notes and prepare for upgrades, while still receiving important bug fixes and security patches.
30+
3. **Reproducibility**: If you need to roll back, you can easily revert to a known working version within the same major version.
31+
4. **Scheduled Maintenance**: You can plan upgrades on your own schedule rather than being forced to upgrade immediately when a new major version is released.
32+
33+
**Recommended approach:**
34+
```yaml
35+
services:
36+
reitti:
37+
# Good: Updates within v4.x series only
38+
image: dedicatedcode/reitti:4
39+
40+
# Better for production: Specific minor version
41+
# image: dedicatedcode/reitti:4.1
42+
43+
# Best for critical stability: Exact patch version
44+
# image: dedicatedcode/reitti:4.1.0
45+
```
46+
47+
**When to use `latest`:**
48+
- Development environments where you want to test the newest features
49+
- When you actively monitor the project and can handle breaking changes
50+
- In automated testing pipelines
51+
52+
**When to avoid `latest`:**
53+
- Production deployments
54+
- When you value stability over new features
55+
- When you have limited time for maintenance and troubleshooting
56+
57+
By using major version tags, you maintain control over your upgrade schedule while still benefiting from security patches and bug fixes within your chosen version series.
58+
1759
### Using Pre-built JAR
1860

1961
If you prefer to run Reitti without Docker but don't want to build from source, you can download the pre-built JAR file from the releases page.

0 commit comments

Comments
 (0)