@@ -13,10 +13,11 @@ platform it is tested on; CI also builds it on Ubuntu, Fedora and Rocky
1313Linux. Getting here took a modernization of the build system and every
1414major dependency, not just a recompile. ` main ` is the 9.0 development
1515line (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**
3334and results. That is the default: both packages on one computer, started
3435for you. For a lab or class, one central server serves many clients. The
3536client 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
3739starts a private broker, which needs the ` mosquitto ` package, but no ECCE
3840server. 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```
155164ecce-dataserver-start
156165ecce-dataserver-adduser # prompts for name, username and password
157166```
158167
159168Use 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```
168176ecce
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
172181selected 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
2312401 . ** 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.
2352452 . ** 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
253263takes the data server login as its account and lets a user touch only
254264that 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
440457git clone https://github.com/FriendsofECCE/ECCE.git
441458cd 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
450467standalone 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
454471separate build directory). For RPMs, install ` rpm `
455472and re-run ` cmake . ` ; ` cpack -G RPM ` then builds them. Installing
0 commit comments