generated from coop-cloud/example
Compare commits
3 Commits
old-databa
...
0.5.0+0.67
Author | SHA1 | Date | |
---|---|---|---|
672557c7fb | |||
00576231e5 | |||
beeffe65f6 |
62
abra.sh
62
abra.sh
@ -6,24 +6,14 @@ migrate() {
|
|||||||
yarn db:migrate --env=production-ssl-disabled
|
yarn db:migrate --env=production-ssl-disabled
|
||||||
}
|
}
|
||||||
|
|
||||||
delete_user() {
|
delete_user_by_id() {
|
||||||
if [ -z "$1" ] || [ -z "$2" ]; then
|
if [ -z "$1" ] || [ -z "$2" ]; then
|
||||||
echo "Usage: ... delete_user <user-to-delete> <user-to-replace>"
|
echo "Usage: ... delete_user_by_id <userid-to-delete> <userid-to-replace>"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
USERID_REMOVE=$(echo "SELECT id FROM users WHERE username = '$1'" | psql -t -A -U outline outline)
|
USERID_REPLACE="$2"
|
||||||
USERID_REPLACE=$(echo "SELECT id FROM users WHERE username = '$2'" | psql -t -A -U outline outline)
|
USERID_REMOVE="$1"
|
||||||
|
|
||||||
if [ -z "$USERID_REMOVE" ]; then
|
|
||||||
echo "Can't find ID of '$1'"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$USERID_REPLACE" ]; then
|
|
||||||
echo "Can't find ID of '$2'"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
psql -U outline outline <<- SQL
|
psql -U outline outline <<- SQL
|
||||||
UPDATE documents SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE';
|
UPDATE documents SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE';
|
||||||
@ -41,6 +31,48 @@ delete_user() {
|
|||||||
DELETE FROM notification_settings WHERE "userId" = '$USERID_REMOVE';
|
DELETE FROM notification_settings WHERE "userId" = '$USERID_REMOVE';
|
||||||
DELETE FROM events WHERE "actorId" = '$USERID_REMOVE';
|
DELETE FROM events WHERE "actorId" = '$USERID_REMOVE';
|
||||||
DELETE FROM events WHERE "userId" = '$USERID_REMOVE';
|
DELETE FROM events WHERE "userId" = '$USERID_REMOVE';
|
||||||
DELETE FROM users WHERE username = '$1';
|
DELETE FROM users WHERE "id" = '$USERID_REMOVE';
|
||||||
SQL
|
SQL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete_user() {
|
||||||
|
if [ -z "$1" ] || [ -z "$2" ]; then
|
||||||
|
echo "Usage: ... delete_user <userid-to-delete> <userid-to-replace>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
USERID_REMOVE=$(echo "SELECT id FROM users WHERE username = '$1'" | psql -t -A -U outline outline)
|
||||||
|
USERID_REPLACE=$(echo "SELECT id FROM users WHERE username = '$2'" | psql -t -A -U outline outline)
|
||||||
|
|
||||||
|
if [ -z "$USERID_REMOVE" ]; then
|
||||||
|
echo "Can't find ID of '$1'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$USERID_REPLACE" ]; then
|
||||||
|
echo "Can't find ID of '$2'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
delete_user_by_id "$USERID_REMOVE" "$USERID_REPLACE"
|
||||||
|
}
|
||||||
|
|
||||||
|
delete_duplicate_users() {
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "Usage: ... delete_duplicate_users <username>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
USERIDS=$(echo "SELECT id FROM users WHERE username = '$1' ORDER BY users.\"createdAt\" DESC" | psql -t -A -U outline outline)
|
||||||
|
|
||||||
|
if [ ! "$(echo "$USERIDS" | wc -l)" -gt 1 ]; then
|
||||||
|
echo "Only one user exists, bailing"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
USERID_NEW=$(echo "$USERIDS" | head -n1)
|
||||||
|
|
||||||
|
for USERID_OLD in $(echo "$USERIDS" | tail -n+2); do
|
||||||
|
delete_user_by_id "$USERID_OLD" "$USERID_NEW"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
11
compose.yml
11
compose.yml
@ -6,7 +6,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- backend
|
- backend
|
||||||
- proxy
|
- proxy
|
||||||
image: outlinewiki/outline:0.64.4
|
image: outlinewiki/outline:0.67.2
|
||||||
secrets:
|
secrets:
|
||||||
- aws_secret_key
|
- aws_secret_key
|
||||||
- db_password
|
- db_password
|
||||||
@ -27,7 +27,6 @@ services:
|
|||||||
- AWS_SDK_LOAD_CONFIG=0
|
- AWS_SDK_LOAD_CONFIG=0
|
||||||
- AWS_SECRET_KEY_FILE=/run/secrets/aws_secret_key
|
- AWS_SECRET_KEY_FILE=/run/secrets/aws_secret_key
|
||||||
- DATABASE_PASSWORD_FILE=/run/secrets/db_password
|
- DATABASE_PASSWORD_FILE=/run/secrets/db_password
|
||||||
- DATABASE_PASSWORD=pass
|
|
||||||
- FORCE_HTTPS=true
|
- FORCE_HTTPS=true
|
||||||
- PGSSLMODE=disable
|
- PGSSLMODE=disable
|
||||||
- REDIS_URL=redis://${STACK_NAME}_cache:6379
|
- REDIS_URL=redis://${STACK_NAME}_cache:6379
|
||||||
@ -44,7 +43,7 @@ services:
|
|||||||
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
||||||
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
||||||
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||||
- "coop-cloud.${STACK_NAME}.version=0.4.1+0.64.4"
|
- "coop-cloud.${STACK_NAME}.version=0.5.0+0.67.2"
|
||||||
## Redirect from EXTRA_DOMAINS to DOMAIN
|
## Redirect from EXTRA_DOMAINS to DOMAIN
|
||||||
#- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
|
#- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
|
||||||
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
|
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
|
||||||
@ -55,7 +54,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- backend
|
- backend
|
||||||
|
|
||||||
postgres:
|
db:
|
||||||
image: postgres:11
|
image: postgres:11
|
||||||
networks:
|
networks:
|
||||||
- backend
|
- backend
|
||||||
@ -63,8 +62,8 @@ services:
|
|||||||
- db_password
|
- db_password
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_DB: outline
|
POSTGRES_DB: outline
|
||||||
POSTGRES_PASSWORD: pass
|
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
|
||||||
POSTGRES_USER: user
|
POSTGRES_USER: outline
|
||||||
volumes:
|
volumes:
|
||||||
- "postgres_data:/var/lib/postgresql/data"
|
- "postgres_data:/var/lib/postgresql/data"
|
||||||
|
|
||||||
|
@ -12,8 +12,8 @@ export GOOGLE_CLIENT_SECRET=$(cat /run/secrets/google_client_secret)
|
|||||||
|
|
||||||
export UTILS_SECRET=$(cat /run/secrets/utils_secret)
|
export UTILS_SECRET=$(cat /run/secrets/utils_secret)
|
||||||
export SECRET_KEY=$(cat /run/secrets/secret_key)
|
export SECRET_KEY=$(cat /run/secrets/secret_key)
|
||||||
#export DATABASE_PASSWORD=$(cat /run/secrets/db_password)
|
export DATABASE_PASSWORD=$(cat /run/secrets/db_password)
|
||||||
export DATABASE_URL="postgres://user:${DATABASE_PASSWORD}@${STACK_NAME}_postgres:5432/outline"
|
export DATABASE_URL="postgres://outline:${DATABASE_PASSWORD}@${STACK_NAME}_db:5432/outline"
|
||||||
|
|
||||||
/usr/local/bin/yarn db:migrate --env=production-ssl-disabled
|
/usr/local/bin/yarn db:migrate --env=production-ssl-disabled
|
||||||
/usr/local/bin/yarn start "$@"
|
/usr/local/bin/yarn start "$@"
|
||||||
|
Reference in New Issue
Block a user