mirror of
https://github.com/mealie-recipes/mealie.git
synced 2026-01-08 18:11:26 -05:00
* Changed uvicorn port to 80 * Changed port in docker-compose to match dockerfile * Readded environment variables in docker-compose * production image rework * Use opengraph metadata to make basic recipe cards when full recipe metadata is not available * fixed instrucitons on parse * add last_recipe * automated testing * roadmap update * Sqlite (#75) * file structure * auto-test * take 2 * refactor ap scheduler and startup process * fixed scraper error * database abstraction * database abstraction * port recipes over to new schema * meal migration * start settings migration * finale mongo port * backup improvements * migration imports to new DB structure * unused import cleanup * docs strings * settings and theme import logic * cleanup * fixed tinydb error * requirements * fuzzy search * remove scratch file * sqlalchemy models * improved search ui * recipe models almost done * sql modal population * del scratch * rewrite database model mixins * mostly grabage * recipe updates * working sqllite * remove old files and reorganize * final cleanup Co-authored-by: Hayden <hay-kot@pm.me> * Backup card (#78) * backup / import dialog * upgrade to new tag method * New import card * rename settings.py to app_config.py * migrate to poetry for development * fix failing test Co-authored-by: Hayden <hay-kot@pm.me> * added mkdocs to docker-compose * Translations (#72) * Translations + danish * changed back proxy target to use ENV * Resolved more merge conflicts * Removed test in translation * Documentation of translations * Updated translations * removed old packages Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com> * fail to start bug fixes * feature: prep/cook/total time slots (#80) Co-authored-by: Hayden <hay-kot@pm.me> * missing bind attributes * Bug fixes (#81) * fix: url remains after succesful import * docs: changelog + update todos * arm image * arm compose * compose updates * update poetry * arm support Co-authored-by: Hayden <hay-kot@pm.me> * dockerfile hotfix * dockerfile hotfix * Version Release Final Touches (#84) * Remove slim * bug: opacity issues * bug: startup failure with no database * ci/cd on dev branch * formatting * v0.1.0 documentation Co-authored-by: Hayden <hay-kot@pm.me> * db init hotfix * bug: fix crash in mongo * fix mongo bug * fixed version notifier * finale changelog Co-authored-by: kentora <=> Co-authored-by: Hayden <hay-kot@pm.me> Co-authored-by: Richard Mitic <richard.h.mitic@gmail.com> Co-authored-by: kentora <kentora@kentora.dk>
84 lines
1.8 KiB
Python
84 lines
1.8 KiB
Python
import os
|
|
from pathlib import Path
|
|
|
|
import dotenv
|
|
|
|
CWD = Path(__file__).parent
|
|
|
|
|
|
def ensure_dirs():
|
|
for dir in REQUIRED_DIRS:
|
|
dir.mkdir(parents=True, exist_ok=True)
|
|
|
|
|
|
# Register ENV
|
|
ENV = CWD.joinpath(".env")
|
|
dotenv.load_dotenv(ENV)
|
|
|
|
# Helpful Globals
|
|
BASE_DIR = CWD
|
|
DATA_DIR = CWD.joinpath("data")
|
|
WEB_PATH = CWD.joinpath("dist")
|
|
IMG_DIR = DATA_DIR.joinpath("img")
|
|
BACKUP_DIR = DATA_DIR.joinpath("backups")
|
|
DEBUG_DIR = DATA_DIR.joinpath("debug")
|
|
MIGRATION_DIR = DATA_DIR.joinpath("migration")
|
|
TEMPLATE_DIR = DATA_DIR.joinpath("templates")
|
|
SQLITE_DIR = DATA_DIR.joinpath("db")
|
|
TEMP_DIR = DATA_DIR.joinpath(".temp")
|
|
|
|
REQUIRED_DIRS = [
|
|
DATA_DIR,
|
|
IMG_DIR,
|
|
BACKUP_DIR,
|
|
DEBUG_DIR,
|
|
MIGRATION_DIR,
|
|
TEMPLATE_DIR,
|
|
SQLITE_DIR,
|
|
]
|
|
|
|
|
|
# General
|
|
PRODUCTION = os.environ.get("ENV")
|
|
PORT = int(os.getenv("mealie_port", 9000))
|
|
API = os.getenv("api_docs", True)
|
|
|
|
if API:
|
|
docs_url = "/docs"
|
|
redoc_url = "/redoc"
|
|
else:
|
|
docs_url = None
|
|
redoc_url = None
|
|
|
|
SQLITE_FILE = None
|
|
# DATABASE ENV
|
|
DATABASE_TYPE = os.getenv("db_type", "sqlite") # mongo, sqlite
|
|
if DATABASE_TYPE == "sqlite":
|
|
USE_SQL = True
|
|
USE_MONGO = False
|
|
SQLITE_FILE = SQLITE_DIR.joinpath("mealie.sqlite")
|
|
|
|
|
|
elif DATABASE_TYPE == "mongo":
|
|
USE_MONGO = True
|
|
USE_SQL = False
|
|
|
|
else:
|
|
raise Exception(
|
|
"Unable to determine database type. Acceptible options are 'mongo' or 'tinydb' "
|
|
)
|
|
|
|
# Mongo Database
|
|
MEALIE_DB_NAME = os.getenv("mealie_db_name", "mealie")
|
|
DB_USERNAME = os.getenv("db_username", "root")
|
|
DB_PASSWORD = os.getenv("db_password", "example")
|
|
DB_HOST = os.getenv("db_host", "mongo")
|
|
DB_PORT = os.getenv("db_port", 27017)
|
|
|
|
# SFTP Email Stuff - For use Later down the line!
|
|
SFTP_USERNAME = os.getenv("sftp_username", None)
|
|
SFTP_PASSWORD = os.getenv("sftp_password", None)
|
|
|
|
|
|
ensure_dirs()
|