Skip to content
This repository was archived by the owner on Jun 26, 2022. It is now read-only.

papermerge/initdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository is obsolete. It was replaced with https://github.com/papermerge/papermerge-cloud/#createdb

InitDB

Small package that creates a user and database owned by that user. Note that it works only with postgres database. Optionally it can:

  • wait for database connection to be ready

Setup

$ poetry add initdb

Usage

Use it from command line:

$ python -m initdb

In order to print its config:

$ python -m initdb print

Use it from other scripts:

import initdb as init

if init.db_is_ready(): # blocks script execution until database is ready
    init.create_user()
    init.create_db()

db_is_ready function will try to connect to database and using INITIAL_DATABASE_USER, PAPERMERGE_DATABASE_HOST, and PAPERMERGE_DATABASE_PORT. If there is an error during the connection e.g. database is not availble, it will block (infinit loop with one second delay between cycles) the script until connection succeeds. When connection successed it will create a user, a database owned by that user and will exit.

Environment Variables

InitDB reads its configuration from following environment variables.

  • INITIAL_DATABASE_USER - default value is postgres
  • INITIAL_DATABASE_PASSWORD - default value is an empty string
  • PAPERMERGE_DATABASE_HOST - default value is postgres
  • PAPERMERGE_DATABASE_NAME - database to be created
  • PAPERMERGE_DATABASE_PASSWORD - set this password for the newly created user
  • PAPERMERGE_DATABASE_PORT - default value is 5432
  • PAPERMERGE_DATABASE_USER - database user to be created

About

Small package that creates a user and database owned by that user

Resources

License

Stars

Watchers

Forks

Packages

No packages published