Skip to content

Commit b8250e2

Browse files
authored
Merge pull request #28 from Imaging-Plaza/feat/open-pulse-ontology-v2.0.0
Feat/open pulse ontology v2.0.0
2 parents fda9ba8 + ce4eb7b commit b8250e2

937 files changed

Lines changed: 860625 additions & 1032 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/.env.example

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Copy to `.devcontainer/.env` for docker-compose variable substitution.
2+
# Compose reads this file from the `.devcontainer/` directory (not repo-root `.env` for these keys).
3+
#
4+
# Host port mappings (optional):
5+
# SSH_PORT=2220
6+
# APP_PORT=1234
7+
# DEV_PORT=8888
8+
#
9+
# DNS inside the container (optional; defaults are 1.1.1.1 + 8.8.8.8 in docker-compose.yml).
10+
# Use your corporate resolvers if public DNS is blocked:
11+
# DEVCONTAINER_DNS_1=10.0.0.1
12+
# DEVCONTAINER_DNS_2=10.0.0.2
13+
#
14+
# Selenium (standalone Firefox service in docker-compose.yml). Override URL if you use an external grid:
15+
# SELENIUM_REMOTE_URL=http://selenium-standalone-firefox:4444
16+
# Host ports if 4444 / 7900 are already in use:
17+
# SELENIUM_GRID_PORT=4445
18+
# SELENIUM_VNC_PORT=7901

.devcontainer/Dockerfile

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
FROM ghcr.io/astral-sh/uv:python3.12-bookworm
22

3-
# Set locale to avoid warnings
43
ENV LC_ALL=C.UTF-8
54
ENV LANG=C.UTF-8
65

7-
# Install just and other system dependencies
86
RUN apt-get update && apt-get install -y \
97
sudo \
108
curl \
@@ -13,16 +11,11 @@ RUN apt-get update && apt-get install -y \
1311
&& apt-get clean \
1412
&& rm -rf /var/lib/apt/lists/*
1513

16-
# Crear usuario no-root con UID/GID que suele usar VS Code (1000:1000).
17-
# TOOD: Take this user out of sudoers if you want to use this in fully agents mode.
1814
RUN useradd -ms /bin/bash -u 1000 vscode \
19-
&& apt-get update && apt-get install -y sudo \
15+
&& apt-get update \
16+
&& apt-get install -y sudo \
2017
&& echo "vscode ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
2118

22-
# Gemini CLI
23-
# Please login outside of the container and copy your credentials to ~/.gemini/...
24-
RUN curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs
25-
RUN npm install -g @google/gemini-cli
2619

2720
RUN mkdir -p /app/data \
2821
&& chown -R 1000:1000 /app/data \

.devcontainer/devcontainer.json

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
{
22
"name": "git-metadata-extractor-dev",
3-
"build": {
4-
"dockerfile": "Dockerfile"
3+
"dockerComposeFile": "docker-compose.yml",
4+
"service": "devcontainer",
5+
"workspaceFolder": "/workspaces/project",
6+
"containerEnv": {
7+
"UV_CACHE_DIR": "/workspaces/project/.uv-cache"
8+
},
9+
"overrideCommand": false,
10+
"features": {
11+
"ghcr.io/devcontainers/features/sshd:1": {
12+
"version": "latest"
13+
}
514
},
6-
"runArgs": [
7-
"--env-file",
8-
"${localWorkspaceFolder}/.env",
9-
"--network",
10-
"dev"
11-
],
1215
"remoteUser": "vscode",
13-
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
1416
"customizations": {
1517
"vscode": {
1618
"settings": {
@@ -26,8 +28,6 @@
2628
]
2729
}
2830
},
29-
"forwardPorts": [
30-
1234
31-
],
32-
"postCreateCommand": "rm -rf .venv && uv venv && uv pip install -e .[dev] && echo '. $PWD/.venv/bin/activate' >> /home/vscode/.bashrc"
33-
}
31+
"postCreateCommand": "mkdir -p .uv-cache && rm -rf .venv && uv venv && uv pip install -e .[dev] && echo '. $PWD/.venv/bin/activate' >> /home/vscode/.bashrc",
32+
"postStartCommand": "bash .devcontainer/set-vscode-password.sh"
33+
}

.devcontainer/docker-compose.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Dev container stack. Compose publishes ports on the host (more reliable than
2+
# devcontainer forwardPorts in some setups). Interpolation vars (SSH_PORT, etc.)
3+
# can be set in `.devcontainer/.env` (see `.devcontainer/.env.example`).
4+
#
5+
# Internal SSH: devcontainers `sshd` feature listens on 2222, not 22 — map host:2222.
6+
#
7+
# Explicit DNS: containers on external networks (e.g. `dev`) sometimes get no working resolver
8+
# and `uv pip` fails with "dns error" / "failed to lookup address information".
9+
# Override in `.devcontainer/.env`: DEVCONTAINER_DNS_1 / DEVCONTAINER_DNS_2.
10+
services:
11+
devcontainer:
12+
build:
13+
context: ..
14+
dockerfile: .devcontainer/Dockerfile
15+
dns:
16+
- "${DEVCONTAINER_DNS_1:-1.1.1.1}"
17+
- "${DEVCONTAINER_DNS_2:-8.8.8.8}"
18+
env_file:
19+
- ../.env
20+
environment:
21+
# Avoid ~/.cache/uv (often root-owned after sshd/common-utils); workspace is bind-mounted as vscode.
22+
UV_CACHE_DIR: /workspaces/project/.uv-cache
23+
SELENIUM_REMOTE_URL: ${SELENIUM_REMOTE_URL:-http://gme-selenium-firefox:4444}
24+
ports:
25+
- "${SSH_PORT:-2222}:2222"
26+
- "${APP_PORT:-1234}:1234"
27+
- "${DEV_PORT:-8888}:8888"
28+
volumes:
29+
- ..:/workspaces/project:cached
30+
command: sleep infinity
31+
networks:
32+
- dev
33+
gme-qdrant:
34+
image: qdrant/qdrant:latest
35+
container_name: gme-qdrant
36+
ports:
37+
- "6333:6333"
38+
- "6334:6334"
39+
volumes:
40+
- ../data/qdrant/storage:/qdrant/storage
41+
restart: unless-stopped
42+
networks:
43+
- dev
44+
# README "Option B": multi-session standalone Firefox (ORCID, Selenium-backed tools).
45+
gme-selenium-firefox:
46+
image: selenium/standalone-firefox
47+
container_name: gme-selenium-firefox
48+
ports:
49+
- "${SELENIUM_GRID_PORT:-4444}:4444"
50+
- "${SELENIUM_VNC_PORT:-7900}:7900"
51+
shm_size: "2g"
52+
environment:
53+
SE_NODE_MAX_SESSIONS: "5"
54+
SE_NODE_SESSION_TIMEOUT: "300"
55+
restart: unless-stopped
56+
networks:
57+
- dev
58+
59+
networks:
60+
dev:
61+
external: true
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/env bash
2+
# Apply VSCODE_PASSWORD to user vscode at container start (not baked into the image).
3+
# Set VSCODE_PASSWORD in .env (this repo loads it via devcontainer runArgs --env-file).
4+
set -euo pipefail
5+
if [[ -z "${VSCODE_PASSWORD:-}" ]]; then
6+
exit 0
7+
fi
8+
printf 'vscode:%s\n' "$VSCODE_PASSWORD" | sudo chpasswd

.env.dist

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)