Update for PR submission

This commit is contained in:
Neil G7UFO
2024-12-17 13:14:47 +00:00
parent bfd065a8f9
commit 7c0fe0618f
2 changed files with 126 additions and 108 deletions

View File

@@ -2,123 +2,123 @@ name: Build and Release
on:
push:
# tags:
# - '*'
tags:
- "*"
jobs:
# build_windows:
# runs-on: windows-latest
# permissions:
# contents: write
# steps:
# - name: Clone Repo
# uses: actions/checkout@v1
build_windows:
runs-on: windows-latest
permissions:
contents: write
steps:
- name: Clone Repo
uses: actions/checkout@v1
# - name: Install NodeJS
# uses: actions/setup-node@v1
# with:
# node-version: 18
- name: Install NodeJS
uses: actions/setup-node@v1
with:
node-version: 18
# - name: Install Python
# uses: actions/setup-python@v5
# with:
# python-version: '3.11'
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
# - name: Install Python Deps
# run: pip install -r requirements.txt
- name: Install Python Deps
run: pip install -r requirements.txt
# - name: Install NodeJS Deps
# run: npm install
- name: Install NodeJS Deps
run: npm install
# - name: Build Electron App
# run: npm run dist
- name: Build Electron App
run: npm run dist
# - name: Create Release
# id: create_release
# uses: ncipollo/release-action@v1
# with:
# draft: true
# allowUpdates: true
# replacesArtifacts: true
# omitDraftDuringUpdate: true
# omitNameDuringUpdate: true
# artifacts: "dist/*-win-installer.exe,dist/*-win-portable.exe"
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
with:
draft: true
allowUpdates: true
replacesArtifacts: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
artifacts: "dist/*-win-installer.exe,dist/*-win-portable.exe"
# build_mac:
# runs-on: macos-13
# permissions:
# contents: write
# steps:
# - name: Clone Repo
# uses: actions/checkout@v1
build_mac:
runs-on: macos-13
permissions:
contents: write
steps:
- name: Clone Repo
uses: actions/checkout@v1
# - name: Install NodeJS
# uses: actions/setup-node@v1
# with:
# node-version: 18
- name: Install NodeJS
uses: actions/setup-node@v1
with:
node-version: 18
# - name: Install Python
# uses: actions/setup-python@v5
# with:
# python-version: '3.11'
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
# - name: Install Python Deps
# run: pip install -r requirements.txt
- name: Install Python Deps
run: pip install -r requirements.txt
# - name: Install NodeJS Deps
# run: npm install
- name: Install NodeJS Deps
run: npm install
# - name: Build Electron App
# run: npm run dist
- name: Build Electron App
run: npm run dist
# - name: Create Release
# id: create_release
# uses: ncipollo/release-action@v1
# with:
# draft: true
# allowUpdates: true
# replacesArtifacts: true
# omitDraftDuringUpdate: true
# omitNameDuringUpdate: true
# artifacts: "dist/*-mac.dmg"
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
with:
draft: true
allowUpdates: true
replacesArtifacts: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
artifacts: "dist/*-mac.dmg"
# build_linux:
# runs-on: ubuntu-latest
# permissions:
# contents: write
# steps:
# - name: Clone Repo
# uses: actions/checkout@v1
build_linux:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Clone Repo
uses: actions/checkout@v1
# - name: Install NodeJS
# uses: actions/setup-node@v1
# with:
# node-version: 18
- name: Install NodeJS
uses: actions/setup-node@v1
with:
node-version: 18
# - name: Install Python
# uses: actions/setup-python@v5
# with:
# python-version: '3.11'
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
# - name: Install Python Deps
# run: pip install -r requirements.txt
- name: Install Python Deps
run: pip install -r requirements.txt
# - name: Install NodeJS Deps
# run: npm install
- name: Install NodeJS Deps
run: npm install
# - name: Build Electron App
# run: npm run dist
- name: Build Electron App
run: npm run dist
# - name: Create Release
# id: create_release
# uses: ncipollo/release-action@v1
# with:
# draft: true
# allowUpdates: true
# replacesArtifacts: true
# omitDraftDuringUpdate: true
# omitNameDuringUpdate: true
# artifacts: "dist/*-linux.AppImage"
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
with:
draft: true
allowUpdates: true
replacesArtifacts: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
artifacts: "dist/*-linux.AppImage"
build_docker:
runs-on: ubuntu-latest
@@ -149,9 +149,9 @@ jobs:
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/g7ufo/reticulum-meshchat:latest
ghcr.io/g7ufo/reticulum-meshchat:${{ github.ref_name }}
ghcr.io/liamcottle/reticulum-meshchat:latest
ghcr.io/liamcottle/reticulum-meshchat:${{ github.ref_name }}
labels: |
org.opencontainers.image.title=Reticulum MeshChat
org.opencontainers.image.description=Docker image for Reticulum MeshChat
org.opencontainers.image.url=https://github.com/g7ufo/reticulum-meshchat/pkgs/container/reticulum-meshchat/
org.opencontainers.image.url=https://github.com/liamcottle/reticulum-meshchat/pkgs/container/reticulum-meshchat/

View File

@@ -280,43 +280,61 @@ Once completed, you should have a `.exe` or a `.dmg` in the `dist` folder.
## Running via Docker
A very simple example of a `docker-compose.yml` file, generating and storing conifg in a volume would look like this:
A very simple example of a `docker-compose.yml` file, generating and passing the .reticulum directory to the container:
```yaml
services:
reticulum-meshchat:
container_name: reticulum-meshchat
image: ghcr.io/g7ufo/reticulum-meshchat:latest
image: ghcr.io/liamcottle/reticulum-meshchat:latest
pull_policy: always
restart: unless-stopped
ports:
- 8000:8000
volumes:
reticulum-config:/config
.reticulum:/config/.reticulum
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
volumes:
reticulum-config:
```
By default the container will run `python meshchat.py --host=0.0.0.0 --reticulum-config-dir=/config/.reticulum --headless`. This can be overridden (for example to use an existing conifg) like:
To make the web interface accessible from the host, you will need to include the IP (or `0.0.0.0` for all) in the `ports` command, for example:
```yaml
services:
reticulum-meshchat:
container_name: reticulum-meshchat
image: ghcr.io/g7ufo/reticulum-meshchat:latest
image: ghcr.io/liamcottle/reticulum-meshchat:latest
pull_policy: always
restart: unless-stopped
ports:
- 0.0.0.0:8000:8000
volumes:
.reticulum:/config/.reticulum
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
```
By default the container will run `python meshchat.py --host=0.0.0.0 --reticulum-config-dir=/config/.reticulum --headless`. This can be overridden like:
```yaml
services:
reticulum-meshchat:
container_name: reticulum-meshchat
image: ghcr.io/liamcottle/reticulum-meshchat:latest
pull_policy: always
command:
- python
- meshchat.py
- --host=0.0.0.0
- --reticulum-config-dir=/a_different_path/.reticulum
- --reticulum-config-dir=/maybe-a-different-path/.reticulum
- --headless
- --some-other-argument
- --and-another-argument
restart: unless-stopped
ports:
- 8000:8000
volumes:
.reticulum:/a_different_path/.reticulum
.reticulum:/maybe-a-different-path/.reticulum
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
```