Skip to content

Commit 939ebea

Browse files
andyclaude
andcommitted
README: proof-read for 9.0 as it is now
Data stored in a folder or a data server (section 2 covered only the server); folder is the default on macOS and Windows; TLS for a central server (#236) in the security note and What's new; native clients in What's new; latest 8.x is 8.18.8; libssl-dev in the build packages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PFPK14wBcLD1s4dYUowpP4
1 parent 1a044f5 commit 939ebea

1 file changed

Lines changed: 39 additions & 22 deletions

File tree

‎README.md‎

Lines changed: 39 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ platform it is tested on; CI also builds it on Ubuntu, Fedora and Rocky
1313
Linux. Getting here took a modernization of the build system and every
1414
major dependency, not just a recompile. `main` is the 9.0 development
1515
line (9.0.0-alpha previews); the installation and first steps below
16-
describe 9.0.
16+
describe 9.0. Native macOS and Windows clients are in preview (see
17+
[Installation](#installation)).
1718

1819
> **For production use: 8.18.x** (branch `stable-8`, latest
19-
> [v8.18.6](https://github.com/FriendsofECCE/ECCE/releases/tag/v8.18.6)).
20+
> [v8.18.8](https://github.com/FriendsofECCE/ECCE/releases/tag/v8.18.8)).
2021
> Installation differs in one respect: 8.x is a single `ecce` package
2122
> (`sudo apt install ./ecce_<version>_amd64.deb`) instead of `ecce-client`
2223
> plus `ecce-server`. 8.x and 9.x clients and servers do not interoperate.
@@ -33,7 +34,8 @@ that submits and follows jobs. Normally it works with an **ECCE server**
3334
and results. That is the default: both packages on one computer, started
3435
for you. For a lab or class, one central server serves many clients. The
3536
client can instead run **on its own**, keeping its data in a folder on
36-
your disk (Edit → Preferences → Data folder, off by default); it still
37+
your disk (Edit → Preferences → Data folder; off by default on Linux,
38+
the default on macOS and Windows); it still
3739
starts a private broker, which needs the `mosquitto` package, but no ECCE
3840
server. Neither server nor client runs calculations: they run on a
3941
**compute machine**, a workstation or an HPC cluster, where the client
@@ -146,32 +148,39 @@ your `PATH`.
146148
planned. Windows shows a SmartScreen warning at first, because the
147149
client is not signed: choose More info > Run anyway.
148150

149-
### 2. Create your account
151+
### 2. Choose where your data lives
150152

151-
ECCE keeps calculations in a data server, which runs as your own user
152-
on a workstation. Create a login on it once:
153+
**In a folder on your computer** — the default on macOS and Windows,
154+
optional on Linux. There is nothing to set up: no account and no login.
155+
On Linux, choose Edit → Preferences → Data folder (default
156+
`~/.ECCE-local`; it takes effect at the next start), or start ECCE with
157+
`ECCE_LOCAL_DATA=<folder>` set. See
158+
[Deployment modes](GETTING_STARTED.md#deployment-modes).
159+
160+
**In a data server on this computer** — the default on Linux. The data
161+
server runs as your own user. Create a login on it once:
153162

154163
```
155164
ecce-dataserver-start
156165
ecce-dataserver-adduser # prompts for name, username and password
157166
```
158167

159168
Use your Linux username — that's what the login dialog defaults to.
160-
(Instead of a data server, a single-user install can keep its projects in
161-
a folder: Edit → Preferences → Data folder, see
162-
[Deployment modes](GETTING_STARTED.md#deployment-modes). Server mode is
163-
the default.)
169+
170+
**On a central server** for a group or a class: the server's
171+
administrator creates your account; see [Deployment modes](#deployment-modes).
164172

165173
### 3. Start ECCE
166174

167175
```
168176
ecce
169177
```
170178

171-
Log in, and the **Organizer** opens: your calculations on the left, the
179+
On macOS open ECCE from Applications; on Windows run `ecce.cmd`.
180+
With a data server, log in; the **Organizer** then opens: your calculations on the left, the
172181
selected one in the middle, and the Builder, editors, Launcher and
173-
viewer opened from it. The data server and message broker start by
174-
themselves. Closing the Organizer ends the session.
182+
viewer opened from it. The data server (if used) and the message broker
183+
start by themselves. Closing the Organizer ends the session.
175184

176185
`ecce --help` lists the options; they are described in
177186
[GETTING_STARTED.md](GETTING_STARTED.md#ecce-command-line-options).
@@ -230,8 +239,9 @@ shared is up to the site; the three modes are set up step by step in
230239

231240
1. **Everything local** (the default). Each user's session starts their
232241
own data server and broker; the broker listens on a Unix socket, not
233-
on a network port. Nothing to configure. Optionally the data server is
234-
replaced by a folder (Edit → Preferences → Data folder).
242+
on a network port. Nothing to configure. The data server can be
243+
replaced by a folder (Edit → Preferences → Data folder), which is the
244+
default on macOS and Windows.
235245
2. **A central server** for a group or a class. One account on the
236246
server holds everyone's calculations and the shared libraries; users
237247
elsewhere connect to it. On the server, as that account:
@@ -252,10 +262,12 @@ shared is up to the site; the three modes are set up step by step in
252262
**Before putting a server on a network**: a central or shared broker
253263
takes the data server login as its account and lets a user touch only
254264
that user's own topics, but the broker's and the data server's passwords
255-
(HTTP Basic over plain HTTP) cross the network unencrypted. That
256-
keeps users' data apart on a trusted network, and is not fine across an
257-
untrusted one — keep the ports on loopback and use ssh tunnels, or
258-
firewall them (#138).
265+
(HTTP Basic) cross the network unencrypted unless TLS is set up. Since
266+
9.0.0-alpha.7, `ecce-remote-setup --tls` on the server and the clients
267+
encrypts both: the data server on port 8443 (HTTPS) and the broker on
268+
port 8883 (MQTT over TLS), with the plain ports on loopback only
269+
([#236](https://github.com/FriendsofECCE/ECCE/issues/236)). Without TLS,
270+
keep the ports on loopback and use ssh tunnels, or firewall them (#138).
259271

260272
## Reporting a problem
261273

@@ -287,7 +299,12 @@ see [Upgrading from 8.x](GETTING_STARTED.md#upgrading-from-8x).
287299
`~/.ECCE`. A central server's broker listens on TCP port 8088, accepts
288300
only the data server's accounts, and lets each user read and send only
289301
their own messages ([#194](https://github.com/FriendsofECCE/ECCE/issues/194)).
290-
The connection is not encrypted.
302+
* **TLS for a central server**: HTTPS for the data server and MQTT over
303+
TLS for the broker, set up with `ecce-remote-setup --tls`
304+
([#236](https://github.com/FriendsofECCE/ECCE/issues/236)).
305+
* **Native macOS and Windows clients**, as previews: a `.dmg` for Apple
306+
silicon and Intel Macs, and a Windows build from CI
307+
([#133](https://github.com/FriendsofECCE/ECCE/issues/133)).
291308
* **The 3D viewer is built on Coin3D** from the distribution by default
292309
([#166](https://github.com/FriendsofECCE/ECCE/issues/166)): orbital
293310
surfaces are drawn with accurate transparency (a quick mode is in
@@ -435,7 +452,7 @@ sudo apt-get install -y \
435452
libwxgtk3.2-dev libxerces-c-dev libgl-dev libglu1-mesa-dev \
436453
libgtk-3-dev libx11-dev libice-dev libxt-dev libjpeg-dev \
437454
libmosquitto-dev mosquitto-dev libaprutil1-dev mosquitto git dpkg-dev file libssh-dev \
438-
python3 libcoin-dev libegl-dev
455+
libssl-dev python3 libcoin-dev libegl-dev
439456
440457
git clone https://github.com/FriendsofECCE/ECCE.git
441458
cd ECCE # main is 9.0 development; for 8.x: git checkout stable-8
@@ -449,7 +466,7 @@ That leaves `ecce-client_<version>_amd64.deb` and
449466
`ecce-server_<version>_amd64.deb` in `build-cmake/`; install both for a
450467
standalone machine (`-DECCE_SPLIT_PACKAGES=OFF` builds the single
451468
`ecce` package instead). The build needs CMake 3.16, wxWidgets 3.2,
452-
libssh and Coin3D at least (this is a wx3.2-only port;
469+
libssh, OpenSSL and Coin3D at least (this is a wx3.2-only port;
453470
`-DECCE_USE_COIN=OFF` builds the vendored Inventor core instead, in a
454471
separate build directory). For RPMs, install `rpm`
455472
and re-run `cmake .`; `cpack -G RPM` then builds them. Installing

0 commit comments

Comments
 (0)