testing with default compose
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
######
|
||||
# DB #
|
||||
######
|
||||
|
||||
DB_HOST=db
|
||||
DB_PORT=3306
|
||||
DB_USERNAME=std_notes_user
|
||||
DB_PASSWORD=standardnotes
|
||||
DB_DATABASE=standard_notes_db
|
||||
DB_TYPE=mysql
|
||||
|
||||
#########
|
||||
# CACHE #
|
||||
#########
|
||||
|
||||
REDIS_PORT=6379
|
||||
REDIS_HOST=cache
|
||||
CACHE_TYPE=redis
|
||||
|
||||
########
|
||||
# KEYS #
|
||||
########
|
||||
|
||||
AUTH_JWT_SECRET=2989d124c292eaf02415622d246b2a38d3765ac040669d1f94f272bce0341f6b
|
||||
AUTH_SERVER_ENCRYPTION_SERVER_KEY=362599f1d308be8af7e06cf60d7b20834890ef66b6e654e28fb2d71d062bf36f
|
||||
VALET_TOKEN_SECRET=0225d96613461c2ed96befd83d2d6aca48392ea0cf651560befbd9b5d1854835
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
services:
|
||||
server:
|
||||
image: standardnotes/server
|
||||
env_file: .env
|
||||
container_name: server_self_hosted
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 3010:3000
|
||||
- 3125:3104
|
||||
volumes:
|
||||
- ./logs:/var/lib/server/logs
|
||||
- ./uploads:/opt/server/packages/files/dist/uploads
|
||||
networks:
|
||||
- standardnotes_self_hosted
|
||||
- reverseproxy
|
||||
|
||||
localstack:
|
||||
image: localstack/localstack:3.0
|
||||
container_name: localstack_self_hosted
|
||||
expose:
|
||||
- 4566
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- SERVICES=sns,sqs
|
||||
- HOSTNAME_EXTERNAL=localstack
|
||||
- LS_LOG=warn
|
||||
volumes:
|
||||
- ./localstack_bootstrap.sh:/etc/localstack/init/ready.d/localstack_bootstrap.sh
|
||||
networks:
|
||||
- standardnotes_self_hosted
|
||||
|
||||
db:
|
||||
image: mysql:8
|
||||
container_name: db_self_hosted
|
||||
environment:
|
||||
- MYSQL_DATABASE=standard_notes_db
|
||||
- MYSQL_USER=std_notes_user
|
||||
- MYSQL_ROOT_PASSWORD=standardnotes
|
||||
- MYSQL_PASSWORD=standardnotes
|
||||
expose:
|
||||
- 3306
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./data/mysql:/var/lib/mysql
|
||||
- ./data/import:/docker-entrypoint-initdb.d
|
||||
networks:
|
||||
- standardnotes_self_hosted
|
||||
|
||||
cache:
|
||||
image: redis:6.0-alpine
|
||||
container_name: cache_self_hosted
|
||||
volumes:
|
||||
- ./data/redis/:/data
|
||||
expose:
|
||||
- 6379
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- standardnotes_self_hosted
|
||||
|
||||
networks:
|
||||
standardnotes_self_hosted:
|
||||
name: standardnotes_self_hosted
|
||||
reverseproxy:
|
||||
external: true
|
||||
202
standardnotes/localstack_bootstrap.sh
Normal file
202
standardnotes/localstack_bootstrap.sh
Normal file
@@ -0,0 +1,202 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
echo "configuring sns/sqs"
|
||||
echo "==================="
|
||||
LOCALSTACK_HOST=localhost
|
||||
AWS_REGION=us-east-1
|
||||
LOCALSTACK_DUMMY_ID=000000000000
|
||||
|
||||
get_all_queues() {
|
||||
awslocal --endpoint-url=http://${LOCALSTACK_HOST}:4566 sqs list-queues
|
||||
}
|
||||
|
||||
create_queue() {
|
||||
local QUEUE_NAME_TO_CREATE=$1
|
||||
awslocal --endpoint-url=http://${LOCALSTACK_HOST}:4566 sqs create-queue --queue-name ${QUEUE_NAME_TO_CREATE}
|
||||
}
|
||||
|
||||
get_all_topics() {
|
||||
awslocal --endpoint-url=http://${LOCALSTACK_HOST}:4566 sns list-topics
|
||||
}
|
||||
|
||||
create_topic() {
|
||||
local TOPIC_NAME_TO_CREATE=$1
|
||||
awslocal --endpoint-url=http://${LOCALSTACK_HOST}:4566 sns create-topic --name ${TOPIC_NAME_TO_CREATE}
|
||||
}
|
||||
|
||||
link_queue_and_topic() {
|
||||
local TOPIC_ARN_TO_LINK=$1
|
||||
local QUEUE_ARN_TO_LINK=$2
|
||||
awslocal --endpoint-url=http://${LOCALSTACK_HOST}:4566 sns subscribe --topic-arn ${TOPIC_ARN_TO_LINK} --protocol sqs --notification-endpoint ${QUEUE_ARN_TO_LINK}
|
||||
}
|
||||
|
||||
get_queue_arn_from_name() {
|
||||
local QUEUE_NAME=$1
|
||||
echo "arn:aws:sns:${AWS_REGION}:${LOCALSTACK_DUMMY_ID}:$QUEUE_NAME"
|
||||
}
|
||||
|
||||
get_topic_arn_from_name() {
|
||||
local TOPIC_NAME=$1
|
||||
echo "arn:aws:sns:${AWS_REGION}:${LOCALSTACK_DUMMY_ID}:$TOPIC_NAME"
|
||||
}
|
||||
|
||||
PAYMENTS_TOPIC_NAME="payments-local-topic"
|
||||
|
||||
echo "creating topic $PAYMENTS_TOPIC_NAME"
|
||||
TOPIC_CREATED_RESULT=$(create_topic ${PAYMENTS_TOPIC_NAME})
|
||||
echo "created topic: $TOPIC_CREATED_RESULT"
|
||||
PAYMENTS_TOPIC_ARN=$(get_topic_arn_from_name $PAYMENTS_TOPIC_NAME)
|
||||
|
||||
SYNCING_SERVER_TOPIC_NAME="syncing-server-local-topic"
|
||||
|
||||
echo "creating topic $SYNCING_SERVER_TOPIC_NAME"
|
||||
TOPIC_CREATED_RESULT=$(create_topic ${SYNCING_SERVER_TOPIC_NAME})
|
||||
echo "created topic: $TOPIC_CREATED_RESULT"
|
||||
SYNCING_SERVER_TOPIC_ARN=$(get_topic_arn_from_name $SYNCING_SERVER_TOPIC_NAME)
|
||||
|
||||
AUTH_TOPIC_NAME="auth-local-topic"
|
||||
|
||||
echo "creating topic $AUTH_TOPIC_NAME"
|
||||
TOPIC_CREATED_RESULT=$(create_topic ${AUTH_TOPIC_NAME})
|
||||
echo "created topic: $TOPIC_CREATED_RESULT"
|
||||
AUTH_TOPIC_ARN=$(get_topic_arn_from_name $AUTH_TOPIC_NAME)
|
||||
|
||||
FILES_TOPIC_NAME="files-local-topic"
|
||||
|
||||
echo "creating topic $FILES_TOPIC_NAME"
|
||||
TOPIC_CREATED_RESULT=$(create_topic ${FILES_TOPIC_NAME})
|
||||
echo "created topic: $TOPIC_CREATED_RESULT"
|
||||
FILES_TOPIC_ARN=$(get_topic_arn_from_name $FILES_TOPIC_NAME)
|
||||
|
||||
ANALYTICS_TOPIC_NAME="analytics-local-topic"
|
||||
|
||||
echo "creating topic $ANALYTICS_TOPIC_NAME"
|
||||
TOPIC_CREATED_RESULT=$(create_topic ${ANALYTICS_TOPIC_NAME})
|
||||
echo "created topic: $TOPIC_CREATED_RESULT"
|
||||
ANALYTICS_TOPIC_ARN=$(get_topic_arn_from_name $ANALYTICS_TOPIC_NAME)
|
||||
|
||||
REVISIONS_TOPIC_NAME="revisions-server-local-topic"
|
||||
|
||||
echo "creating topic $REVISIONS_TOPIC_NAME"
|
||||
TOPIC_CREATED_RESULT=$(create_topic ${REVISIONS_TOPIC_NAME})
|
||||
echo "created topic: $TOPIC_CREATED_RESULT"
|
||||
REVISIONS_TOPIC_ARN=$(get_topic_arn_from_name $REVISIONS_TOPIC_NAME)
|
||||
|
||||
SCHEDULER_TOPIC_NAME="scheduler-local-topic"
|
||||
|
||||
echo "creating topic $SCHEDULER_TOPIC_NAME"
|
||||
TOPIC_CREATED_RESULT=$(create_topic ${SCHEDULER_TOPIC_NAME})
|
||||
echo "created topic: $TOPIC_CREATED_RESULT"
|
||||
SCHEDULER_TOPIC_ARN=$(get_topic_arn_from_name $SCHEDULER_TOPIC_NAME)
|
||||
|
||||
QUEUE_NAME="analytics-local-queue"
|
||||
|
||||
echo "creating queue $QUEUE_NAME"
|
||||
QUEUE_URL=$(create_queue ${QUEUE_NAME})
|
||||
echo "created queue: $QUEUE_URL"
|
||||
ANALYTICS_QUEUE_ARN=$(get_queue_arn_from_name $QUEUE_NAME)
|
||||
|
||||
echo "linking topic $PAYMENTS_TOPIC_ARN to queue $ANALYTICS_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $PAYMENTS_TOPIC_ARN $ANALYTICS_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
|
||||
QUEUE_NAME="auth-local-queue"
|
||||
|
||||
echo "creating queue $QUEUE_NAME"
|
||||
QUEUE_URL=$(create_queue ${QUEUE_NAME})
|
||||
echo "created queue: $QUEUE_URL"
|
||||
AUTH_QUEUE_ARN=$(get_queue_arn_from_name $QUEUE_NAME)
|
||||
|
||||
echo "linking topic $PAYMENTS_TOPIC_ARN to queue $AUTH_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $PAYMENTS_TOPIC_ARN $AUTH_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
echo "linking topic $AUTH_TOPIC_ARN to queue $AUTH_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $AUTH_TOPIC_ARN $AUTH_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
echo "linking topic $FILES_TOPIC_ARN to queue $AUTH_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $FILES_TOPIC_ARN $AUTH_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
echo "linking topic $REVISIONS_TOPIC_ARN to queue $AUTH_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $REVISIONS_TOPIC_ARN $AUTH_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
|
||||
QUEUE_NAME="files-local-queue"
|
||||
|
||||
echo "creating queue $QUEUE_NAME"
|
||||
QUEUE_URL=$(create_queue ${QUEUE_NAME})
|
||||
echo "created queue: $QUEUE_URL"
|
||||
FILES_QUEUE_ARN=$(get_queue_arn_from_name $QUEUE_NAME)
|
||||
|
||||
echo "linking topic $AUTH_TOPIC_ARN to queue $FILES_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $AUTH_TOPIC_ARN $FILES_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
|
||||
echo "linking topic $SYNCING_SERVER_TOPIC_ARN to queue $FILES_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $SYNCING_SERVER_TOPIC_ARN $FILES_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
|
||||
QUEUE_NAME="syncing-server-local-queue"
|
||||
|
||||
echo "creating queue $QUEUE_NAME"
|
||||
QUEUE_URL=$(create_queue ${QUEUE_NAME})
|
||||
echo "created queue: $QUEUE_URL"
|
||||
SYNCING_SERVER_QUEUE_ARN=$(get_queue_arn_from_name $QUEUE_NAME)
|
||||
|
||||
echo "linking topic $SYNCING_SERVER_TOPIC_ARN to queue $SYNCING_SERVER_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $SYNCING_SERVER_TOPIC_ARN $SYNCING_SERVER_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
|
||||
echo "linking topic $FILES_TOPIC_ARN to queue $SYNCING_SERVER_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $FILES_TOPIC_ARN $SYNCING_SERVER_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
|
||||
echo "linking topic $SYNCING_SERVER_TOPIC_ARN to queue $AUTH_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $SYNCING_SERVER_TOPIC_ARN $AUTH_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
|
||||
echo "linking topic $AUTH_TOPIC_ARN to queue $SYNCING_SERVER_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $AUTH_TOPIC_ARN $SYNCING_SERVER_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
|
||||
QUEUE_NAME="revisions-server-local-queue"
|
||||
|
||||
echo "creating queue $QUEUE_NAME"
|
||||
QUEUE_URL=$(create_queue ${QUEUE_NAME})
|
||||
echo "created queue: $QUEUE_URL"
|
||||
REVISIONS_QUEUE_ARN=$(get_queue_arn_from_name $QUEUE_NAME)
|
||||
|
||||
echo "linking topic $SYNCING_SERVER_TOPIC_ARN to queue $REVISIONS_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $SYNCING_SERVER_TOPIC_ARN $REVISIONS_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
|
||||
echo "linking topic $REVISIONS_TOPIC_ARN to queue $REVISIONS_QUEUE_ARN"
|
||||
LINKING_RESULT=$(link_queue_and_topic $REVISIONS_TOPIC_ARN $REVISIONS_QUEUE_ARN)
|
||||
echo "linking done:"
|
||||
echo "$LINKING_RESULT"
|
||||
|
||||
QUEUE_NAME="scheduler-local-queue"
|
||||
|
||||
echo "creating queue $QUEUE_NAME"
|
||||
QUEUE_URL=$(create_queue ${QUEUE_NAME})
|
||||
echo "created queue: $QUEUE_URL"
|
||||
SCHEDULER_QUEUE_ARN=$(get_queue_arn_from_name $QUEUE_NAME)
|
||||
|
||||
echo "all topics are:"
|
||||
echo "$(get_all_topics)"
|
||||
|
||||
echo "all queues are:"
|
||||
echo "$(get_all_queues)"
|
||||
Reference in New Issue
Block a user