Skip to content

Add initial project structure and CI/CD pipeline with Docker - #1

Merged
gitricko merged 10 commits into
mainfrom
init
May 16, 2026
Merged

gitricko merged 10 commits into
mainfrom
init

Conversation

@gitricko

Copy link
Copy Markdown
Owner

This pull request introduces a comprehensive development and deployment environment for the TradingView Agent, focusing on ease of use in GitHub Codespaces, improved Docker workflows, and enhanced documentation. The changes include new configuration files for Codespaces, Docker Compose, and CI/CD, as well as detailed setup scripts and documentation for both development and production use.

Key highlights:

  • Adds a ready-to-use Codespace and Docker environment with persistent storage, automated dependency installation, and pre-configured AI/LLM tooling.
  • Provides robust backup/restore and local development workflows via Makefile.
  • Introduces CI/CD pipelines for Docker image building and publishing.
  • Significantly expands the README with quick start, features, security, and migration instructions.

The most important changes are:

Development Environment & Automation

  • Introduced a .devcontainer directory with configuration files (devcontainer.json, Makefile, post-create.sh, post-start.sh, globalState.json, secrets.json) to automate Codespace setup, dependency installation, and LLM/model relay initialization. This makes onboarding and environment setup nearly automatic. [1] [2] [3] [4] [5] [6]

Docker & Local Development

  • Added a robust docker-compose.yml for running the TradingView Agent, ModelRelay, Hermes, and related services with persistent volumes and sensible defaults.
  • Added a top-level Makefile with commands for starting, stopping, building, cleaning, backing up, and restoring the Docker environment, as well as Colima integration for local Docker workflows.
  • Added a desktop launcher for CodeServer in the Docker image for easy access to a browser-based VSCode IDE.

CI/CD and Dependency Management

  • Added GitHub Actions workflow for automated Docker image build and push to GHCR, supporting both main branch and manual triggers, and including disk space optimization for large builds.
  • Added Dependabot configuration for automated updates of Docker and GitHub Actions dependencies.

Documentation & Security

  • Rewrote and expanded README.md with detailed quick start, feature list, backup/restore instructions, security model explanation, and roadmap.
  • Added a SECURITY.md policy file outlining supported versions and vulnerability reporting.

Copilot AI review requested due to automatic review settings May 16, 2026 17:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR bootstraps the TradingView Agent repository with a full development and deployment setup: GitHub Codespaces devcontainer, a Webtop-based Docker image bundling TradingView Desktop, code-server, ModelRelay, OmniRoute, Ollama and the Hermes agent, plus a docker-compose stack, top-level Makefile, GitHub Actions workflow that builds/pushes to GHCR, Dependabot config, and a rewritten README. SECURITY.md is also added but as the unmodified default template.

Changes:

  • New .devcontainer/ with post-create/post-start scripts, Cline preconfig, disk-cleanup helper, and an internal Makefile.
  • New docker/ directory with a multi-stage Dockerfile (and a leftover Dockerfile.old), desktop launchers, container-init scripts, nginx config, and shared helpers.
  • New top-level Makefile, docker-compose.yml, GHCR build/publish workflow, Dependabot config, and expanded README.md / SECURITY.md.

Reviewed changes

Copilot reviewed 29 out of 30 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
SECURITY.md Adds unmodified GitHub default template (needs project-specific content).
README.md Major rewrite with quick start, features, security, backup/restore, roadmap.
Makefile Top-level make targets for compose lifecycle, backup/restore, colima.
docker-compose.yml Defines tradingview-agent service, ports, volumes, network.
docker/Dockerfile Multi-stage build assembling Webtop + Node + Ollama + tools + TradingView.
docker/Dockerfile.old Leftover previous Dockerfile committed to repo.
docker/*.desktop MATE desktop launchers for ModelRelay, OmniRoute, CodeServer, TradingView.
docker/start-*.sh Container-init scripts that wire services and install code-server extensions.
docker/common.sh sync_desktop_file helper.
docker/default.conf nginx config exposing UI, websocket, code-server proxy.
docker/globalState.json / secrets.json Default Cline config baked into the image.
.github/workflows/docker-publish.yml Build/test + GHCR push workflow with disk-space freeing step.
.github/dependabot.yml Weekly updates for Docker and GitHub Actions.
.devcontainer/devcontainer.json Codespaces config with Hermes extension and postCreate hook.
.devcontainer/post-create.sh / post-start.sh Install/start ModelRelay and Cline in Codespace.
.devcontainer/Makefile Helper to install deps and sync from upstream template.
.devcontainer/free-disk.sh Standalone disk-cleanup script for Codespaces.
.devcontainer/globalState.json / secrets.json Default Cline config for devcontainer.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .devcontainer/Makefile

install:
@echo "Installing dependencies..."
@bash post-create-cmd.sh
Comment thread .devcontainer/Makefile

update-deps:
@echo "Syncing .devcontainer from upstream..."
@if [ ! -f "$(EXTERNAL_DEVC)" ]; then \
@@ -0,0 +1,9 @@
{
"name": "Hermes-Coding-Agent",
Comment on lines +1 to +16
#!/bin/bash

echo "[post-start-cmd.sh] Checking modelrelay..."
if command -v modelrelay &>/dev/null; then
if pgrep -f modelrelay > /dev/null; then
echo "[post-start-cmd.sh] modelrelay is already running, skipping"
else
echo "[post-start-cmd.sh] Starting modelrelay in the background..."
setsid /usr/local/bin/modelrelay >> /tmp/modelrelay.log 2>&1 &
fi
else
echo "[post-start-cmd.sh] modelrelay not found, skipping start"
fi

# so that the script doesn't exit immediately before modelrelay has a chance to start properly
sleep 60 No newline at end of file
Comment thread README.md
Comment on lines +52 to +59
3. In the Codespace terminal run:
```bash
make start
```

4. Wait ~60 seconds. When the web desktop URL appears in the Codespace Ports tab, click it.

5. Inside the WebTop desktop:
Comment thread docker-compose.yml
- tradingview-agent-config:/config
- .:/codespace
# Uncomment the next line if you want to run Docker inside Webtop
- /var/run/docker.sock:/var/run/docker.sock
Comment thread docker/Dockerfile.old
Comment on lines +1 to +76
ARG HERMES_VERSION="v2026.5.7"
ARG OMNIROUTE_VERSION=3.7.9
ARG MODELRELAY_VERSION=1.17.1
ARG OLLAMA_VERSION=0.21.0
ARG NODE_VERSION=24
ARG CODE_SERVER_VERSION=4.118.0
ARG MNEMON_VERSION=0.1.3
ARG TARGETARCH

# Get the binaries from official Node image
FROM node:${NODE_VERSION}-slim AS node-bin

# Use your preferred Webtop flavor as the base (e.g., Ubuntu, Alpine)
FROM lscr.io/linuxserver/webtop:ubuntu-mate

# Install help utilities, Firefox, and clean up apt cache to reduce image size
# Remove Chromium if present (webtop includes it by default)
RUN apt-get update && \
apt-get install -y htop zsh firefox && \
apt-get remove -y chromium chromium-browser chromium-common libchromium* 2>/dev/null || true && \
rm -rf /var/lib/apt/lists/*

# Copy Node.js binaries and libraries
COPY --from=node-bin --chown=abc:abc /usr/local/bin/node /usr/local/bin/
COPY --from=node-bin --chown=abc:abc /usr/local/lib/node_modules /usr/local/lib/node_modules
RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm

# Start desktop launchers and bootstrap scripts automatically when the desktop loads
RUN mkdir -p /custom-cont-init.d
COPY --chown=abc:abc *.desktop /custom-cont-init.d
COPY --chown=abc:abc *.sh /custom-cont-init.d
COPY --chown=abc:abc *.json /custom-cont-init.d


# Install ModelRelay and start automatically when desktop loads
ARG MODELRELAY_VERSION
RUN npm install -g modelrelay@${MODELRELAY_VERSION} && \
npm cache clean --force && \
chown abc:abc -R /usr/local/lib/node_modules/modelrelay /usr/local/bin/modelrelay

# Install OmniRoute and start automatically when desktop loads
ARG OMNIROUTE_VERSION
RUN npm install -g omniroute@${OMNIROUTE_VERSION} && \
npm cache clean --force && \
mkdir -p /usr/local/lib/node_modules/omniroute/app/logs/application && \
chown abc:abc -R /usr/local/lib/node_modules/omniroute /usr/local/bin/omniroute

# Install code-server and start automatically when desktop loads
ARG CODE_SERVER_VERSION
RUN curl -fsSL https://code-server.dev/install.sh | sh -s -- --version=${CODE_SERVER_VERSION} --method=standalone --prefix=/usr/local && \
ln -fs /usr/local/lib/code-server-${CODE_SERVER_VERSION} /usr/local/lib/code-server && \
ln -fs /usr/local/lib/code-server/bin/code-server /usr/local/bin/code && \
rm -rf ~/.cache
COPY default.conf /defaults/default.conf

# Switch to the abc user and set zsh as the default shell for both root and abc
RUN usermod -s $(which zsh) root; usermod -s $(which zsh) abc

# ---------------------------------------------------------------------------
# Install TradingView Linux Desktop
# ---------------------------------------------------------------------------
# URL discovered from TradingView's JS bundle:
# https://tvd-packages.tradingview.com/ubuntu/stable/latest/jammy/tradingview_amd64.deb
RUN echo "Installing TradingView Linux Desktop..." && \
curl -fsSL \
"https://tvd-packages.tradingview.com/ubuntu/stable/latest/jammy/tradingview_amd64.deb" \
-o /tmp/TradingView.deb \
&& apt-get update \
&& apt-get install -y --no-install-recommends /tmp/TradingView.deb \
&& rm -f /tmp/TradingView.deb \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& chown -R abc:abc /opt/TradingView \
&& echo "[TradingView] Installed successfully"

EXPOSE 8888
Comment thread docker/CodeServer.desktop
Version=1.0
Type=Application
Terminal=false
Exec=mate-terminal --title="CodeServer" -e "bash -c 'code-server --trusted-origins=* --auth none --bind-addr 0.0.0.0:8888'"
Comment on lines +26 to +46
chown -R abc:abc /config/.local/share/code-server

EXTENSION=saoudrizwan.claude-dev
if code --list-extensions | grep -q "${EXTENSION}"; then
echo "[start-4-codeserver] Extension ${EXTENSION} already installed, skip"
else
echo "[start-4-codeserver] Installing Extension ${EXTENSION}..."
mkdir -p "$HOME/.cline/data"
cp "${SCRIPT_DIR}/globalState.json" "$HOME/.cline/data/globalState.json"
cp "${SCRIPT_DIR}/secrets.json" "$HOME/.cline/data/secrets.json"
runuser -l abc -c "code --install-extension ${EXTENSION}"
chown -R abc:abc $HOME/.cline/data

fi

EXTENSION=joaompfp.hermes-ai-agent
if code --list-extensions | grep -q "${EXTENSION}"; then
echo "[start-4-codeserver] Extension ${EXTENSION} already installed, skip"
else
echo "[start-4-codeserver] Installing Extension ${EXTENSION}..."
runuser -l abc -c "curl -sL https://github.com/joaompfp/hermes-vscode/releases/download/v2.0.0/hermes-ai-agent-2.0.0.vsix -o /tmp/hermes-ai-agent.vsix && code --install-extension /tmp/hermes-ai-agent.vsix --force && rm /tmp/hermes-ai-agent.vsix"
Comment thread docker/Dockerfile

# Install Hermes Agent (TradingView Edition)
ARG HERMES_VERSION
RUN curl -fsSL "https://raw.githubusercontent.com/NousResearch/hermes-agent/${HERMES_VERSION}/scripts/install.sh" | bash -s -- --skip-setup && \
@gitricko
gitricko merged commit 9d1f4c5 into main May 16, 2026
7 checks passed
@gitricko
gitricko deleted the init branch May 16, 2026 17:13
intricko pushed a commit to intricko/tradingview-agent that referenced this pull request Jun 2, 2026
…install (gitricko#1)

* Initial plan

* feat: mirror picoclaw-webtop structure for Hermes without PicoClaw install

Agent-Logs-Url: https://github.com/gitricko/hermes-webtop/sessions/c6817793-33ef-4bd8-8f2b-07e2e12db4f6

Co-authored-by: gitricko <18060558+gitricko@users.noreply.github.com>

* fix: configure dependabot ecosystems and clean startup script typo

Agent-Logs-Url: https://github.com/gitricko/hermes-webtop/sessions/c6817793-33ef-4bd8-8f2b-07e2e12db4f6

Co-authored-by: gitricko <18060558+gitricko@users.noreply.github.com>

* feat: add development and cleanup commands to Makefile; update Dockerfile for Hermes installation; modify start script for session handling; remove obsolete automation utilities (gitricko#2)

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gitricko <18060558+gitricko@users.noreply.github.com>
Co-authored-by: fredrickchew <fredrick.chew@gmail.com>
gitricko added a commit that referenced this pull request Jun 2, 2026
* Initial commit

* Mirror `picoclaw-webtop` into `hermes-webtop` and remove PicoClaw preinstall (#1)

* Initial plan

* feat: mirror picoclaw-webtop structure for Hermes without PicoClaw install

Agent-Logs-Url: https://github.com/gitricko/hermes-webtop/sessions/c6817793-33ef-4bd8-8f2b-07e2e12db4f6

Co-authored-by: gitricko <18060558+gitricko@users.noreply.github.com>

* fix: configure dependabot ecosystems and clean startup script typo

Agent-Logs-Url: https://github.com/gitricko/hermes-webtop/sessions/c6817793-33ef-4bd8-8f2b-07e2e12db4f6

Co-authored-by: gitricko <18060558+gitricko@users.noreply.github.com>

* feat: add development and cleanup commands to Makefile; update Dockerfile for Hermes installation; modify start script for session handling; remove obsolete automation utilities (#2)

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gitricko <18060558+gitricko@users.noreply.github.com>
Co-authored-by: fredrickchew <fredrick.chew@gmail.com>

* Bump docker/login-action from 3 to 4 (#7)

Bumps [docker/login-action](https://github.com/docker/login-action) from 3 to 4.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@v3...v4)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Enhance Docker setup with .devcontainer and Hermes configuration (#8)

* Add initial .devcontainer setup with Makefile, scripts, and configurations

* dev

* Update Hermes installation script URL in Dockerfile

* Add Hermes installation and extensions to Docker setup

* Enhance Docker setup: add ripgrep utility and improve VSCode extension installation script

* Increase wait time for code-server configuration detection in startup script

* Bump docker/setup-buildx-action from 3 to 4 (#6)

Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](docker/setup-buildx-action@v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/checkout from 4 to 6 (#5)

Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump docker/setup-qemu-action from 3 to 4 (#4)

Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](docker/setup-qemu-action@v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump docker/metadata-action from 5 to 6 (#3)

Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5 to 6.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](docker/metadata-action@v5...v6)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update code-server version to 4.118.0 and enable modelrelay port in Docker configuration (#9)

* Add OmniRoute support and update Docker configuration (#10)

- Introduced OmniRoute desktop entry for application launch.
- Updated Dockerfile to install OmniRoute and adjusted Hermes and ModelRelay versions.
- Added OmniRoute specific port mapping in docker-compose.yml.
- Removed outdated config.json file.

* Add OmniRoute support and refactor Docker configuration (#11)

* Add OmniRoute support and update Docker configuration

- Introduced OmniRoute desktop entry for application launch.
- Updated Dockerfile to install OmniRoute and adjusted Hermes and ModelRelay versions.
- Added OmniRoute specific port mapping in docker-compose.yml.
- Removed outdated config.json file.

* Refactor Dockerfile and scripts for Hermes and OmniRoute setup; improve permissions handling and update desktop entries

* Bump docker/build-push-action from 6 to 7 (#12)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v6...v7)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add OmniRoute support and improve Docker configuration (#13)

* Add OmniRoute support and update Docker configuration

- Introduced OmniRoute desktop entry for application launch.
- Updated Dockerfile to install OmniRoute and adjusted Hermes and ModelRelay versions.
- Added OmniRoute specific port mapping in docker-compose.yml.
- Removed outdated config.json file.

* Refactor Dockerfile and scripts for Hermes and OmniRoute setup; improve permissions handling and update desktop entries

* Update README, Dockerfile, and configuration scripts for improved Hermes-WebTop setup

- Revise README to enhance clarity and detail about features and quick start process.
- Update OmniRoute version in Dockerfile to 3.7.9.
- Modify Hermes.desktop to ensure proper execution of the Hermes dashboard.
- Adjust docker-compose.yml to reflect correct port mapping for Hermes dashboard.
- Enhance start-4-codeserver.sh to force initialization of code-server if not found.

* Add OmniRoute support and improve Docker configuration (#14)

* Add OmniRoute support and update Docker configuration

- Introduced OmniRoute desktop entry for application launch.
- Updated Dockerfile to install OmniRoute and adjusted Hermes and ModelRelay versions.
- Added OmniRoute specific port mapping in docker-compose.yml.
- Removed outdated config.json file.

* Refactor Dockerfile and scripts for Hermes and OmniRoute setup; improve permissions handling and update desktop entries

* Update README, Dockerfile, and configuration scripts for improved Hermes-WebTop setup

- Revise README to enhance clarity and detail about features and quick start process.
- Update OmniRoute version in Dockerfile to 3.7.9.
- Modify Hermes.desktop to ensure proper execution of the Hermes dashboard.
- Adjust docker-compose.yml to reflect correct port mapping for Hermes dashboard.
- Enhance start-4-codeserver.sh to force initialization of code-server if not found.

* Refactor ownership commands in startup scripts for Hermes components

* Add script to configure Cline settings and manage global state (#15)

* Enhance start-2-cline.sh with improved logging and wait mechanism for global state file (#16)

* Fix missing newline at end of start-2-cline.sh (#17)

* Add backup and creation of secrets file in start-2-cline.sh (#18)

* Preconfig Cline (#19)

* Add installation scripts and configuration for Cline, including external dependencies

* Add global state and secrets JSON files; update start-4-codeserver.sh to copy them

* Fix ownership of .cline/data directory after installing extensions (#20)

* Turn off approval alerts in start-1-hermes.sh

Disable approval alerts in hermes configuration.

* chore: bump dependencies, enable hermes memory defaults, and increase colima resource allocation

* feat: add GitHub CLI to Docker image with architecture-specific repository configuration

* fix: correct shell syntax error by removing improper continuation character in Dockerfile

* fix: update GitHub CLI keyring filename to resolve repository installation error

* chore: upgrade Ollama to 0.30.0, automate Mnemon plugin sync, and improve Ollama service logging

* chore: downgrade OLLAMA_VERSION to 0.24.0 in Dockerfile

* feat: enable mnemon memory provider in hermes startup configuration

* chore: inject initial password environment variable into OmniRoute startup command

* fix: update mnemon plugin installation path to use pluralized directory name

* alias of new profiled agent would work

* docs: update readme title image, slogan, and feature list

* Update README to specify VSCode integration

* Revise README for Hermes-Agent and features

Updated references from 'Hermes' to 'Hermes-Agent' and added details about OmniRoute. Revised recommendations and descriptions for clarity.

* Update docker-compose.yml

else webtop does not start... need to figure out.
need this path for hermes profile to work

* Update extension and version for codeserver script

* Enhance start-5-ohmyzsh.sh to configure PATH

Check for ~/.zshrc existence and configure PATH if needed.

* Add Claude

* feat: add automated Claude VS Code settings provisioning and debug output for zsh configuration

* debug

* fix: update quoting in zshrc path configuration to ensure proper variable expansion

* fix: add logging, improve zshrc path patching, expose port 3000, and standardize script output messages

* Add log directory check for Hermes configuration

Check for empty logs directory and set up default configuration if necessary.

* Update README.md

* Update MNEMON_VERSION to 0.1.11

* refactor: standardize docker container startup scripts by removing sequence prefixes and improving initialization logic

* fix: ignore __pycache__ when checking for mnemon plugin updates

* Update dependabot.yml

* feat: add mnemon lifecycle hooks to claude-term-settings configuration

* feat: add CLAUDE.md configuration to container and update start script to copy it for session initialization

* feat: configure Claude terminal permissions, update hook paths, and inject default API key into zshrc

* feat: add .claude.json configuration and remove hardcoded API key from zshrc initialization

* Uncomment port mapping for Webtop GUI access

* Add files via upload

* Add files via upload

* Update README.md

* Revise Codespace launch instructions and images

Updated instructions for launching Codespace and accessing Hermes WebUI.

* Add files via upload

* Update README.md

* Add files via upload

* Add files via upload

* Update README.md

* Update image width in README for Codespace launch

* Update image width in README.md

Increase image width for better visibility in README.

* Update image width in README for codespace launch

* Update README.md

* Enhance README with setup and feature details

Updated README to clarify setup instructions and features.

* Update HERMES_VERSION to v2026.5.29.2

* refactor: transition initialization scripts to run as abc user and update code-server to v4.122.0

* refactor: update Makefile to include additional Docker cleanup targets so as to pull latest docker images

* Correct extension name in README

Updated extension name from 'Cline' to 'Claude' in README.

* Apply tradingview-agent fork customizations on top of upstream changes

- Rename hermes-webtop references to tradingview-agent across configs
- Add TradingView Linux Desktop installation to Dockerfile
- Add modelrelay installation/startup in post-create.sh
- Add TradingViewAgent.desktop and start-1-tradingview-agent.sh
- Update README branding for tradingview-agent
- Clean up OmniRoute password from desktop file

* bug: move Hermes service startup outside of the conditional configuration block

* feat: configure max turns and kanban failure limits in start script

* cleanup: remove duplicate numbered startup scripts superseded by upstream refactoring

The old start-2-modelrelay.sh and start-2-omniroute.sh were leftover from the
initial fork and had been superseded by start-modelrelay.sh and start-omniroute.sh
(post-refactor commits). Having both in /custom-cont-init.d/ caused double
execution at container startup (double chown, double config writes, race on
jq temp files). Removes the obsolete numbered scripts.

* fix: replace wget with curl in TradingView installation step

The base image (lscr.io/linuxserver/webtop:ubuntu-mate) does not include
wget, causing the GPG key download to silently fail. tee then creates an
empty keyring file, which makes apt-get update fail with NO_PUBKEY.

curl is already used throughout the Dockerfile (for gh, Hermes,
code-server, and mnemon installs), so this is the correct tool for the
job. Using curl -fsSL is also more robust (handles redirects, fails on
non-200).

* feat: enhance disk space management in Docker build process

* feat: add firefox installation to Dockerfile for TradingView Login

* fix: update Docker image URI to correct repository for tradingview-agent

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: gitricko <gitricko@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gitricko <18060558+gitricko@users.noreply.github.com>
Co-authored-by: fredrickchew <fredrick.chew@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: iamzycao-png <iamzycao@gmail.com>
Co-authored-by: gitricko <gitricko@gitricko>
Co-authored-by: intricko <intricko@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants