Commit a63645d4 authored by Bryan  BRANCOTTE's avatar Bryan BRANCOTTE
Browse files

for dev purpose, ability to use dockerized pg instance running

parent 4c19f646
import os
import subprocess
def get_db_ip():
result = subprocess.run(
[
"docker",
"ps",
"-f",
"name=%s" % get_guessed_container_name(),
"-q",
],
stdout=subprocess.PIPE,
)
ids = result.stdout.decode("utf-8").strip().split("\n")
if len(ids) > 1:
raise Exception("Can't find the DB, too much match")
if len(ids) == 0 or len(ids[0]) == 0:
result = subprocess.run(
[
"docker",
"ps",
"-f",
"name=_db",
"-q",
],
stdout=subprocess.PIPE,
)
ids = result.stdout.decode("utf-8").strip().split("\n")
if len(ids) > 1:
raise Exception(
"Can't find the DB, couldn't guess container name (tried '%s'), "
"and too much match with '_db'" % get_guessed_container_name()
)
if len(ids) == 0 or len(ids[0]) == 0:
raise Exception("Can't find the DB")
result = subprocess.run(
[
"docker",
"inspect",
"-f",
"'{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'",
ids[0],
],
stdout=subprocess.PIPE,
)
return result.stdout.decode("utf-8").strip().replace("'", "")
def get_guessed_container_name():
return (
str(os.path.dirname(__file__).split(os.path.sep)[-2]).lower().replace("-", "")
+ "_db"
)
if __name__ == "__main__":
print(get_db_ip())
......@@ -17,6 +17,8 @@ from decouple import config
from django.utils.translation import gettext_lazy
from socket import gethostname, gethostbyname
from ippisite import db_finder
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PERSISTENT_DIR = os.path.join(BASE_DIR, 'persistent')
......@@ -122,13 +124,16 @@ if config("USE_SQLITE_AS_DB", default="False").upper() == "TRUE":
}
}
else:
POSTGRES_HOST = config("POSTGRES_HOST", '')
if not POSTGRES_HOST:
POSTGRES_HOST = db_finder.get_db_ip()
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": config("POSTGRES_DB"),
"USER": config("POSTGRES_USER"),
"PASSWORD": config("POSTGRES_PASSWORD"),
"HOST": config("POSTGRES_HOST"),
"HOST": POSTGRES_HOST,
"PORT": 5432,
}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment