Go to file
2024-08-22 12:24:36 +05:00
src/materia stabilize directory workflow 2024-08-22 12:24:36 +05:00
tests stabilize directory workflow 2024-08-22 12:24:36 +05:00
workspaces/frontend update dependencies 2024-08-03 01:01:01 +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 tests and fixtures 2024-08-14 00:56:30 +05:00
pyproject.toml tests and fixtures 2024-08-14 00:56:30 +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.