Compare commits

..

3 Commits

Author SHA1 Message Date
Mike Dilger
411f16ad18
2.0.2 2026-04-30 05:16:55 +12:00
Mike Dilger
0ff9bc564f
Update docker setup:
* Use docker-compose
 * Make it work with podman too
 * Run as root inside the container, no need for chorus user
2026-04-27 11:41:16 +12:00
Mike Dilger
ec57b5746c
Fix rare thread panic 2026-04-27 09:50:45 +12:00
9 changed files with 22 additions and 14 deletions

2
Cargo.lock generated
View File

@ -220,7 +220,7 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
[[package]] [[package]]
name = "chorus" name = "chorus"
version = "2.0.1" version = "2.0.2"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"bitcoin_hashes 0.19.0", "bitcoin_hashes 0.19.0",

View File

@ -1,6 +1,6 @@
[package] [package]
name = "chorus" name = "chorus"
version = "2.0.1" version = "2.0.2"
description = "A personal relay for nostr" description = "A personal relay for nostr"
authors = ["Mike Dilger <mike@mikedilger.com>"] authors = ["Mike Dilger <mike@mikedilger.com>"]
license = "MIT" license = "MIT"
@ -24,8 +24,8 @@ log = "0.4"
mime-sniffer = "0.1" mime-sniffer = "0.1"
mime2ext = "0.1" mime2ext = "0.1"
negentropy = "0.5" negentropy = "0.5"
pocket-types = { git = "https://github.com/mikedilger/pocket", ref = "43d35015f7caf1db48eb846a1d6916a5716048da" } pocket-types = { git = "https://github.com/mikedilger/pocket", ref = "329334f20948c796c6016b673b92551ac4855ad7" }
pocket-db = { git = "https://github.com/mikedilger/pocket", ref = "43d35015f7caf1db48eb846a1d6916a5716048da" } pocket-db = { git = "https://github.com/mikedilger/pocket", ref = "329334f20948c796c6016b673b92551ac4855ad7" }
parking_lot = "0.12" parking_lot = "0.12"
rustls-pki-types = "1.11" rustls-pki-types = "1.11"
rustls-pemfile = "2.2" rustls-pemfile = "2.2"

1
docker/.env Normal file
View File

@ -0,0 +1 @@
PODMAN_USERNS=keep-id

1
docker/.gitignore vendored
View File

@ -1 +0,0 @@
/chorus.toml

View File

@ -13,11 +13,9 @@ FROM alpine:latest
# RUN apk add --no-cache curl gcc musl-dev openssl-dev pkgconfig git make cmake # RUN apk add --no-cache curl gcc musl-dev openssl-dev pkgconfig git make cmake
# Setup chorus user and directories # Setup chorus user and directories
RUN adduser --system --home /opt/chorus --shell /bin/sh chorus && \ RUN mkdir -p /opt/chorus/etc /opt/chorus/src/chorus /opt/chorus/var /opt/chorus/sbin /opt/chorus/lib && \
mkdir -p /opt/chorus/etc /opt/chorus/src/chorus /opt/chorus/var /opt/chorus/sbin /opt/chorus/lib && \
mkdir -p /opt/chorus/var/chorus /opt/chorus/var/www && \ mkdir -p /opt/chorus/var/chorus /opt/chorus/var/www && \
mkdir -p /opt/chorus/lib/systemd/system && \ mkdir -p /opt/chorus/lib/systemd/system
chown -R chorus /opt/chorus
COPY --from=builder /root/chorus/target/release/chorus /opt/chorus/sbin/chorus COPY --from=builder /root/chorus/target/release/chorus /opt/chorus/sbin/chorus
COPY --from=builder /root/chorus/target/release/chorus_cmd /opt/chorus/sbin/chorus_cmd COPY --from=builder /root/chorus/target/release/chorus_cmd /opt/chorus/sbin/chorus_cmd
@ -26,16 +24,12 @@ COPY --from=builder /root/chorus/target/release/chorus_dump /opt/chorus/sbin/cho
COPY --from=builder /root/chorus/target/release/chorus_dump_approvals /opt/chorus/sbin/chorus_dump_approvals COPY --from=builder /root/chorus/target/release/chorus_dump_approvals /opt/chorus/sbin/chorus_dump_approvals
COPY --from=builder /root/chorus/target/release/chorus_moderate /opt/chorus/sbin/chorus_moderate COPY --from=builder /root/chorus/target/release/chorus_moderate /opt/chorus/sbin/chorus_moderate
RUN chown -R chorus /opt/chorus/sbin && chmod 0700 /opt/chorus/sbin/* RUN chmod 0700 /opt/chorus/sbin/*
COPY chorus.toml /opt/chorus/etc/chorus.toml
RUN chown chorus /opt/chorus/etc/chorus.toml
VOLUME /opt/chorus/etc VOLUME /opt/chorus/etc
VOLUME /opt/chorus/var VOLUME /opt/chorus/var
WORKDIR /opt/chorus WORKDIR /opt/chorus
USER chorus
ENV RUST_BACKTRACE=1 ENV RUST_BACKTRACE=1
ENV RUST_LOG=info ENV RUST_LOG=info
ENTRYPOINT ["/opt/chorus/sbin/chorus", "/opt/chorus/etc/chorus.toml"] ENTRYPOINT ["/opt/chorus/sbin/chorus", "/opt/chorus/etc/chorus.toml"]

12
docker/docker-compose.yml Normal file
View File

@ -0,0 +1,12 @@
services:
chorus:
build:
context: .
dockerfile: Dockerfile
container_name: chorus
restart: unless-stopped
volumes:
- ./etc:/opt/chorus/etc
- ./var:/opt/chorus/var
ports:
- 443:1444

1
docker/etc/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/chorus.toml

1
docker/var/.gitignore vendored Normal file
View File

@ -0,0 +1 @@