Go to file
2024-08-30 23:31:27 +05:00
src/materia tune openapi 2024-08-30 23:28:58 +05:00
tests tune openapi 2024-08-30 23:28:58 +05:00
workspaces/frontend openapi client generation 2024-08-30 23:31:27 +05:00
.gitignore tests and fixtures 2024-08-14 00:56:30 +05:00
alembic.ini rename materia_server -> materia, serve spa via backend + assets 2024-07-31 16:37:04 +05:00
flake.lock update dependencies 2024-08-03 01:01:01 +05:00
flake.nix update dependencies 2024-08-03 01:01:01 +05:00
LICENSE base project setup 2024-05-07 16:49:30 +05:00
pdm.lock move some modules to core module 2024-08-29 23:01:39 +05:00
pyproject.toml move some modules to core module 2024-08-29 23:01:39 +05:00
README.md update dependencies 2024-08-03 01:01:01 +05:00

materia

Materia is a file server.

Database migrations

# Initialize
alembic init -t async src/db/migrations 

# Autogenerate new migration 
alembic revision --autogenerate -m "Initial migration"

# Apply the migration
alembic upgrade head

# Rollback the migration 
alembic downgrade head

Setup tests

nix build .#postgresql-devel
podman load < result
podman run -p 54320:5432 --name database -dt postgresql:latest
nix build .#redis-devel
podman load < result
podman run -p 63790:63790 --name cache -dt redis:latest
nix develop
pdm install --dev
eval $(pdm venv activate)
pytest

Side notes

/var
  /lib
    /materia    <-- data directory
      /repository   <-- repository directory 
        /rick   <-- user name
          /default  <--| default repository name 
          ...          | possible features: external cloud drives?
            /first  <-- first level directories counts as root because no parent
              /nested
                /hello.txt

License

materia is licensed under the MIT License.