Compare commits

..

6 Commits

Author SHA1 Message Date
6364f37247 Update package versions and dependencies 2025-07-15 12:30:44 -05:00
Sudo-Ivan
c9c2fdfae4 update 2025-05-15 15:40:03 -05:00
Sudo-Ivan
85d1f71b0e update lxmf 2025-05-13 22:17:15 -05:00
Sudo-Ivan
b2ca3f25f6 cleanup 2025-05-13 22:17:11 -05:00
Ivan
8dd0e468f0 update 2025-05-11 16:08:28 -05:00
Ivan
2318672a75 remove flatpak 2025-05-11 16:08:09 -05:00
9 changed files with 416 additions and 477 deletions

View File

@@ -4,13 +4,6 @@ on:
push:
tags:
- "*"
workflow_dispatch:
inputs:
retry_failed:
description: 'Retry failed jobs'
required: false
type: boolean
default: false
jobs:
build_windows:
@@ -116,12 +109,6 @@ jobs:
- name: Build Electron App
run: npm run dist
- name: Upload Flatpak Artifact
uses: actions/upload-artifact@v4
with:
name: flatpak
path: dist/*.flatpak
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1

View File

@@ -1,26 +1,21 @@
# Build the frontend
FROM node:22-alpine AS build-frontend
FROM node:23-alpine AS build-frontend
WORKDIR /src
# Copy required source files
COPY --chown=node:node *.json .
COPY --chown=node:node *.js .
COPY --chown=node:node src/frontend ./src/frontend
# Fix permissions and install NodeJS deps
USER root
RUN chown -R node:node /src
USER node
RUN npm install --omit=dev && \
npm run build-frontend
# Main app build
FROM python:3.13-alpine
WORKDIR /app
# Install system dependencies
RUN apk add --no-cache \
gcc \
musl-dev \
@@ -28,19 +23,15 @@ RUN apk add --no-cache \
libffi-dev \
openssl-dev
# Create config directories with proper permissions
RUN mkdir -p /config/.reticulum /config/.meshchat && \
chown -R 1000:1000 /config
# Install Python deps
COPY --chown=1000:1000 ./requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Create public directory and copy frontend
RUN mkdir -p /app/public
COPY --from=build-frontend --chown=1000:1000 /src/public/ /app/public/
# Copy other required source files
COPY --chown=1000:1000 *.py .
COPY --chown=1000:1000 src/__init__.py ./src/__init__.py
COPY --chown=1000:1000 src/backend ./src/backend

View File

@@ -4,15 +4,13 @@ highly experimental and customized, only use if you live on the edge.
## Changes
- Drop unnecassary permissions (compose)
- Rootless (user 1000:1000)
- Resource Limits (compose)
- Alpine Image Variants.
- Updated Dependencies.
- Drop unnecassary permissions (docker compose)
- Rootless Docker (user 1000:1000)
- Resource Limits (docker compose)
- Alpine Image Variants for Dockerfile.
- Dark mode by default.
- Python 3.13 and Node 20.
- Python 3.13 and Node 23.
- Ruff formatting and fixes.
- Flatpak support. (WIP)
## Security

View File

@@ -1,8 +0,0 @@
[Desktop Entry]
Name=Reticulum MeshChat
Comment=Decentralized chat over Reticulum networks
Exec=reticulum-meshchat
Icon=icon
Terminal=false
Type=Application
Categories=Network;Chat;

View File

@@ -1,28 +0,0 @@
{
"app-id": "com.liamcottle.reticulummeshchat",
"runtime": "org.freedesktop.Platform",
"runtime-version": "23.08",
"sdk": "org.freedesktop.Sdk",
"command": "reticulum-meshchat",
"finish-args": [
"--share=network",
"--socket=x11",
"--socket=wayland",
"--device=all"
],
"modules": [
{
"name": "reticulum-meshchat",
"buildsystem": "simple",
"build-commands": [
"install -Dm755 dist/ReticulumMeshChat-v$FLATPAK_APP_VERSION-linux.AppImage /app/bin/reticulum-meshchat"
],
"sources": [
{
"type": "file",
"path": "dist/ReticulumMeshChat-v$FLATPAK_APP_VERSION-linux.AppImage"
}
]
}
]
}

800
package-lock.json generated
View File

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "reticulum-meshchat",
"version": "1.23.2",
"version": "2.0.0",
"description": "",
"main": "electron/main.js",
"scripts": {
@@ -14,7 +14,7 @@
},
"license": "MIT",
"engines": {
"node": ">=22"
"node": ">=23"
},
"devDependencies": {
"electron": "^30.0.8",
@@ -71,8 +71,7 @@
"linux": {
"artifactName": "ReticulumMeshChat-v${version}-${os}.${ext}",
"target": [
"AppImage",
"flatpak"
"AppImage"
],
"category": "Network",
"icon": "electron/build/icon.png",
@@ -96,14 +95,6 @@
"artifactName": "ReticulumMeshChat-v${version}-${os}-installer.${ext}",
"oneClick": false,
"allowToChangeInstallationDirectory": true
},
"flatpak": {
"finishArgs": [
"--share=network",
"--socket=x11",
"--socket=wayland",
"--device=all"
]
}
},
"dependencies": {

View File

@@ -1,6 +1,6 @@
aiohttp>=3.11.18
cx_freeze>=7.0.0
lxmf>=0.6.3
lxmf>=0.8.0
peewee>=3.18.1
rns>=0.9.5
rns>=1.0.0
websockets>=15.0.1

View File

@@ -2,7 +2,7 @@ from cx_Freeze import setup, Executable
setup(
name="ReticulumMeshChat",
version="1.0.0",
version="2.0.0",
description="A simple mesh network communications app powered by the Reticulum Network Stack",
executables=[
Executable(