telekinesis-deployment 0.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- telekinesis_deployment-0.0.1/LICENSE.txt +6 -0
- telekinesis_deployment-0.0.1/PKG-INFO +127 -0
- telekinesis_deployment-0.0.1/README.md +115 -0
- telekinesis_deployment-0.0.1/pyproject.toml +31 -0
- telekinesis_deployment-0.0.1/setup.cfg +4 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/__init__.py +1 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/assets/__init__.py +1 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/assets/compose/.env.developer.example +55 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/assets/compose/.env.user.example +55 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/assets/compose/__init__.py +1 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/assets/compose/compose.yaml +221 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/cli.py +868 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/compose_manager.py +734 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/config.py +135 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/console.py +441 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/constants.py +139 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/docker_client.py +129 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/errors.py +39 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/health.py +403 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/image_loader.py +116 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/installer.py +168 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/licensing.py +36 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/preflight.py +293 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/process.py +192 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/provisioning.py +106 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment/registry.py +47 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment.egg-info/PKG-INFO +127 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment.egg-info/SOURCES.txt +30 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment.egg-info/dependency_links.txt +1 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment.egg-info/entry_points.txt +2 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment.egg-info/requires.txt +3 -0
- telekinesis_deployment-0.0.1/src/telekinesis_deployment.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: telekinesis-deployment
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: Installer and CLI for the Telekinesis deployment stack.
|
|
5
|
+
Requires-Python: <3.13,>=3.11
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
License-File: LICENSE.txt
|
|
8
|
+
Requires-Dist: docker==7.1.0
|
|
9
|
+
Requires-Dist: loguru==0.7.3
|
|
10
|
+
Requires-Dist: requests==2.33.1
|
|
11
|
+
Dynamic: license-file
|
|
12
|
+
|
|
13
|
+
<div align="center">
|
|
14
|
+
<p>
|
|
15
|
+
<a href="https://telekinesis.ai" target="_blank">
|
|
16
|
+
<img
|
|
17
|
+
width="100%"
|
|
18
|
+
src="https://assets.telekinesis.ai/logo/telekinesis-banner.png"
|
|
19
|
+
alt="Telekinesis"
|
|
20
|
+
>
|
|
21
|
+
</a>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<br>
|
|
25
|
+
|
|
26
|
+
[](https://www.python.org/)
|
|
27
|
+
[](LICENSE.txt)
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<p align="center">
|
|
31
|
+
<a href="https://github.com/telekinesis-ai">GitHub</a>
|
|
32
|
+
•
|
|
33
|
+
<a href="https://www.linkedin.com/company/telekinesis-ai/">LinkedIn</a>
|
|
34
|
+
•
|
|
35
|
+
<a href="https://x.com/telekinesis_ai">X</a>
|
|
36
|
+
•
|
|
37
|
+
<a href="https://discord.gg/7NnQ3bQHqm">Discord</a>
|
|
38
|
+
</p>
|
|
39
|
+
|
|
40
|
+
# Telekinesis Deployment
|
|
41
|
+
|
|
42
|
+
Telekinesis Deployment provides the installation tooling and backend delivery
|
|
43
|
+
workflows for the Telekinesis platform.
|
|
44
|
+
|
|
45
|
+
It includes:
|
|
46
|
+
|
|
47
|
+
- Cloud deployment to Amazon EKS using Helm
|
|
48
|
+
- Local, single-node, and evaluator deployment using Docker Compose
|
|
49
|
+
- A command-line interface for installing and managing Telekinesis services
|
|
50
|
+
- Shared configuration, health checks, licensing, and provisioning utilities
|
|
51
|
+
|
|
52
|
+
## Release Model
|
|
53
|
+
|
|
54
|
+
Telekinesis Deployment is currently in active development (pre-1.0). Features
|
|
55
|
+
and interfaces may evolve between minor releases. Use the version specified by
|
|
56
|
+
the Telekinesis development team for production deployments.
|
|
57
|
+
|
|
58
|
+
## Installation
|
|
59
|
+
|
|
60
|
+
1. Install [Miniconda](https://docs.conda.io/projects/miniconda/en/latest/) or
|
|
61
|
+
another Python environment manager.
|
|
62
|
+
|
|
63
|
+
2. Clone this repository:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
git clone -b develop https://gitlab.com/telekinesis/deployment.git
|
|
67
|
+
cd deployment
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
3. Create and activate a supported Python environment:
|
|
71
|
+
|
|
72
|
+
> Telekinesis Deployment supports Python 3.11 and 3.12.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
conda create -n telekinesis-deployment python=3.11
|
|
76
|
+
conda activate telekinesis-deployment
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
4. Install the CLI and its dependencies in editable mode:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
pip install -e .
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
5. Verify the installation:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
telekinesis server --help
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Example
|
|
92
|
+
|
|
93
|
+
Initialize a local deployment and start its services:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
telekinesis server init
|
|
97
|
+
telekinesis server install
|
|
98
|
+
telekinesis server status
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Use `telekinesis server init --profile developer` to initialize a developer
|
|
102
|
+
environment. Run `telekinesis server --help` to see all available commands.
|
|
103
|
+
|
|
104
|
+
## Deployment Modes
|
|
105
|
+
|
|
106
|
+
| Mode | When to use |
|
|
107
|
+
| --- | --- |
|
|
108
|
+
| [Cloud deployment](docs/helm/overview.md) | Deploy backend services to Amazon EKS with Helm |
|
|
109
|
+
| [Compose deployment](docs/compose/overview.md) | Run the backend locally, on a single server, or for evaluator installations |
|
|
110
|
+
|
|
111
|
+
## Resources
|
|
112
|
+
|
|
113
|
+
- [Development guide](DEVELOPMENT.md)
|
|
114
|
+
- [Installer documentation](docs/installer/overview.md)
|
|
115
|
+
- [Telekinesis documentation](https://docs.telekinesis.ai)
|
|
116
|
+
- [Release history](RELEASE.md)
|
|
117
|
+
|
|
118
|
+
## Support
|
|
119
|
+
|
|
120
|
+
For issues and questions, contact the Telekinesis development team at
|
|
121
|
+
[support@telekinesis.ai](mailto:support@telekinesis.ai) or join the
|
|
122
|
+
[Telekinesis Discord](https://discord.com/invite/7NnQ3bQHqm).
|
|
123
|
+
|
|
124
|
+
## License
|
|
125
|
+
|
|
126
|
+
This repository is proprietary and confidential. See [LICENSE.txt](LICENSE.txt)
|
|
127
|
+
for details.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<p>
|
|
3
|
+
<a href="https://telekinesis.ai" target="_blank">
|
|
4
|
+
<img
|
|
5
|
+
width="100%"
|
|
6
|
+
src="https://assets.telekinesis.ai/logo/telekinesis-banner.png"
|
|
7
|
+
alt="Telekinesis"
|
|
8
|
+
>
|
|
9
|
+
</a>
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<br>
|
|
13
|
+
|
|
14
|
+
[](https://www.python.org/)
|
|
15
|
+
[](LICENSE.txt)
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<p align="center">
|
|
19
|
+
<a href="https://github.com/telekinesis-ai">GitHub</a>
|
|
20
|
+
•
|
|
21
|
+
<a href="https://www.linkedin.com/company/telekinesis-ai/">LinkedIn</a>
|
|
22
|
+
•
|
|
23
|
+
<a href="https://x.com/telekinesis_ai">X</a>
|
|
24
|
+
•
|
|
25
|
+
<a href="https://discord.gg/7NnQ3bQHqm">Discord</a>
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
# Telekinesis Deployment
|
|
29
|
+
|
|
30
|
+
Telekinesis Deployment provides the installation tooling and backend delivery
|
|
31
|
+
workflows for the Telekinesis platform.
|
|
32
|
+
|
|
33
|
+
It includes:
|
|
34
|
+
|
|
35
|
+
- Cloud deployment to Amazon EKS using Helm
|
|
36
|
+
- Local, single-node, and evaluator deployment using Docker Compose
|
|
37
|
+
- A command-line interface for installing and managing Telekinesis services
|
|
38
|
+
- Shared configuration, health checks, licensing, and provisioning utilities
|
|
39
|
+
|
|
40
|
+
## Release Model
|
|
41
|
+
|
|
42
|
+
Telekinesis Deployment is currently in active development (pre-1.0). Features
|
|
43
|
+
and interfaces may evolve between minor releases. Use the version specified by
|
|
44
|
+
the Telekinesis development team for production deployments.
|
|
45
|
+
|
|
46
|
+
## Installation
|
|
47
|
+
|
|
48
|
+
1. Install [Miniconda](https://docs.conda.io/projects/miniconda/en/latest/) or
|
|
49
|
+
another Python environment manager.
|
|
50
|
+
|
|
51
|
+
2. Clone this repository:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
git clone -b develop https://gitlab.com/telekinesis/deployment.git
|
|
55
|
+
cd deployment
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
3. Create and activate a supported Python environment:
|
|
59
|
+
|
|
60
|
+
> Telekinesis Deployment supports Python 3.11 and 3.12.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
conda create -n telekinesis-deployment python=3.11
|
|
64
|
+
conda activate telekinesis-deployment
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
4. Install the CLI and its dependencies in editable mode:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
pip install -e .
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
5. Verify the installation:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
telekinesis server --help
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Example
|
|
80
|
+
|
|
81
|
+
Initialize a local deployment and start its services:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
telekinesis server init
|
|
85
|
+
telekinesis server install
|
|
86
|
+
telekinesis server status
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Use `telekinesis server init --profile developer` to initialize a developer
|
|
90
|
+
environment. Run `telekinesis server --help` to see all available commands.
|
|
91
|
+
|
|
92
|
+
## Deployment Modes
|
|
93
|
+
|
|
94
|
+
| Mode | When to use |
|
|
95
|
+
| --- | --- |
|
|
96
|
+
| [Cloud deployment](docs/helm/overview.md) | Deploy backend services to Amazon EKS with Helm |
|
|
97
|
+
| [Compose deployment](docs/compose/overview.md) | Run the backend locally, on a single server, or for evaluator installations |
|
|
98
|
+
|
|
99
|
+
## Resources
|
|
100
|
+
|
|
101
|
+
- [Development guide](DEVELOPMENT.md)
|
|
102
|
+
- [Installer documentation](docs/installer/overview.md)
|
|
103
|
+
- [Telekinesis documentation](https://docs.telekinesis.ai)
|
|
104
|
+
- [Release history](RELEASE.md)
|
|
105
|
+
|
|
106
|
+
## Support
|
|
107
|
+
|
|
108
|
+
For issues and questions, contact the Telekinesis development team at
|
|
109
|
+
[support@telekinesis.ai](mailto:support@telekinesis.ai) or join the
|
|
110
|
+
[Telekinesis Discord](https://discord.com/invite/7NnQ3bQHqm).
|
|
111
|
+
|
|
112
|
+
## License
|
|
113
|
+
|
|
114
|
+
This repository is proprietary and confidential. See [LICENSE.txt](LICENSE.txt)
|
|
115
|
+
for details.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "telekinesis-deployment"
|
|
7
|
+
version = "0.0.1"
|
|
8
|
+
description = "Installer and CLI for the Telekinesis deployment stack."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.11, <3.13"
|
|
11
|
+
dependencies = [
|
|
12
|
+
"docker==7.1.0",
|
|
13
|
+
"loguru==0.7.3",
|
|
14
|
+
"requests==2.33.1",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
[project.scripts]
|
|
18
|
+
telekinesis = "telekinesis_deployment.cli:main"
|
|
19
|
+
|
|
20
|
+
[tool.setuptools]
|
|
21
|
+
package-dir = {"" = "src"}
|
|
22
|
+
|
|
23
|
+
[tool.setuptools.packages.find]
|
|
24
|
+
where = ["src"]
|
|
25
|
+
|
|
26
|
+
[tool.setuptools.package-data]
|
|
27
|
+
telekinesis_deployment = [
|
|
28
|
+
"assets/compose/compose.yaml",
|
|
29
|
+
"assets/compose/.env.user.example",
|
|
30
|
+
"assets/compose/.env.developer.example",
|
|
31
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Utilities and CLI entry points for Telekinesis deployment workflows."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Packaged runtime assets for Telekinesis deployment."""
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
INSTALL_PROFILE=developer
|
|
2
|
+
IMAGE_REGISTRY=registry.gitlab.com/telekinesis
|
|
3
|
+
|
|
4
|
+
THALAMUS_TAG=0.1.1
|
|
5
|
+
RETINA_API_TAG=0.1.2
|
|
6
|
+
CORNEA_API_TAG=0.2.3
|
|
7
|
+
PUPIL_API_TAG=0.3.1
|
|
8
|
+
VITREOUS_API_TAG=0.2.1
|
|
9
|
+
TRITON_CORNEA_TAG=0.2.0
|
|
10
|
+
TRITON_RETINA_INSTANCE_1_TAG=0.1.0
|
|
11
|
+
TRITON_RETINA_INSTANCE_2_TAG=0.1.0
|
|
12
|
+
|
|
13
|
+
# Thalamus API
|
|
14
|
+
# Postgres
|
|
15
|
+
POSTGRES_USER=postgres
|
|
16
|
+
POSTGRES_PASSWORD=changeme
|
|
17
|
+
POSTGRES_HOST=db
|
|
18
|
+
POSTGRES_PORT=5432
|
|
19
|
+
POSTGRES_DB=thalamus
|
|
20
|
+
|
|
21
|
+
# Cognito
|
|
22
|
+
COGNITO_REGION=us-east-1
|
|
23
|
+
COGNITO_USER_POOL_ID=us-east-1_SXLeSuunn
|
|
24
|
+
COGNITO_CLIENT_ID=6it51v8ct58lrind00val9f7of
|
|
25
|
+
|
|
26
|
+
# Retina API
|
|
27
|
+
RETINA_THALAMUS_URL=http://127.0.0.1:4000
|
|
28
|
+
RETINA_TRITON_URL_INSTANCE_1=127.0.0.1:8011
|
|
29
|
+
RETINA_TRITON_URL_INSTANCE_2=127.0.0.1:8021
|
|
30
|
+
|
|
31
|
+
# Cornea API
|
|
32
|
+
CORNEA_THALAMUS_URL=http://127.0.0.1:4000
|
|
33
|
+
CORNEA_TRITON_URL=127.0.0.1:8001
|
|
34
|
+
|
|
35
|
+
# Pupil API
|
|
36
|
+
PUPIL_THALAMUS_URL=http://127.0.0.1:4000
|
|
37
|
+
|
|
38
|
+
# Vitreous API
|
|
39
|
+
VITREOUS_THALAMUS_URL=http://127.0.0.1:4000
|
|
40
|
+
VITREOUS_TRITON_URL_INSTANCE_1=127.0.0.1:8051
|
|
41
|
+
VITREOUS_TRITON_URL_INSTANCE_2=127.0.0.1:8061
|
|
42
|
+
|
|
43
|
+
# Triton Cornea
|
|
44
|
+
TRITON_CORNEA_MODEL_REPOSITORY=
|
|
45
|
+
|
|
46
|
+
# Triton Retina Instance 1
|
|
47
|
+
TRITON_RETINA_INSTANCE_1_MODEL_REPOSITORY=
|
|
48
|
+
|
|
49
|
+
# Triton Retina Instance 2
|
|
50
|
+
TRITON_RETINA_INSTANCE_2_MODEL_REPOSITORY=
|
|
51
|
+
|
|
52
|
+
# Triton Iris
|
|
53
|
+
TRITON_IRIS_MODEL_REPOSITORY=
|
|
54
|
+
|
|
55
|
+
HF_TOKEN=<huggingface-token>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
INSTALL_PROFILE=user
|
|
2
|
+
IMAGE_REGISTRY=registry.gitlab.com/telekinesis
|
|
3
|
+
|
|
4
|
+
THALAMUS_TAG=0.1.1
|
|
5
|
+
RETINA_API_TAG=0.1.2
|
|
6
|
+
CORNEA_API_TAG=0.2.3
|
|
7
|
+
PUPIL_API_TAG=0.3.1
|
|
8
|
+
VITREOUS_API_TAG=0.2.1
|
|
9
|
+
TRITON_CORNEA_TAG=0.2.0
|
|
10
|
+
TRITON_RETINA_INSTANCE_1_TAG=0.1.0
|
|
11
|
+
TRITON_RETINA_INSTANCE_2_TAG=0.1.0
|
|
12
|
+
|
|
13
|
+
# Thalamus API
|
|
14
|
+
# Postgres
|
|
15
|
+
POSTGRES_USER=postgres
|
|
16
|
+
POSTGRES_PASSWORD=changeme
|
|
17
|
+
POSTGRES_HOST=db
|
|
18
|
+
POSTGRES_PORT=5432
|
|
19
|
+
POSTGRES_DB=thalamus
|
|
20
|
+
|
|
21
|
+
# Cognito
|
|
22
|
+
COGNITO_REGION=us-east-1
|
|
23
|
+
COGNITO_USER_POOL_ID=
|
|
24
|
+
COGNITO_CLIENT_ID=
|
|
25
|
+
|
|
26
|
+
# Retina API
|
|
27
|
+
RETINA_THALAMUS_URL=http://127.0.0.1:4000
|
|
28
|
+
RETINA_TRITON_URL_INSTANCE_1=127.0.0.1:8011
|
|
29
|
+
RETINA_TRITON_URL_INSTANCE_2=127.0.0.1:8021
|
|
30
|
+
|
|
31
|
+
# Cornea API
|
|
32
|
+
CORNEA_THALAMUS_URL=http://127.0.0.1:4000
|
|
33
|
+
CORNEA_TRITON_URL=127.0.0.1:8001
|
|
34
|
+
|
|
35
|
+
# Pupil API
|
|
36
|
+
PUPIL_THALAMUS_URL=http://127.0.0.1:4000
|
|
37
|
+
|
|
38
|
+
# Vitreous API
|
|
39
|
+
VITREOUS_THALAMUS_URL=http://127.0.0.1:4000
|
|
40
|
+
VITREOUS_TRITON_URL_INSTANCE_1=127.0.0.1:8051
|
|
41
|
+
VITREOUS_TRITON_URL_INSTANCE_2=127.0.0.1:8061
|
|
42
|
+
|
|
43
|
+
# Triton Cornea
|
|
44
|
+
TRITON_CORNEA_MODEL_REPOSITORY=
|
|
45
|
+
|
|
46
|
+
# Triton Retina Instance 1
|
|
47
|
+
TRITON_RETINA_INSTANCE_1_MODEL_REPOSITORY=
|
|
48
|
+
|
|
49
|
+
# Triton Retina Instance 2
|
|
50
|
+
TRITON_RETINA_INSTANCE_2_MODEL_REPOSITORY=
|
|
51
|
+
|
|
52
|
+
# Triton Iris
|
|
53
|
+
TRITON_IRIS_MODEL_REPOSITORY=
|
|
54
|
+
|
|
55
|
+
HF_TOKEN=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Packaged Docker Compose assets for Telekinesis deployment."""
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
|
|
2
|
+
name: telekinesis-backend
|
|
3
|
+
|
|
4
|
+
services:
|
|
5
|
+
thalamus:
|
|
6
|
+
image: ${IMAGE_REGISTRY:-registry.gitlab.com/telekinesis}/thalamus:${THALAMUS_TAG:-latest}
|
|
7
|
+
container_name: thalamus-local
|
|
8
|
+
ports:
|
|
9
|
+
- "4000:4000"
|
|
10
|
+
restart: unless-stopped
|
|
11
|
+
environment:
|
|
12
|
+
# Postgres — POSTGRES_HOST overridden to the compose service name.
|
|
13
|
+
POSTGRES_USER: ${POSTGRES_USER}
|
|
14
|
+
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
15
|
+
POSTGRES_HOST: db
|
|
16
|
+
POSTGRES_PORT: ${POSTGRES_PORT}
|
|
17
|
+
POSTGRES_DB: ${POSTGRES_DB}
|
|
18
|
+
# Cognito
|
|
19
|
+
COGNITO_REGION: ${COGNITO_REGION}
|
|
20
|
+
COGNITO_USER_POOL_ID: ${COGNITO_USER_POOL_ID}
|
|
21
|
+
COGNITO_CLIENT_ID: ${COGNITO_CLIENT_ID}
|
|
22
|
+
depends_on:
|
|
23
|
+
- db
|
|
24
|
+
extra_hosts:
|
|
25
|
+
- "host.docker.internal:host-gateway"
|
|
26
|
+
networks:
|
|
27
|
+
- telekinesis-net
|
|
28
|
+
|
|
29
|
+
db:
|
|
30
|
+
image: postgres:15
|
|
31
|
+
container_name: db-local
|
|
32
|
+
restart: unless-stopped
|
|
33
|
+
ports:
|
|
34
|
+
- "5432:5432"
|
|
35
|
+
volumes:
|
|
36
|
+
- pgdata:/var/lib/postgresql/data
|
|
37
|
+
environment:
|
|
38
|
+
POSTGRES_USER: ${POSTGRES_USER}
|
|
39
|
+
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
40
|
+
POSTGRES_DB: ${POSTGRES_DB}
|
|
41
|
+
networks:
|
|
42
|
+
- telekinesis-net
|
|
43
|
+
|
|
44
|
+
adminer:
|
|
45
|
+
image: adminer
|
|
46
|
+
container_name: adminer-local
|
|
47
|
+
restart: unless-stopped
|
|
48
|
+
ports:
|
|
49
|
+
- "8080:8080"
|
|
50
|
+
networks:
|
|
51
|
+
- telekinesis-net
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
retina-api:
|
|
55
|
+
image: ${IMAGE_REGISTRY:-registry.gitlab.com/telekinesis}/retina:${RETINA_API_TAG:-latest}
|
|
56
|
+
container_name: retina-api-local
|
|
57
|
+
ports:
|
|
58
|
+
- "4300:4300"
|
|
59
|
+
restart: unless-stopped
|
|
60
|
+
environment:
|
|
61
|
+
# Cognito
|
|
62
|
+
COGNITO_REGION: ${COGNITO_REGION}
|
|
63
|
+
COGNITO_USER_POOL_ID: ${COGNITO_USER_POOL_ID}
|
|
64
|
+
COGNITO_CLIENT_ID: ${COGNITO_CLIENT_ID}
|
|
65
|
+
# Service URLs — overridden to use compose network names instead of 127.0.0.1.
|
|
66
|
+
RETINA_THALAMUS_URL: http://thalamus:4000
|
|
67
|
+
RETINA_TRITON_URL_INSTANCE_1: triton-retina-instance-1:8001
|
|
68
|
+
RETINA_TRITON_URL_INSTANCE_2: triton-retina-instance-2:8001
|
|
69
|
+
extra_hosts:
|
|
70
|
+
- "host.docker.internal:host-gateway"
|
|
71
|
+
networks:
|
|
72
|
+
- telekinesis-net
|
|
73
|
+
|
|
74
|
+
cornea-api:
|
|
75
|
+
image: ${IMAGE_REGISTRY:-registry.gitlab.com/telekinesis}/cornea:${CORNEA_API_TAG:-latest}
|
|
76
|
+
container_name: cornea-api-local
|
|
77
|
+
ports:
|
|
78
|
+
- "4400:4400"
|
|
79
|
+
restart: unless-stopped
|
|
80
|
+
environment:
|
|
81
|
+
# Service URLs — overridden to use compose network names instead of 127.0.0.1.
|
|
82
|
+
CORNEA_THALAMUS_URL: http://thalamus:4000
|
|
83
|
+
CORNEA_TRITON_URL: triton-cornea:8001
|
|
84
|
+
extra_hosts:
|
|
85
|
+
- "host.docker.internal:host-gateway"
|
|
86
|
+
networks:
|
|
87
|
+
- telekinesis-net
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
pupil-api:
|
|
91
|
+
image: ${IMAGE_REGISTRY:-registry.gitlab.com/telekinesis}/pupil:${PUPIL_API_TAG:-latest}
|
|
92
|
+
container_name: pupil-api-local
|
|
93
|
+
ports:
|
|
94
|
+
- "4200:4200"
|
|
95
|
+
restart: unless-stopped
|
|
96
|
+
environment:
|
|
97
|
+
# Service URLs — overridden to use compose network names instead of 127.0.0.1.
|
|
98
|
+
PUPIL_THALAMUS_URL: http://thalamus:4000
|
|
99
|
+
extra_hosts:
|
|
100
|
+
- "host.docker.internal:host-gateway"
|
|
101
|
+
networks:
|
|
102
|
+
- telekinesis-net
|
|
103
|
+
|
|
104
|
+
vitreous-api:
|
|
105
|
+
image: ${IMAGE_REGISTRY:-registry.gitlab.com/telekinesis}/vitreous:${VITREOUS_API_TAG:-latest}
|
|
106
|
+
container_name: vitreous-api-local
|
|
107
|
+
ports:
|
|
108
|
+
- "4100:4100"
|
|
109
|
+
restart: unless-stopped
|
|
110
|
+
environment:
|
|
111
|
+
# Service URLs — overridden to use compose network names instead of 127.0.0.1.
|
|
112
|
+
VITREOUS_THALAMUS_URL: http://thalamus:4000
|
|
113
|
+
VITREOUS_TRITON_URL_INSTANCE_1: triton-vitreous-instance-1:8001
|
|
114
|
+
VITREOUS_TRITON_URL_INSTANCE_2: triton-vitreous-instance-2:8001
|
|
115
|
+
extra_hosts:
|
|
116
|
+
- "host.docker.internal:host-gateway"
|
|
117
|
+
networks:
|
|
118
|
+
- telekinesis-net
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
triton-cornea:
|
|
122
|
+
image: triton-cornea:${TRITON_CORNEA_TAG:-latest}
|
|
123
|
+
container_name: triton-cornea
|
|
124
|
+
runtime: nvidia
|
|
125
|
+
environment:
|
|
126
|
+
NVIDIA_VISIBLE_DEVICES: all
|
|
127
|
+
NVIDIA_DRIVER_CAPABILITIES: compute,utility
|
|
128
|
+
HF_TOKEN: ${HF_TOKEN}
|
|
129
|
+
ports:
|
|
130
|
+
- "8000:8000" # HTTP
|
|
131
|
+
- "8001:8001" # gRPC
|
|
132
|
+
- "8002:8002" # metrics
|
|
133
|
+
volumes:
|
|
134
|
+
- ${TRITON_CORNEA_MODEL_REPOSITORY:-./cornea/model_repository}:/models
|
|
135
|
+
command:
|
|
136
|
+
- --model-repository=/models
|
|
137
|
+
- --disable-auto-complete-config
|
|
138
|
+
# - --model-control-mode=poll
|
|
139
|
+
# - --repository-poll-secs=15
|
|
140
|
+
shm_size: "2gb"
|
|
141
|
+
networks:
|
|
142
|
+
- telekinesis-net
|
|
143
|
+
|
|
144
|
+
triton-retina-instance-1:
|
|
145
|
+
image: triton-retina-instance-1:${TRITON_RETINA_INSTANCE_1_TAG:-latest}
|
|
146
|
+
container_name: triton-retina-instance-1
|
|
147
|
+
runtime: nvidia
|
|
148
|
+
environment:
|
|
149
|
+
NVIDIA_VISIBLE_DEVICES: all
|
|
150
|
+
NVIDIA_DRIVER_CAPABILITIES: compute,utility
|
|
151
|
+
HF_TOKEN: ${HF_TOKEN}
|
|
152
|
+
ports:
|
|
153
|
+
- "8010:8000" # HTTP
|
|
154
|
+
- "8011:8001" # gRPC
|
|
155
|
+
- "8012:8002" # metrics
|
|
156
|
+
volumes:
|
|
157
|
+
- ${TRITON_RETINA_INSTANCE_1_MODEL_REPOSITORY:-./retina-instance-1/model_repository}:/models
|
|
158
|
+
command:
|
|
159
|
+
- --model-repository=/models
|
|
160
|
+
- --disable-auto-complete-config
|
|
161
|
+
# - --model-control-mode=poll
|
|
162
|
+
# - --repository-poll-secs=15
|
|
163
|
+
shm_size: "2gb"
|
|
164
|
+
networks:
|
|
165
|
+
- telekinesis-net
|
|
166
|
+
|
|
167
|
+
triton-retina-instance-2:
|
|
168
|
+
image: triton-retina-instance-2:${TRITON_RETINA_INSTANCE_2_TAG:-latest}
|
|
169
|
+
container_name: triton-retina-instance-2
|
|
170
|
+
runtime: nvidia
|
|
171
|
+
environment:
|
|
172
|
+
NVIDIA_VISIBLE_DEVICES: all
|
|
173
|
+
NVIDIA_DRIVER_CAPABILITIES: compute,utility
|
|
174
|
+
HF_TOKEN: ${HF_TOKEN}
|
|
175
|
+
ports:
|
|
176
|
+
- "8020:8000" # HTTP
|
|
177
|
+
- "8021:8001" # gRPC (retina / Qwen)
|
|
178
|
+
- "8022:8002" # metrics
|
|
179
|
+
volumes:
|
|
180
|
+
- ${TRITON_RETINA_INSTANCE_2_MODEL_REPOSITORY:-./retina-instance-2/model_repository}:/models
|
|
181
|
+
command:
|
|
182
|
+
- --model-repository=/models
|
|
183
|
+
- --disable-auto-complete-config
|
|
184
|
+
# - --model-control-mode=poll
|
|
185
|
+
# - --repository-poll-secs=15
|
|
186
|
+
shm_size: "2gb"
|
|
187
|
+
networks:
|
|
188
|
+
- telekinesis-net
|
|
189
|
+
|
|
190
|
+
triton-iris-local:
|
|
191
|
+
image: nvcr.io/nvidia/tritonserver:25.05-py3
|
|
192
|
+
container_name: triton-iris-local
|
|
193
|
+
runtime: nvidia
|
|
194
|
+
environment:
|
|
195
|
+
NVIDIA_VISIBLE_DEVICES: all
|
|
196
|
+
NVIDIA_DRIVER_CAPABILITIES: compute,utility
|
|
197
|
+
ports:
|
|
198
|
+
- "8040:8000" # HTTP
|
|
199
|
+
- "8041:8001" # gRPC
|
|
200
|
+
- "8042:8002" # metrics
|
|
201
|
+
extra_hosts:
|
|
202
|
+
- "host.docker.internal:host-gateway"
|
|
203
|
+
volumes:
|
|
204
|
+
- ${TRITON_IRIS_MODEL_REPOSITORY:-./iris/model_repository}:/models
|
|
205
|
+
command:
|
|
206
|
+
- tritonserver
|
|
207
|
+
- --model-repository=/models
|
|
208
|
+
- --disable-auto-complete-config
|
|
209
|
+
- --model-control-mode=poll
|
|
210
|
+
- --repository-poll-secs=30
|
|
211
|
+
- --log-verbose=1
|
|
212
|
+
shm_size: "2gb"
|
|
213
|
+
networks:
|
|
214
|
+
- telekinesis-net
|
|
215
|
+
|
|
216
|
+
networks:
|
|
217
|
+
telekinesis-net:
|
|
218
|
+
name: telekinesis-net
|
|
219
|
+
|
|
220
|
+
volumes:
|
|
221
|
+
pgdata:
|