mirror of
https://github.com/liamcottle/reticulum-meshchat.git
synced 2026-04-27 16:10:32 +00:00
Update for PR submission
This commit is contained in:
parent
bfd065a8f9
commit
7c0fe0618f
2 changed files with 145 additions and 127 deletions
196
.github/workflows/build.yml
vendored
196
.github/workflows/build.yml
vendored
|
|
@ -2,123 +2,123 @@ name: Build and Release
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
# tags:
|
tags:
|
||||||
# - '*'
|
- "*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# build_windows:
|
build_windows:
|
||||||
# runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
# permissions:
|
permissions:
|
||||||
# contents: write
|
contents: write
|
||||||
# steps:
|
steps:
|
||||||
# - name: Clone Repo
|
- name: Clone Repo
|
||||||
# uses: actions/checkout@v1
|
uses: actions/checkout@v1
|
||||||
|
|
||||||
# - name: Install NodeJS
|
- name: Install NodeJS
|
||||||
# uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
# with:
|
with:
|
||||||
# node-version: 18
|
node-version: 18
|
||||||
|
|
||||||
# - name: Install Python
|
- name: Install Python
|
||||||
# uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
# with:
|
with:
|
||||||
# python-version: '3.11'
|
python-version: "3.11"
|
||||||
|
|
||||||
# - name: Install Python Deps
|
- name: Install Python Deps
|
||||||
# run: pip install -r requirements.txt
|
run: pip install -r requirements.txt
|
||||||
|
|
||||||
# - name: Install NodeJS Deps
|
- name: Install NodeJS Deps
|
||||||
# run: npm install
|
run: npm install
|
||||||
|
|
||||||
# - name: Build Electron App
|
- name: Build Electron App
|
||||||
# run: npm run dist
|
run: npm run dist
|
||||||
|
|
||||||
# - name: Create Release
|
- name: Create Release
|
||||||
# id: create_release
|
id: create_release
|
||||||
# uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
# with:
|
with:
|
||||||
# draft: true
|
draft: true
|
||||||
# allowUpdates: true
|
allowUpdates: true
|
||||||
# replacesArtifacts: true
|
replacesArtifacts: true
|
||||||
# omitDraftDuringUpdate: true
|
omitDraftDuringUpdate: true
|
||||||
# omitNameDuringUpdate: true
|
omitNameDuringUpdate: true
|
||||||
# artifacts: "dist/*-win-installer.exe,dist/*-win-portable.exe"
|
artifacts: "dist/*-win-installer.exe,dist/*-win-portable.exe"
|
||||||
|
|
||||||
# build_mac:
|
build_mac:
|
||||||
# runs-on: macos-13
|
runs-on: macos-13
|
||||||
# permissions:
|
permissions:
|
||||||
# contents: write
|
contents: write
|
||||||
# steps:
|
steps:
|
||||||
# - name: Clone Repo
|
- name: Clone Repo
|
||||||
# uses: actions/checkout@v1
|
uses: actions/checkout@v1
|
||||||
|
|
||||||
# - name: Install NodeJS
|
- name: Install NodeJS
|
||||||
# uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
# with:
|
with:
|
||||||
# node-version: 18
|
node-version: 18
|
||||||
|
|
||||||
# - name: Install Python
|
- name: Install Python
|
||||||
# uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
# with:
|
with:
|
||||||
# python-version: '3.11'
|
python-version: "3.11"
|
||||||
|
|
||||||
# - name: Install Python Deps
|
- name: Install Python Deps
|
||||||
# run: pip install -r requirements.txt
|
run: pip install -r requirements.txt
|
||||||
|
|
||||||
# - name: Install NodeJS Deps
|
- name: Install NodeJS Deps
|
||||||
# run: npm install
|
run: npm install
|
||||||
|
|
||||||
# - name: Build Electron App
|
- name: Build Electron App
|
||||||
# run: npm run dist
|
run: npm run dist
|
||||||
|
|
||||||
# - name: Create Release
|
- name: Create Release
|
||||||
# id: create_release
|
id: create_release
|
||||||
# uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
# with:
|
with:
|
||||||
# draft: true
|
draft: true
|
||||||
# allowUpdates: true
|
allowUpdates: true
|
||||||
# replacesArtifacts: true
|
replacesArtifacts: true
|
||||||
# omitDraftDuringUpdate: true
|
omitDraftDuringUpdate: true
|
||||||
# omitNameDuringUpdate: true
|
omitNameDuringUpdate: true
|
||||||
# artifacts: "dist/*-mac.dmg"
|
artifacts: "dist/*-mac.dmg"
|
||||||
|
|
||||||
# build_linux:
|
build_linux:
|
||||||
# runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# permissions:
|
permissions:
|
||||||
# contents: write
|
contents: write
|
||||||
# steps:
|
steps:
|
||||||
# - name: Clone Repo
|
- name: Clone Repo
|
||||||
# uses: actions/checkout@v1
|
uses: actions/checkout@v1
|
||||||
|
|
||||||
# - name: Install NodeJS
|
- name: Install NodeJS
|
||||||
# uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
# with:
|
with:
|
||||||
# node-version: 18
|
node-version: 18
|
||||||
|
|
||||||
# - name: Install Python
|
- name: Install Python
|
||||||
# uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
# with:
|
with:
|
||||||
# python-version: '3.11'
|
python-version: "3.11"
|
||||||
|
|
||||||
# - name: Install Python Deps
|
- name: Install Python Deps
|
||||||
# run: pip install -r requirements.txt
|
run: pip install -r requirements.txt
|
||||||
|
|
||||||
# - name: Install NodeJS Deps
|
- name: Install NodeJS Deps
|
||||||
# run: npm install
|
run: npm install
|
||||||
|
|
||||||
# - name: Build Electron App
|
- name: Build Electron App
|
||||||
# run: npm run dist
|
run: npm run dist
|
||||||
|
|
||||||
# - name: Create Release
|
- name: Create Release
|
||||||
# id: create_release
|
id: create_release
|
||||||
# uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
# with:
|
with:
|
||||||
# draft: true
|
draft: true
|
||||||
# allowUpdates: true
|
allowUpdates: true
|
||||||
# replacesArtifacts: true
|
replacesArtifacts: true
|
||||||
# omitDraftDuringUpdate: true
|
omitDraftDuringUpdate: true
|
||||||
# omitNameDuringUpdate: true
|
omitNameDuringUpdate: true
|
||||||
# artifacts: "dist/*-linux.AppImage"
|
artifacts: "dist/*-linux.AppImage"
|
||||||
|
|
||||||
build_docker:
|
build_docker:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -149,9 +149,9 @@ jobs:
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/g7ufo/reticulum-meshchat:latest
|
ghcr.io/liamcottle/reticulum-meshchat:latest
|
||||||
ghcr.io/g7ufo/reticulum-meshchat:${{ github.ref_name }}
|
ghcr.io/liamcottle/reticulum-meshchat:${{ github.ref_name }}
|
||||||
labels: |
|
labels: |
|
||||||
org.opencontainers.image.title=Reticulum MeshChat
|
org.opencontainers.image.title=Reticulum MeshChat
|
||||||
org.opencontainers.image.description=Docker image for 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/
|
||||||
|
|
|
||||||
38
README.md
38
README.md
|
|
@ -280,43 +280,61 @@ Once completed, you should have a `.exe` or a `.dmg` in the `dist` folder.
|
||||||
|
|
||||||
## Running via Docker
|
## 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
|
```yaml
|
||||||
services:
|
services:
|
||||||
reticulum-meshchat:
|
reticulum-meshchat:
|
||||||
container_name: 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
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- 8000:8000
|
- 8000:8000
|
||||||
volumes:
|
volumes:
|
||||||
reticulum-config:/config
|
.reticulum:/config/.reticulum
|
||||||
devices:
|
devices:
|
||||||
- /dev/ttyUSB0:/dev/ttyUSB0
|
- /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
|
```yaml
|
||||||
services:
|
services:
|
||||||
reticulum-meshchat:
|
reticulum-meshchat:
|
||||||
container_name: 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:
|
command:
|
||||||
- python
|
- python
|
||||||
- meshchat.py
|
- meshchat.py
|
||||||
- --host=0.0.0.0
|
- --host=0.0.0.0
|
||||||
- --reticulum-config-dir=/a_different_path/.reticulum
|
- --reticulum-config-dir=/maybe-a-different-path/.reticulum
|
||||||
- --headless
|
- --headless
|
||||||
|
- --some-other-argument
|
||||||
|
- --and-another-argument
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- 8000:8000
|
- 8000:8000
|
||||||
volumes:
|
volumes:
|
||||||
.reticulum:/a_different_path/.reticulum
|
.reticulum:/maybe-a-different-path/.reticulum
|
||||||
devices:
|
devices:
|
||||||
- /dev/ttyUSB0:/dev/ttyUSB0
|
- /dev/ttyUSB0:/dev/ttyUSB0
|
||||||
```
|
```
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue