Skip to content

Commit 90d603b

Browse files
committed
Document standard Linux Windows macOS installation paths
1 parent 536fff5 commit 90d603b

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

docs/INSTALL-PATHS.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Standard Installation Paths
2+
3+
JWSTF should follow the host operating system's normal filesystem conventions rather than inventing a single path for every platform.
4+
5+
## Linux
6+
7+
For Debian/Ubuntu package-managed services:
8+
9+
- Apache: `/etc/apache2`, `/var/www/html`, `/var/log/apache2`
10+
- Tomcat package: `/etc/tomcat10`, `/var/lib/tomcat10`, with the distribution's systemd unit
11+
- JWSTF configuration: `/etc/jwstf`
12+
- JWSTF mutable state: `/var/lib/jwstf`
13+
- JWSTF logs: `/var/log/jwstf`
14+
- Application-managed/manual deployment: `/opt/jwstf`
15+
- Source used for installation/building: `/usr/local/src/jwstf`
16+
17+
The important correction is that **distribution-managed Tomcat and manually installed Tomcat must not be mixed**. The existing installer currently uses `/opt/tomcat`; that is acceptable for a deliberately self-managed Tomcat installation, but a Debian/Ubuntu package installation should retain its package-managed `/etc/tomcat10` and `/var/lib/tomcat10` layout instead. The existing installer also correctly uses `/etc/apache2`, `/var/www/html/nwe`, and `/var/log`-based Apache logs for Apache integration. fileciteturn105file0
18+
19+
## Windows
20+
21+
Use normal Windows application/data separation:
22+
23+
- Installed machine-wide binaries: `C:\Program Files\JWSTF`
24+
- Machine-wide mutable data/config/logs: `C:\ProgramData\JWSTF`
25+
- Per-user application data: `%LOCALAPPDATA%\JWSTF`
26+
- Per-user roaming data: `%APPDATA%\JWSTF`
27+
28+
Do not put mutable service state, databases, logs, or credentials inside `Program Files`.
29+
30+
## macOS
31+
32+
Use Apple filesystem conventions:
33+
34+
- Machine-wide GUI application: `/Applications/JWSTF.app`
35+
- Machine-wide support data: `/Library/Application Support/JWSTF`
36+
- Machine-wide logs: `/Library/Logs/JWSTF`
37+
- Per-user application: `~/Applications/JWSTF.app`
38+
- Per-user support data: `~/Library/Application Support/JWSTF`
39+
- Preferences: `~/Library/Preferences`
40+
41+
Do not assume that a macOS installation has a system Apache available for application deployment; use the selected package manager or managed application distribution and preserve its paths.
42+
43+
## Profiles
44+
45+
The standard JSON source of truth is [`config/preferred-install-paths.json`](../config/preferred-install-paths.json).
46+
47+
Two deployment profiles are explicitly supported:
48+
49+
- **`/user`** — professional/user-scoped installations using the user's normal application-data locations.
50+
- **`/deck`** — enterprise/centrally managed installations using machine-wide application locations.
51+
52+
These are **logical deployment profiles**, not literal filesystem directories that should replace operating-system conventions.

0 commit comments

Comments
 (0)