Compare commits

...

6 Commits

Author SHA1 Message Date
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
Ivan
6b3713e58f flatpak 2025-05-11 14:56:33 -05:00
7 changed files with 68 additions and 17 deletions

View File

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

View File

@@ -1,4 +1,6 @@
# Ivans Fork Edition # Ivans Custom Fork Edition
highly experimental and customized, only use if you live on the edge.
## Changes ## Changes
@@ -8,7 +10,7 @@
- Alpine Image Variants. - Alpine Image Variants.
- Updated Dependencies. - Updated Dependencies.
- Dark mode by default. - Dark mode by default.
- Python 3.13 and Node 20. - Python 3.13 and Node 22.
- Ruff formatting and fixes. - Ruff formatting and fixes.
## Security ## Security

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "reticulum-meshchat", "name": "reticulum-meshchat",
"version": "1.22.2", "version": "1.23.1",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "reticulum-meshchat", "name": "reticulum-meshchat",
"version": "1.22.2", "version": "1.23.1",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@mdi/js": "^7.4.47", "@mdi/js": "^7.4.47",

View File

@@ -1,6 +1,6 @@
{ {
"name": "reticulum-meshchat", "name": "reticulum-meshchat",
"version": "1.22.2", "version": "1.24.0",
"description": "", "description": "",
"main": "electron/main.js", "main": "electron/main.js",
"scripts": { "scripts": {
@@ -70,7 +70,11 @@
}, },
"linux": { "linux": {
"artifactName": "ReticulumMeshChat-v${version}-${os}.${ext}", "artifactName": "ReticulumMeshChat-v${version}-${os}.${ext}",
"target": "AppImage", "target": [
"AppImage"
],
"category": "Network",
"icon": "electron/build/icon.png",
"extraFiles": [ "extraFiles": [
{ {
"from": "build/exe", "from": "build/exe",

34
poetry.lock generated Normal file
View File

@@ -0,0 +1,34 @@
# This file is automatically @generated by Poetry 2.1.2 and should not be changed by hand.
[[package]]
name = "ruff"
version = "0.11.9"
description = "An extremely fast Python linter and code formatter, written in Rust."
optional = false
python-versions = ">=3.7"
groups = ["dev"]
files = [
{file = "ruff-0.11.9-py3-none-linux_armv6l.whl", hash = "sha256:a31a1d143a5e6f499d1fb480f8e1e780b4dfdd580f86e05e87b835d22c5c6f8c"},
{file = "ruff-0.11.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:66bc18ca783b97186a1f3100e91e492615767ae0a3be584e1266aa9051990722"},
{file = "ruff-0.11.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:bd576cd06962825de8aece49f28707662ada6a1ff2db848d1348e12c580acbf1"},
{file = "ruff-0.11.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b1d18b4be8182cc6fddf859ce432cc9631556e9f371ada52f3eaefc10d878de"},
{file = "ruff-0.11.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0f3f46f759ac623e94824b1e5a687a0df5cd7f5b00718ff9c24f0a894a683be7"},
{file = "ruff-0.11.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f34847eea11932d97b521450cf3e1d17863cfa5a94f21a056b93fb86f3f3dba2"},
{file = "ruff-0.11.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:f33b15e00435773df97cddcd263578aa83af996b913721d86f47f4e0ee0ff271"},
{file = "ruff-0.11.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7b27613a683b086f2aca8996f63cb3dd7bc49e6eccf590563221f7b43ded3f65"},
{file = "ruff-0.11.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e0d88756e63e8302e630cee3ce2ffb77859797cc84a830a24473939e6da3ca6"},
{file = "ruff-0.11.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:537c82c9829d7811e3aa680205f94c81a2958a122ac391c0eb60336ace741a70"},
{file = "ruff-0.11.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:440ac6a7029f3dee7d46ab7de6f54b19e34c2b090bb4f2480d0a2d635228f381"},
{file = "ruff-0.11.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:71c539bac63d0788a30227ed4d43b81353c89437d355fdc52e0cda4ce5651787"},
{file = "ruff-0.11.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:c67117bc82457e4501473c5f5217d49d9222a360794bfb63968e09e70f340abd"},
{file = "ruff-0.11.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e4b78454f97aa454586e8a5557facb40d683e74246c97372af3c2d76901d697b"},
{file = "ruff-0.11.9-py3-none-win32.whl", hash = "sha256:7fe1bc950e7d7b42caaee2a8a3bc27410547cc032c9558ee2e0f6d3b209e845a"},
{file = "ruff-0.11.9-py3-none-win_amd64.whl", hash = "sha256:52edaa4a6d70f8180343a5b7f030c7edd36ad180c9f4d224959c2d689962d964"},
{file = "ruff-0.11.9-py3-none-win_arm64.whl", hash = "sha256:bcf42689c22f2e240f496d0c183ef2c6f7b35e809f12c1db58f75d9aa8d630ca"},
{file = "ruff-0.11.9.tar.gz", hash = "sha256:ebd58d4f67a00afb3a30bf7d383e52d0e036e6195143c6db7019604a05335517"},
]
[metadata]
lock-version = "2.1"
python-versions = ">=3.13"
content-hash = "905709f505f867b18d0134c85302f436c08efba1f5010d10245fce49cac80fce"

20
pyproject.toml Normal file
View File

@@ -0,0 +1,20 @@
[project]
name = "reticulum-meshchat"
version = "0.1.0"
description = ""
authors = [
{name = "Ivan"}
]
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
]
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.group.dev.dependencies]
ruff = "^0.11.9"

View File

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