From 8d7f053a4ca6d33dba5d109dd45ba8e112c3985a Mon Sep 17 00:00:00 2001 From: Stephan Porada Date: Thu, 5 Sep 2019 14:43:36 +0200 Subject: [PATCH] Add postgresql database --- .gitignore | 1 + config.py | 14 +++++++++++--- docker-compose.yml | 30 +++++++++++++++++++++++++++++- requirements.txt | 1 + 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index b9fb041b..fc9b731c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ data_dev.sqlite migrations venv .env +.env_database __pycache__ diff --git a/config.py b/config.py index 96aaa6d1..1b340301 100644 --- a/config.py +++ b/config.py @@ -24,8 +24,16 @@ class Config: class DevelopmentConfig(Config): DEBUG = True - SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, - 'data_dev.sqlite') + # SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, + # 'data_dev.sqlite') + SQLALCHEMY_DATABASE_URI = \ + 'postgresql+psycopg2://{user}:{passwd}@{host}:{port}/{db}'.format( + user=os.environ.get('POSTGRES_USER'), + passwd=os.environ.get('POSTGRES_PASSWORD'), + host=os.environ.get('POSTGRES_HOST'), + port=os.environ.get('POSTGRES_PORT'), + db=os.environ.get('POSTGRES_DB_NAME')) + print(SQLALCHEMY_DATABASE_URI) class TestingConfig(Config): @@ -41,7 +49,7 @@ class TestingConfig(Config): config = { 'development': DevelopmentConfig, 'testing': TestingConfig, - # 'production': ProductionConfig, + #'production': ProductionConfig, 'default': DevelopmentConfig } diff --git a/docker-compose.yml b/docker-compose.yml index 996d29a2..18e5575c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,12 +3,40 @@ version: '3.7' services: web: build: . - container_name: web_flask_opaque + container_name: opaque_flask image: gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/opaque volumes: - .:/opaque + - $HOME/opaque_test:/home/compute/mnt/opaque env_file: - .env + - .env_database ports: - 5000:5000 + depends_on: + - db + links: + - db command: bash flask-entrypoint.sh + daemon: + container_name: opaque_daemon + image: gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/daemon_opaque + network_mode: "host" + volumes: + - /home/stephan/Repos/own/opaque/data_dev.sqlite:/daemon/db/data_dev.sqlite + - $HOME/.docker/config.json:/root/.docker/config.json + depends_on: + - db + db: + container_name: opaque_db + image: postgres:11.5 + env_file: + - .env_database + ports: + - 5432:5432 + volumes: + - postgres_data:/var/lib/postgresql/data + restart: always + +volumes: + postgres_data: diff --git a/requirements.txt b/requirements.txt index 2592d001..3fce165f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,5 +8,6 @@ Flask-SQLAlchemy Flask-Table Flask-WTF jsonpatch +psycopg2 python-dotenv redis