An unnamed cloud storage app
This repository has been archived on 2024-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Marc Cataford 70224d0f28
feat(backend): endpoint to download files by id (#21)
* feat(backend): endpoint to download files by id

* test(backend) coverage for file downloads
2023-08-17 23:21:08 +00:00
.github/workflows build(backend): run as a container (#17) 2023-08-15 23:57:09 -04:00
assets chore: add logo to README (#20) 2023-08-16 13:49:24 -04:00
backend feat(backend): endpoint to download files by id (#21) 2023-08-17 23:21:08 +00:00
frontend feat(frontend): add delete functionality (#19) 2023-08-17 22:59:22 +00:00
script feat(backend): sub fetch endpoints (#2) 2023-08-08 23:49:54 -04:00
.gitignore feat(backend): sub fetch endpoints (#2) 2023-08-08 23:49:54 -04:00
README.md chore: add logo to README (#20) 2023-08-16 13:49:24 -04:00
Taskfile.backend.yml build(backend): run as a container (#17) 2023-08-15 23:57:09 -04:00
Taskfile.frontend.yml build: tooling clean-up (#14) 2023-08-12 16:32:07 -04:00
Taskfile.yml build: split taskfiles into be+fe concerns 2023-08-11 00:48:57 -04:00

Rotini

Overview

Rotini is a self-hosted cloud storage application that gives you full-control over the data you store. It aims for simplicity and extensibility, such that you can get started in minutes and easily fork or contribute upstream if you fancy a feature that's not already there.

It's roadmap is currently TBD and will become better defined as it gets closer to a first release.

Development

Tooling

Utility commands are managed by go-task and can be called from anywhere. Running . script/bootstrap installs go-task within the project and gets everything ready. From there, task -l provides a breakdown of available tools.

Note that this is the preferred way to running any tooling-related task within the repository, regardless of environment.

Running locally

The application requires a Postgres database instance to be made available to the backend. This can be done for you via task be:start-db.

Starting the backend and frontend applications can be done via task be:start and task fe:start.

Starting the backend application

The backend application is available as a container, which you can run as

task be:start

If you opt to run your database in an adjacent container, you can either run containers in such a manner than they share a network or define the database's host via docker.host.internal:

task be:start -- --add-host docker.host.internal:host-gateway

More generally, extra options can be passed to the docker run call that runs the application this way:

task be:start -- <options>

See the README files of each of those environments (backend, frontend) for specific requirements.)