15 Commits

Author SHA1 Message Date
mguschin
218b1be0dd Revert "Remove obsolete xmpp.guschin.info cert references."
This reverts commit 29bfdd417c.
2026-05-10 13:21:07 +03:00
mguschin
29bfdd417c Remove obsolete xmpp.guschin.info cert references.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 13:19:08 +03:00
mguschin
4236bd38e4 Use multi-SAN guschin.info cert for all hosts and components.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 13:07:40 +03:00
mguschin
5a5c5021a3 Expose HTTPS port for file uploads.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 13:01:49 +03:00
mguschin
857ddc48b9 Allow guschin.info users to upload files.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 12:59:04 +03:00
mguschin
9673cd78a3 Fix prosody config. 2026-04-29 21:56:24 +03:00
mguschin
93f32ec3be Fix sligram config. 2026-04-29 21:53:14 +03:00
mguschin
eddb4b3531 Fix prosody conf. 2026-04-29 21:45:21 +03:00
mguschin
bb7596ffdd Fix prosody config. 2026-04-29 21:42:55 +03:00
mguschin
034a12c0fd Fix docker compose. 2026-04-29 21:38:37 +03:00
mguschin
36751f5229 Fix docker compose. 2026-04-29 20:59:12 +03:00
mguschin
e207af3ca6 Fix sligram image path. 2026-04-29 20:22:35 +03:00
mguschin
6feff1c7e6 Tg bridge. 2026-04-29 20:09:17 +03:00
mguschin
2d86df749b chore: release v0.1.1 2026-03-23 14:57:12 +03:00
mguschin
e78b3474cd fix: fix shell substitution in release-new command context 2026-03-23 14:56:36 +03:00
6 changed files with 75 additions and 4 deletions

View File

@@ -7,7 +7,7 @@ description: Create a new semver release. Usage: /release-new [major|minor|patch
- Current latest tag: !`git describe --tags --abbrev=0 2>/dev/null || echo "none"`
- Current branch: !`git branch --show-current`
- Unreleased commits: !`git log $(git describe --tags --abbrev=0 2>/dev/null || echo "")..HEAD --oneline 2>/dev/null || git log --oneline`
- Unreleased commits: !`git log --oneline -20`
## Your task

2
.gitignore vendored
View File

@@ -1,2 +1,4 @@
.env
data/prosody/certs
web-sites
logs

View File

@@ -2,6 +2,12 @@
All notable changes to this project will be documented in this file.
## [0.1.1] - 2026-03-23
### Bug Fixes
- Fix: fix shell substitution in release-new command context
## [0.1.0] - 2026-03-23
### Bug Fixes
@@ -82,4 +88,8 @@ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
### Miscellaneous Tasks
- Chore: release v0.1.0

View File

@@ -4,6 +4,7 @@ FROM debian:bookworm-slim
RUN apt-get update --fix-missing && \
apt-get install -y --no-install-recommends \
prosody \
prosody-modules \
lua-dbi-mysql \
lua-sec \
lua-unbound \

View File

@@ -3,6 +3,8 @@
admins = { "admin@guschin.info", "admin@xmpp.guschin.info" }
plugin_paths = { "/usr/lib/prosody/modules" }
modules_enabled = {
-- Generally required
"roster";
@@ -25,6 +27,10 @@ modules_enabled = {
-- Admin interface
"admin_adhoc";
-- Gateway support
"privilege";
"http_file_share";
};
modules_disabled = {
@@ -53,6 +59,7 @@ sql = {
c2s_ports = { 5222 }
s2s_ports = { 5269 }
component_ports = { 5347 }
component_interface = "0.0.0.0"
http_ports = { 5280 }
https_ports = { 5281 }
@@ -75,15 +82,46 @@ VirtualHost "guschin.info"
key = "/etc/prosody/certs/guschin.info.key";
certificate = "/etc/prosody/certs/guschin.info.crt";
}
privileged_entities = {
["telegram.guschin.info"] = {
roster = "both"; -- auto add/remove Telegram contacts from roster
message = "outgoing"; -- reflect messages sent via official Telegram apps
iq = {
["http://jabber.org/protocol/pubsub"] = "both"; -- PEP bookmarks
["http://jabber.org/protocol/pubsub#owner"] = "set"; -- message display sync
["urn:xmpp:http:upload:0"] = "get"; -- upload on behalf of users
};
};
}
-- Secondary virtual host (user@xmpp.guschin.info)
VirtualHost "xmpp.guschin.info"
ssl = {
key = "/etc/prosody/certs/xmpp.guschin.info.key";
certificate = "/etc/prosody/certs/xmpp.guschin.info.crt";
key = "/etc/prosody/certs/guschin.info.key";
certificate = "/etc/prosody/certs/guschin.info.crt";
}
-- Component for MUC (Multi-User Chat)
Component "muc.guschin.info" "muc"
modules_enabled = { "muc_mam" }
storage = "sql"
ssl = {
key = "/etc/prosody/certs/guschin.info.key";
certificate = "/etc/prosody/certs/guschin.info.crt";
}
-- HTTP file upload (XEP-0363) — used by slidgram for Telegram→XMPP attachments
Component "upload.guschin.info" "http_file_share"
http_file_share_access = { "telegram.guschin.info", "guschin.info", "xmpp.guschin.info" }
ssl = {
key = "/etc/prosody/certs/guschin.info.key";
certificate = "/etc/prosody/certs/guschin.info.crt";
}
-- Telegram gateway (slidgram)
Component "telegram.guschin.info"
component_secret = os.getenv("SLIDGRAM_COMPONENT_SECRET")
ssl = {
key = "/etc/prosody/certs/guschin.info.key";
certificate = "/etc/prosody/certs/guschin.info.crt";
}

View File

@@ -12,13 +12,14 @@ services:
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
SLIDGRAM_COMPONENT_SECRET: ${SLIDGRAM_COMPONENT_SECRET}
extra_hosts:
- "host.docker.internal:172.17.0.1"
ports:
- "5222:5222"
- "5269:5269"
- "5347:5347"
- "5280:5280"
- "5281:5281"
volumes:
- ./data/prosody:/var/lib/prosody
- ./logs/prosody:/var/log/prosody
@@ -38,6 +39,25 @@ services:
networks:
- prosody
slidgram:
image: codeberg.org/slidge/slidgram:latest
container_name: slidgram
user: "100:102"
environment:
SLIDGE_JID: telegram.guschin.info
SLIDGE_SECRET: ${SLIDGRAM_COMPONENT_SECRET}
SLIDGE_SERVER: prosody-xmpp
SLIDGE_PORT: 5347
SLIDGE_UPLOAD_SERVICE: upload.guschin.info
volumes:
- ./data/slidgram:/var/lib/slidge
restart: unless-stopped
depends_on:
prosody:
condition: service_healthy
networks:
- prosody
networks:
prosody:
driver: bridge