Skip to content
This repository was archived by the owner on May 30, 2024. It is now read-only.

mcataford/rotini

Folders and files

NameName
Last commit message
Last commit date

Latest commit

55dc3b9 · May 30, 2024
Jan 18, 2024
Aug 16, 2023
Mar 18, 2024
Apr 4, 2024
Dec 31, 2023
Dec 28, 2023
Dec 31, 2023
Aug 18, 2023
May 30, 2024
Jan 17, 2024
Dec 18, 2023
Dec 18, 2023
Dec 18, 2023
Jan 17, 2024

Repository files navigation

Rotini

✈️ Moved away!

This project has moved away from Github and is now hosted elsewhere.

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 in the project root 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. Individual scripts exist under /{frontend,backend}/script but generally assume that they will be called through task to inject some environment variables.

The project uses Podman as a default container manager, but is Docker-compatible (Taskfile.backend.yml can be made to specify CONTAINER_MANAGER="docker" to use it).

Formatting

Formatting in either frontend or backend environment can be done via task {fe,be}:lint. Applying fixes is available through the lintfix variant of the command.

Running tests

Test suites can be executed by environment via task {fe,be}:test.

Running locally

The application requires a Postgres database instance to be made available to the backend. Setting up a local database is handled by the backend start command.

Starting the backend (including a database) and frontend applications can be done via task be:container:start and task fe:start.

See the README files of each of those environments (backend, frontend) for specific requirements around *.env files that aren't committed with the code.

Production-ready deployments

Coming soon!