Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion local-docker-testing/local-docker-compose-fips/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ Identical in every respect except:

- `image: local-monolith-fips` instead of `local-monolith`
- Compose project names are prefixed `local-monolith-fips-`, so a FIPS stack and a
normal stack can run side by side without sharing containers, volumes or networks
normal stack keep separate volumes. Both join the shared `semoss-net` network
(see [Shared network](../local-docker-compose/README.md#shared-network))
- `init.sql` and `init-bucket.sh` are referenced from `../local-docker-compose/`
rather than duplicated

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,15 @@ x-semoss-env: &semoss-env
CHROOT_SYMLINK_PATHS: /usr/lib/python
FAKECHROOT_EXCLUDE_PATH: /dev

# node agent execution environment (ExecuteNodeCode agent tool)
NODE_HOME: /opt/node
AGENT_DEFAULT_TOOLS_ENABLE_NODE: 'true'

# semoss-maintained services, run from
# Semoss/docker-compose-examples/engines/semoss-maintained/
UNOSERVER: 'http://semoss-unoserver:8080'
NODE_SERVER_ENDPOINT: 'http://semoss-node-builder:3000'

# local master
CUSTOM_LM_RDBMS_TYPE: "postgres"
CUSTOM_LM_DRIVER: "org.postgresql.Driver"
Expand Down Expand Up @@ -237,4 +246,8 @@ volumes:
redis_data:

networks:
# the same network as Semoss/docker-compose-examples, so this stack reaches the
# engines/ and engines/semoss-maintained/ services there by container name
mynetwork:
external: true
name: semoss-net
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,15 @@ x-semoss-env: &semoss-env
CHROOT_SYMLINK_PATHS: /usr/lib/python
FAKECHROOT_EXCLUDE_PATH: /dev

# node agent execution environment (ExecuteNodeCode agent tool)
NODE_HOME: /opt/node
AGENT_DEFAULT_TOOLS_ENABLE_NODE: 'true'

# semoss-maintained services, run from
# Semoss/docker-compose-examples/engines/semoss-maintained/
UNOSERVER: 'http://semoss-unoserver:8080'
NODE_SERVER_ENDPOINT: 'http://semoss-node-builder:3000'

# local master
CUSTOM_LM_RDBMS_TYPE: "postgres"
CUSTOM_LM_DRIVER: "org.postgresql.Driver"
Expand Down Expand Up @@ -226,4 +235,8 @@ volumes:
zk_datalog:

networks:
# the same network as Semoss/docker-compose-examples, so this stack reaches the
# engines/ and engines/semoss-maintained/ services there by container name
mynetwork:
external: true
name: semoss-net
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,15 @@ services:
CHROOT_SYMLINK_PATHS: /usr/lib/python
FAKECHROOT_EXCLUDE_PATH: /dev

# node agent execution environment (ExecuteNodeCode agent tool)
NODE_HOME: /opt/node
AGENT_DEFAULT_TOOLS_ENABLE_NODE: 'true'

# semoss-maintained services, run from
# Semoss/docker-compose-examples/engines/semoss-maintained/
UNOSERVER: 'http://semoss-unoserver:8080'
NODE_SERVER_ENDPOINT: 'http://semoss-node-builder:3000'

# local master
CUSTOM_LM_RDBMS_TYPE : "postgres"
CUSTOM_LM_DRIVER: "org.postgresql.Driver"
Expand Down Expand Up @@ -170,4 +179,8 @@ volumes:
minio_data:

networks:
# the same network as Semoss/docker-compose-examples, so this stack reaches the
# engines/ and engines/semoss-maintained/ services there by container name
mynetwork:
external: true
name: semoss-net
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,15 @@ services:
CHROOT_SYMLINK_PATHS: /usr/lib/python
FAKECHROOT_EXCLUDE_PATH: /dev

# node agent execution environment (ExecuteNodeCode agent tool)
NODE_HOME: /opt/node
AGENT_DEFAULT_TOOLS_ENABLE_NODE: 'true'

# semoss-maintained services, run from
# Semoss/docker-compose-examples/engines/semoss-maintained/
UNOSERVER: 'http://semoss-unoserver:8080'
NODE_SERVER_ENDPOINT: 'http://semoss-node-builder:3000'

# local master
CUSTOM_LM_RDBMS_TYPE : "postgres"
CUSTOM_LM_DRIVER: "org.postgresql.Driver"
Expand Down Expand Up @@ -147,4 +156,8 @@ volumes:
pgdata:

networks:
# the same network as Semoss/docker-compose-examples, so this stack reaches the
# engines/ and engines/semoss-maintained/ services there by container name
mynetwork:
external: true
name: semoss-net
27 changes: 27 additions & 0 deletions local-docker-testing/local-docker-compose/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,30 @@ All four use `image: local-monolith` and the Postgres credentials
client (`mc`) to create the `semoss` bucket. Used by every variant except the
basic one.

## Shared network

Every variant joins the external Docker network `semoss-net`, the same one the
[SEMOSS compose examples](../../../Semoss/docker-compose-examples/) use. A
`local-monolith` stack and a stack on the published image therefore reach the
same supporting containers by name:

- the engines in `Semoss/docker-compose-examples/engines/` (Weaviate, Chroma,
pgvector, ClickHouse, MinIO, SFTP, mail, ...)
- the services in `Semoss/docker-compose-examples/engines/semoss-maintained/`.
Every variant sets `UNOSERVER: 'http://semoss-unoserver:8080'` and
`NODE_SERVER_ENDPOINT: 'http://semoss-node-builder:3000'`, so bringing those
up turns on document conversion and app builds.

Create the network once (it persists until you delete it):

```bash
docker network create semoss-net
```

Both sets of stacks use the same container names (`semoss`, `postgres`,
`minio`, ...), so run one SEMOSS stack at a time, local or published. The
supporting containers can stay up across the switch.

## Usage

After building `local-monolith`, from this directory choose one variant with `-f`:
Expand Down Expand Up @@ -101,3 +125,6 @@ ZooKeeper, `echo ruok | nc localhost 2181` should return `imok`.
only - change the credentials and integrate an external SSO before exposing any
of this.
- Python is enabled (`NETTY_PYTHON` / `NATIVE_PY_SERVER`); R is off (`R_ON: 'false'`).
- The node agent execution environment is on (`AGENT_DEFAULT_TOOLS_ENABLE_NODE: 'true'`),
which registers the `ExecuteNodeCode` agent tool. The image already sets
`NODE_HOME=/opt/node`; the compose files set it as well so the path is visible.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,15 @@ x-semoss-env: &semoss-env
CHROOT_SYMLINK_PATHS: /usr/lib/python
FAKECHROOT_EXCLUDE_PATH: /dev

# node agent execution environment (ExecuteNodeCode agent tool)
NODE_HOME: /opt/node
AGENT_DEFAULT_TOOLS_ENABLE_NODE: 'true'

# semoss-maintained services, run from
# Semoss/docker-compose-examples/engines/semoss-maintained/
UNOSERVER: 'http://semoss-unoserver:8080'
NODE_SERVER_ENDPOINT: 'http://semoss-node-builder:3000'

# local master
CUSTOM_LM_RDBMS_TYPE: "postgres"
CUSTOM_LM_DRIVER: "org.postgresql.Driver"
Expand Down Expand Up @@ -233,4 +242,8 @@ volumes:
redis_data:

networks:
# the same network as Semoss/docker-compose-examples, so this stack reaches the
# engines/ and engines/semoss-maintained/ services there by container name
mynetwork:
external: true
name: semoss-net
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,15 @@ x-semoss-env: &semoss-env
CHROOT_SYMLINK_PATHS: /usr/lib/python
FAKECHROOT_EXCLUDE_PATH: /dev

# node agent execution environment (ExecuteNodeCode agent tool)
NODE_HOME: /opt/node
AGENT_DEFAULT_TOOLS_ENABLE_NODE: 'true'

# semoss-maintained services, run from
# Semoss/docker-compose-examples/engines/semoss-maintained/
UNOSERVER: 'http://semoss-unoserver:8080'
NODE_SERVER_ENDPOINT: 'http://semoss-node-builder:3000'

# local master
CUSTOM_LM_RDBMS_TYPE: "postgres"
CUSTOM_LM_DRIVER: "org.postgresql.Driver"
Expand Down Expand Up @@ -222,4 +231,8 @@ volumes:
zk_datalog:

networks:
# the same network as Semoss/docker-compose-examples, so this stack reaches the
# engines/ and engines/semoss-maintained/ services there by container name
mynetwork:
external: true
name: semoss-net
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ services:
CHROOT_SYMLINK_PATHS: /usr/lib/python
FAKECHROOT_EXCLUDE_PATH: /dev

# node agent execution environment (ExecuteNodeCode agent tool)
NODE_HOME: /opt/node
AGENT_DEFAULT_TOOLS_ENABLE_NODE: 'true'

# semoss-maintained services, run from
# Semoss/docker-compose-examples/engines/semoss-maintained/
UNOSERVER: 'http://semoss-unoserver:8080'
NODE_SERVER_ENDPOINT: 'http://semoss-node-builder:3000'

# local master
CUSTOM_LM_RDBMS_TYPE : "postgres"
CUSTOM_LM_DRIVER: "org.postgresql.Driver"
Expand Down Expand Up @@ -166,4 +175,8 @@ volumes:
minio_data:

networks:
# the same network as Semoss/docker-compose-examples, so this stack reaches the
# engines/ and engines/semoss-maintained/ services there by container name
mynetwork:
external: true
name: semoss-net
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ services:
NETTY_PYTHON: 'true'
NATIVE_PY_SERVER: 'true'
SMSS_PYTHONHOME: /usr/lib/python/semossvenv

NODE_HOME: /opt/node
AGENT_DEFAULT_TOOLS_ENABLE_NODE: 'true'
R_ON: 'false'
MODEL_INFERENCE_LOGS_ENABLED: 'true'
USER_TRACKING_ENABLED: 'true'
Expand All @@ -35,6 +32,15 @@ services:
CHROOT_SYMLINK_PATHS: /usr/lib/python
FAKECHROOT_EXCLUDE_PATH: /dev

# node agent execution environment (ExecuteNodeCode agent tool)
NODE_HOME: /opt/node
AGENT_DEFAULT_TOOLS_ENABLE_NODE: 'true'

# semoss-maintained services, run from
# Semoss/docker-compose-examples/engines/semoss-maintained/
UNOSERVER: 'http://semoss-unoserver:8080'
NODE_SERVER_ENDPOINT: 'http://semoss-node-builder:3000'

# local master
CUSTOM_LM_RDBMS_TYPE : "postgres"
CUSTOM_LM_DRIVER: "org.postgresql.Driver"
Expand Down Expand Up @@ -100,7 +106,7 @@ services:
CUSTOM_AUDITLOGS_PASSWORD: "mypassword"
CUSTOM_AUDITLOGS_CONNECTION_URL: "jdbc:postgresql://db:5432/semoss_audit?currentSchema=public"

command: /bin/bash -c "sed -i 's@^AGENT_DEFAULT_TOOLS_ENABLE_NODE.*@AGENT_DEFAULT_TOOLS_ENABLE_NODE\ttrue@' /opt/semosshome/RDF_Map.prop && runCS.sh"
command: /bin/bash -c "runCS.sh"
depends_on:
db:
condition: service_healthy
Expand Down Expand Up @@ -147,4 +153,8 @@ volumes:
pgdata:

networks:
# the same network as Semoss/docker-compose-examples, so this stack reaches the
# engines/ and engines/semoss-maintained/ services there by container name
mynetwork:
external: true
name: semoss-net
Loading