Merge pull request #28 from JTCorrin/chore/improve-dev-experience

Chore/improve dev experience
This commit is contained in:
Maximilian Dorninger
2025-07-06 16:51:06 +02:00
committed by GitHub
5 changed files with 53 additions and 7 deletions

8
.gitignore vendored
View File

@@ -9,6 +9,8 @@ tv/*
log.txt
res/*
media_manager/indexer/indexers/prowlarr.http
*.egg-info
.env
web/cache/
@@ -35,3 +37,9 @@ web/!.env.test
# Vite
web/vite.config.js.timestamp-*
web/vite.config.ts.timestamp-*
# pycache
__pycache__
# Postgres
/postgres

View File

@@ -40,6 +40,41 @@ other services.
docker compose up -d
```
## Developer Quick Start
```bash
pip install uv
uv venv
# Activate the virtual environment
uv pip install -e .
```
```bash
docker compose up db -d
```
```bash
uv run alembic upgrade head
```
## Get the frontend up and running
TODO: provide an env.example to copy
```bash
cd /web && npm install
```
## Now start the backend and frontend
```bash
fastapi dev /media_manager/main.py --reload --host
```
```bash
cd /web && npm run dev
```
### [View the docs for installation instructions and more](https://maxdorninger.github.io/MediaManager/configuration-overview.html#configuration-overview)
<!-- ROADMAP -->

View File

@@ -22,7 +22,6 @@ depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
"""Upgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
# Create user table
op.create_table('user',
sa.Column('id', sa.UUID(), nullable=False),
@@ -189,7 +188,6 @@ def upgrade() -> None:
# ### end Alembic commands ###
def downgrade() -> None:
"""Downgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
@@ -209,4 +207,5 @@ def downgrade() -> None:
op.drop_table('oauth_account')
op.drop_index(op.f('ix_user_email'), table_name='user')
op.drop_table('user')
# ### end Alembic commands ###
# ### end Alembic commands ###

View File

@@ -5,10 +5,10 @@ from pydantic_settings import BaseSettings
class BasicConfig(BaseSettings):
image_directory: Path = "/data/images"
tv_directory: Path = "/data/tv"
movie_directory: Path = "/data/movies"
torrent_directory: Path = "/data/torrents"
image_directory: Path = Path(__file__).parent.parent / "data" / "images"
tv_directory: Path = Path(__file__).parent.parent / "data" / "tv"
movie_directory: Path = Path(__file__).parent.parent / "data" / "movies"
torrent_directory: Path = Path(__file__).parent.parent / "data" / "torrents"
FRONTEND_URL: AnyHttpUrl = "http://localhost:3000/"
CORS_URLS: list[str] = []
DEVELOPMENT: bool = False

View File

@@ -32,3 +32,7 @@ dependencies = [
"pillow>=11.2.1",
"pillow-avif-plugin>=1.5.2",
]
[tool.setuptools.packages.find]
include = ["media_manager*"]
exclude = ["web*", "Writerside*", "metadata_relay*", "tests*"]