Materia is a simple and fast cloud storage
Go to file
2024-08-05 15:15:20 +05:00
src/materia impove base mixin, filesystem model 2024-08-05 15:15:20 +05:00
tests impove base mixin, filesystem model 2024-08-05 15:15:20 +05:00
workspaces/frontend update dependencies 2024-08-03 01:01:01 +05:00
.gitignore new: reconstruct project 2024-06-17 19:52:24 +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 directory, file, repository, tests 2024-08-05 01:28:20 +05:00
pyproject.toml directory, file, repository, tests 2024-08-05 01:28:20 +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.