feat/queue-messages (#19)
Co-authored-by: jon brookes <marshyon@gmail.com> Reviewed-on: https://codeberg.org/headshed/share-lt/pulls/19
This commit is contained in:
parent
1a22fd156d
commit
74bc17d019
9 changed files with 88 additions and 8 deletions
46
docs/docker/create_nats_stream.sh
Executable file
46
docs/docker/create_nats_stream.sh
Executable file
|
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# This script creates a NATS stream using the nats CLI tool.
|
||||
# It reads the stream name, password, and subject from an .env file.
|
||||
|
||||
ENV_FILE=".env"
|
||||
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo ".env file not found at $ENV_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
. "$ENV_FILE"
|
||||
|
||||
if [ -z "$NATS_STREAM" ]; then
|
||||
echo "NATS_STREAM is not set in .env file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$NATS_PASSWORD" ]; then
|
||||
echo "NATS_PASSWORD is not set in .env file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$NATS_SUBJECT" ]; then
|
||||
echo "NATS_SUBJECT is not set in .env file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
nats \
|
||||
stream add "$NATS_STREAM" \
|
||||
--user ruser --password $NATS_PASSWORD \
|
||||
--subjects "$NATS_SUBJECT" \
|
||||
--storage file \
|
||||
--dupe-window="2m" \
|
||||
--replicas=1 \
|
||||
--max-msgs-per-subject=-1 \
|
||||
--no-allow-rollup \
|
||||
--no-deny-delete \
|
||||
--no-deny-purge \
|
||||
--discard=old \
|
||||
--max-msgs=-1 \
|
||||
--max-bytes=-1 \
|
||||
--max-msg-size=-1 \
|
||||
--max-age=1h \
|
||||
--retention limits
|
||||
|
|
@ -25,7 +25,7 @@ services:
|
|||
# - nats
|
||||
|
||||
app:
|
||||
image: quay.io/marshyon/share-lt:v0.0.5
|
||||
image: quay.io/marshyon/share-lt:v0.0.6
|
||||
restart: unless-stopped
|
||||
tty: false
|
||||
working_dir: /var/www
|
||||
|
|
|
|||
22
docs/docker/docker-compose-nats.yaml
Normal file
22
docs/docker/docker-compose-nats.yaml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
services:
|
||||
nats:
|
||||
image: nats:2.9.19-alpine
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 4222:4222
|
||||
- 8222:8222
|
||||
volumes:
|
||||
- ./nats/nats-server.conf:/nats-server.conf
|
||||
- nats-data:/opt/storage
|
||||
command: ["-c", "/nats-server.conf"]
|
||||
|
||||
networks:
|
||||
- nats
|
||||
|
||||
volumes:
|
||||
nats-data:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
nats:
|
||||
external: true
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
services:
|
||||
app:
|
||||
image: quay.io/marshyon/share-lt:v0.0.5
|
||||
image: quay.io/marshyon/share-lt:v0.0.6
|
||||
restart: unless-stopped
|
||||
tty: false
|
||||
working_dir: /var/www
|
||||
|
|
|
|||
13
docs/docker/nats/nats-server.conf
Normal file
13
docs/docker/nats/nats-server.conf
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Client port of 4222 on all interfaces
|
||||
port: 4222
|
||||
|
||||
# HTTP monitoring port
|
||||
monitor_port: 8222
|
||||
|
||||
# Enable JetStream and specify the storage directory
|
||||
jetstream: {
|
||||
store_dir: "/opt/storage"
|
||||
}
|
||||
|
||||
# Set a unique server name for this instance
|
||||
server_name: "nats-server-1"
|
||||
Loading…
Add table
Add a link
Reference in a new issue