mirror of
https://github.com/lone-cloud/prism
synced 2026-06-03 19:54:44 -07:00
release 0.1.2, renamed sup-server -> sup
This commit is contained in:
parent
bd988ec7f0
commit
40630a6dee
8 changed files with 37 additions and 20 deletions
2
.github/workflows/docker.yml
vendored
2
.github/workflows/docker.yml
vendored
|
|
@ -7,7 +7,7 @@ on:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
REGISTRY: ghcr.io
|
REGISTRY: ghcr.io
|
||||||
IMAGE_NAME: ${{ github.repository_owner }}/sup-server
|
IMAGE_NAME: ${{ github.repository_owner }}/sup
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
|
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1,4 +1,4 @@
|
||||||
node_modules/
|
node_modules/
|
||||||
signal-cli
|
signal-cli
|
||||||
.env
|
.env
|
||||||
sup-server
|
sup
|
||||||
|
|
|
||||||
|
|
@ -188,7 +188,7 @@ For API-based monitoring, call `/api/health` which returns JSON:
|
||||||
|
|
||||||
SUP consists of two services that **MUST run together on the same machine**:
|
SUP consists of two services that **MUST run together on the same machine**:
|
||||||
|
|
||||||
- **sup-server** (Bun): Receives webhooks, sends Signal messages via signal-cli. Optional: monitors Proton Mail IMAP
|
- **sup** (Bun): Receives webhooks, sends Signal messages via signal-cli. Optional: monitors Proton Mail IMAP
|
||||||
- **protonmail-bridge** (Official Proton, optional): Decrypts Proton Mail emails, runs local IMAP server
|
- **protonmail-bridge** (Official Proton, optional): Decrypts Proton Mail emails, runs local IMAP server
|
||||||
|
|
||||||
All services communicate over a private Docker network with no external exposure except Signal protocol. **Separating these services across multiple machines would expose plaintext IMAP traffic and compromise security.**
|
All services communicate over a private Docker network with no external exposure except Signal protocol. **Separating these services across multiple machines would expose plaintext IMAP traffic and compromise security.**
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
services:
|
services:
|
||||||
server:
|
server:
|
||||||
image: ghcr.io/lone-cloud/sup-server:latest
|
image: ghcr.io/lone-cloud/sup:latest
|
||||||
ports:
|
ports:
|
||||||
- '8080:8080'
|
- '8080:8080'
|
||||||
environment:
|
environment:
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "sup",
|
"name": "sup",
|
||||||
"version": "0.1.2",
|
"version": "0.1.3",
|
||||||
"description": "Privacy-preserving push notifications using Signal as transport",
|
"description": "Privacy-preserving push notifications using Signal as transport",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"postinstall": "bun run scripts/install-signal-cli.ts || true",
|
"postinstall": "bun run scripts/install-signal-cli.ts || true",
|
||||||
"start": "bun run server/index.ts",
|
"start": "bun run server/index.ts",
|
||||||
"build": "bun build --compile server/index.ts --outfile server/sup-server",
|
"build": "bun build --compile server/index.ts --outfile server/sup",
|
||||||
"check": "tsc --noEmit && biome check .",
|
"check": "tsc --noEmit && biome check .",
|
||||||
"fix": "biome check --write --unsafe .",
|
"fix": "biome check --write --unsafe .",
|
||||||
"release": "bun run scripts/release.ts"
|
"release": "bun run scripts/release.ts"
|
||||||
|
|
|
||||||
|
|
@ -21,19 +21,36 @@ try {
|
||||||
console.log(`Pushing tag to trigger CI build...`);
|
console.log(`Pushing tag to trigger CI build...`);
|
||||||
await $`git push origin ${version}`;
|
await $`git push origin ${version}`;
|
||||||
|
|
||||||
|
console.log(`\nCreating GitHub release...`);
|
||||||
|
await $`gh release create ${version} --title ${version} --notes "## Docker Images
|
||||||
|
|
||||||
|
Pull the latest version:
|
||||||
|
\`\`\`bash
|
||||||
|
docker pull ghcr.io/lone-cloud/sup:${version}
|
||||||
|
\`\`\`
|
||||||
|
|
||||||
|
Or use in your \`docker-compose.yml\`:
|
||||||
|
\`\`\`yaml
|
||||||
|
services:
|
||||||
|
server:
|
||||||
|
image: ghcr.io/lone-cloud/sup:${version}
|
||||||
|
\`\`\`
|
||||||
|
|
||||||
|
### Architectures
|
||||||
|
- linux/amd64
|
||||||
|
- linux/arm64
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
See commit history for details." --generate-notes`;
|
||||||
|
|
||||||
console.log(`
|
console.log(`
|
||||||
✨ Release ${version} triggered!
|
✨ Release ${version} complete!
|
||||||
|
|
||||||
GitHub Actions will now:
|
GitHub release: https://github.com/lone-cloud/sup/releases/tag/${version}
|
||||||
1. Build Docker images
|
GitHub Actions: https://github.com/lone-cloud/sup/actions
|
||||||
2. Push to ghcr.io/lone-cloud/sup-server:${version}
|
|
||||||
3. Push to ghcr.io/lone-cloud/sup-server:latest
|
|
||||||
|
|
||||||
Watch the build:
|
Once CI completes, images will be available:
|
||||||
https://github.com/lone-cloud/sup/actions
|
docker pull ghcr.io/lone-cloud/sup:${version}
|
||||||
|
|
||||||
Once complete, images will be available:
|
|
||||||
docker pull ghcr.io/lone-cloud/sup-server:${version}
|
|
||||||
`);
|
`);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Release failed:', error);
|
console.error('Release failed:', error);
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ RUN bun install --frozen-lockfile
|
||||||
|
|
||||||
COPY server ./server
|
COPY server ./server
|
||||||
|
|
||||||
RUN bun build --compile server/index.ts --outfile sup-server
|
RUN bun build --compile server/index.ts --outfile sup
|
||||||
|
|
||||||
FROM debian:13.3-slim
|
FROM debian:13.3-slim
|
||||||
|
|
||||||
|
|
@ -34,7 +34,7 @@ RUN ARCH=$(uname -m) && \
|
||||||
rm /tmp/libsignal_jni_aarch64.so; \
|
rm /tmp/libsignal_jni_aarch64.so; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
COPY --from=builder /app/sup-server /usr/local/bin/sup-server
|
COPY --from=builder /app/sup /usr/local/bin/sup
|
||||||
COPY --from=builder /app/server/public /public
|
COPY --from=builder /app/server/public /public
|
||||||
|
|
||||||
ENV PATH="/usr/local/signal-cli/bin:${PATH}"
|
ENV PATH="/usr/local/signal-cli/bin:${PATH}"
|
||||||
|
|
@ -42,4 +42,4 @@ ENV LD_LIBRARY_PATH="/usr/local/signal-cli/lib:${LD_LIBRARY_PATH}"
|
||||||
|
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|
||||||
CMD ["sup-server"]
|
CMD ["sup"]
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ const handleHealthFragment = async () => {
|
||||||
|
|
||||||
const html = `
|
const html = `
|
||||||
<div class="status">
|
<div class="status">
|
||||||
<div class="status-item ${signalOk ? 'status-ok' : 'status-error'}">
|
<div class="status-item ${signalOk && linked ? 'status-ok' : 'status-error'}">
|
||||||
Signal: ${signalOk ? 'Connected' : 'Disconnected'} and ${linked ? 'Linked' : 'Unlinked'}
|
Signal: ${signalOk ? 'Connected' : 'Disconnected'} and ${linked ? 'Linked' : 'Unlinked'}
|
||||||
${linked && accountNumber ? `<span class="tooltip">${formatPhoneNumber(accountNumber)}</span>` : ''}
|
${linked && accountNumber ? `<span class="tooltip">${formatPhoneNumber(accountNumber)}</span>` : ''}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue