52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| export ENTRYPOINT_VERSION=v2
 | |
| export NGINX_CONFIG_VERSION=v1
 | |
| export PG_BACKUP_VERSION=v1
 | |
| 
 | |
| file_env() {
 | |
|     local var="$1"
 | |
|     local fileVar="${var}_FILE"
 | |
|     local def="${2:-}"
 | |
| 
 | |
|     if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then
 | |
|         echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
 | |
|         exit 1
 | |
|     fi
 | |
| 
 | |
|     local val="$def"
 | |
| 
 | |
|     if [ "${!var:-}" ]; then
 | |
|         val="${!var}"
 | |
|     elif [ "${!fileVar:-}" ]; then
 | |
|         val="$(<"${!fileVar}")"
 | |
|     fi
 | |
| 
 | |
|     export "$var"="$val"
 | |
|     unset "$fileVar"
 | |
| }
 | |
| 
 | |
| setup_db() {
 | |
|     file_env "DB_PASSWORD"
 | |
|     file_env "CRYPTO_KEY"
 | |
|     file_env "SECRET_KEY"
 | |
|     file_env "LDAP_BIND_PASSWORD"
 | |
| 
 | |
|     echo "Creating tables..."
 | |
|     flask database create-tables && flask db stamp
 | |
|     if [ $? -ne 0 ]; then
 | |
|         echo -e "\033[0;31m\nDatabase failed to initialize please open an issue at https://git.coopcloud.tech/coop-cloud/liberaforms/issues\n"
 | |
|         return 1
 | |
|     fi
 | |
| 
 | |
|     echo "Database setup complete. <3"
 | |
| }
 | |
| 
 | |
| gen_key() {
 | |
|     file_env "DB_PASSWORD"
 | |
|     file_env "CRYPTO_KEY"
 | |
|     file_env "SECRET_KEY"
 | |
|     file_env "LDAP_BIND_PASSWORD"
 | |
| 
 | |
|     flask cryptokey create
 | |
| } |