Lens

Lens is a collaborative CAD platform for uploading, viewing, and sharing 3D models with version control, export capabilities, and real-time collaboration tools.

Not yet tested productivity Based on TrueNAS app v1.2.19 (Lens backend-1.1.0)
  1. 1
    Copy the script below
  2. 2
    In HexOS, open Apps, find Lens and choose Custom Install
  3. 3
    Paste, then press Install — full guide with screenshots
lens.json
Download
1{
12  "version": 5,
23  "script": {
4    "version": "0.1.0",
5    "changeLog": "Auto-generated draft from TrueNAS lens 1.2.19"
6  },
37  "installation_questions": [
8    {
9      "question": "Api url",
10      "type": "text",
11      "key": "api_url",
12      "required": true
13    },
14    {
15      "question": "Default admin email",
16      "type": "text",
17      "key": "default_admin_email",
18      "required": true
19    },
20    {
21      "question": "Default admin username",
22      "type": "text",
23      "key": "default_admin_username",
24      "required": true
25    },
26    {
27      "question": "Default admin password",
28      "type": "password",
29      "key": "default_admin_password",
30      "required": true
31    },
32    {
33      "question": "Default admin name",
34      "type": "text",
35      "key": "default_admin_name",
36      "required": true
37    }
38  ],
39  "requirements": {
440    "locations": ["ApplicationsPerformance"],
541    "specifications": ["2CORE"],
642    "permissions": ["READ_WRITE_LOCATIONS"],
743    "ports": [30306, 30305]
44  },
845  "ensure_directories_exists": [
46    {"path": "$LOCATION(ApplicationsPerformance)"},
47    {"path": "$LOCATION(ApplicationsPerformance)/lens"},
48    {
49      "path": "$LOCATION(ApplicationsPerformance)/lens/mongodb_data",
50      "owner": {"user": "netdata", "group": "docker"},
51      "snapshot": {"id": "mongodb_data"}
52    },
53    {
54      "path": "$LOCATION(ApplicationsPerformance)/lens/uploads",
55      "snapshot": {"id": "uploads"}
56    }
57  ],
58  "app_values": {
59    "lens": {
960      "db_password": "$RANDOM_STRING(16)",
1061      "redis_password": "$RANDOM_STRING(16)",
1162      "hostname": "$SERVER_LAN_IP",
1263      "frontend_url": "http://$SERVER_LAN_IP:30306",
1364      "api_url": "$QUESTION(api_url)",
1465      "default_admin_email": "$QUESTION(default_admin_email)",
1566      "default_admin_username": "$QUESTION(default_admin_username)",
1667      "default_admin_password": "$QUESTION(default_admin_password)",
1768      "default_admin_name": "$QUESTION(default_admin_name)"
69    },
70    "storage": {
1871      "mongodb_data": "$HOST_PATH($LOCATION(ApplicationsPerformance)/lens/mongodb_data)",
1972      "uploads": "$HOST_PATH($LOCATION(ApplicationsPerformance)/lens/uploads)"
73    },
74    "network": {
2075      "frontend_port": {"bind_mode": "published", "port_number": 30306},
2176      "backend_port": {"bind_mode": "published", "port_number": 30305}
77    },
2278    "resources": {"limits": {"cpus": 2, "memory": "$MEMORY(10%, 4096)"}}
79  }
80}

What this script does

Hover or tap a box to see the lines it explains.

  1. Script format

    Tells HexOS this is a version 5 install script, so it knows how to read the rest.

    Line 2

  2. Script revision

    This copy of the script is revision 0.1.0. Latest change: “Auto-generated draft from TrueNAS lens 1.2.19”.

    Lines 3–6

  3. Questions you'll be asked

    Before installing, HexOS will ask you for: Api url, Default admin email, Default admin username, Default admin password and Default admin name. Your answers are slotted into the settings further down wherever you see $QUESTION(...).

    Lines 7–38

  4. Storage locations it needs

    The app uses these HexOS storage locations: App storage (fast). If one isn't set up yet, HexOS will ask you to pick a place for it.

    Line 40

  5. Minimum hardware

    Recommended minimum: 2 CPU cores.

    Line 41

  6. Permission to use your folders

    Allows the app to read and write files inside the storage locations listed above — and nowhere else.

    Line 42

  7. Network ports

    The app needs ports 30306 and 30305 to be free on your server. A port is like an apartment number for your server's address.

    Line 43

  8. Folders created on install

    Creates the folders the app needs before it starts: App storage (fast) › lens, App storage (fast) › lens › mongodb_data and App storage (fast) › lens › uploads. Some folders are handed to a specific system user so the app is allowed to write to them. Folders marked “snapshot” are included in HexOS snapshots, so you can roll them back.

    Lines 45–57

  9. Auto-generated db password

    HexOS makes up a long random db password during install. It's only used inside Lens, so you never need to know it.

    Line 60

  10. Auto-generated redis password

    HexOS makes up a long random redis password during install. It's only used inside Lens, so you never need to know it.

    Line 61

  11. Your server's address (hostname)

    Automatically set to your server's address on your home network (your-server-ip).

    Line 62

  12. Your server's address (frontend url)

    Automatically set to your server's address on your home network (http://your-server-ip:30306).

    Line 63

  13. Your answer: api url

    Filled in with what you typed for “api url” when you installed.

    Line 64

  14. Your answer: default admin email

    Filled in with what you typed for “default admin email” when you installed.

    Line 65

  15. Your answer: default admin username

    Filled in with what you typed for “default admin username” when you installed.

    Line 66

  16. Your answer: default admin password

    Filled in with what you typed for “default admin password” when you installed.

    Line 67

  17. Your answer: default admin name

    Filled in with what you typed for “default admin name” when you installed.

    Line 68

  18. Where the app's “mongodb data” files is saved

    Where the app's “mongodb data” files is saved on your server: App storage (fast) › lens › mongodb_data.

    Line 71

  19. Where files you upload is saved

    Where files you upload is saved on your server: App storage (fast) › lens › uploads.

    Line 72

  20. Frontend port: 30306

    Publishes the app's frontend port as 30306.

    Line 75

  21. Backend port: 30305

    Publishes the app's backend port as 30305.

    Line 76

  22. Resource limits

    Caps how much of your server the app can use: 2 CPU cores and 10% of your server's memory, but never more than 4 GB. This keeps one busy app from slowing everything else down.

    Line 78