Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abilian/nua
Open source PaaS and application marketplace
https://github.com/abilian/nua
cli cloud containers docker markeplace paas python self-hosting web
Last synced: 2 months ago
JSON representation
Open source PaaS and application marketplace
- Host: GitHub
- URL: https://github.com/abilian/nua
- Owner: abilian
- License: agpl-3.0
- Created: 2021-06-25T04:52:39.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-02T06:36:08.000Z (7 months ago)
- Last Synced: 2024-10-29T20:56:26.812Z (3 months ago)
- Topics: cli, cloud, containers, docker, markeplace, paas, python, self-hosting, web
- Language: Python
- Homepage: https://nua.rocks/
- Size: 15.6 MB
- Stars: 37
- Watchers: 8
- Forks: 4
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSES/AGPL-3.0-only.txt
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Authors: AUTHORS.md
Awesome Lists containing this project
- awesome-foss-alternatives - Abilian Nua - Open source PaaS and application marketplace. [🐍, GNU Affero General Public License v3.0]. (Platforms services and devops / Platform as a Service / PaaS (Heroku, Fly, Render... alternatives):)
README
# Nua
[![codecov](https://codecov.io/github/abilian/nua/branch/main/graph/badge.svg?token=0PCZNVDRE8)](https://codecov.io/github/abilian/nua)
> **Warning**
> This code is still evolving quickly, and not meant for production yet.## What is Nua?
### Vision
[Nua](https://nua.rocks/) is an open source, self-hosted cloud platform project (a PaaS - platform as a service).
Nua streamlines the development, selection, installation and resilient operation of web applications in a self-hosted cloud environment.
It is primarily aimed at users (SMEs, associations, public services, etc.) who wish to benefit from the simplicity of the cloud at the lowest cost without compromising the principles of digital sovereignty.
Its watchwords are: simplicity, resilience and equity.
### Concept Map
### Use cases
### Presentation
See:
----
## Hacking on Nua
### Technical Architecture
### Subpackages
The Nua project is a monorepo, split into several subpackages:
- `nua-lib`: common code for all Nua packages ([details](./nua-lib/README.md)).
- `nua-cli`: command-line interface for Nua ([details](./nua-cli/README.md)).
- `nua-agent`: agent for Nua apps ([details](./nua-agent/README.md)).
- `nua-build`: build system for Nua packages ([details](./nua-build/README.md)).
- `nua-orchestrator`: orchestrator for Nua applications ([details](./nua-orchestrator/README.md)).
- `nua-server`: web UI for a Nua iserver ([details](./nua-server/README.md)). Not ready yet.It also comprises several example applications, as well as a few real-world applications: [`apps`](./apps).
To install a development environment, you will need [Poetry](https://python-poetry.org/), and to run:
```
poetry install
```You also need a Docker server.
### Roadmap and current status
The roadmap for the projet is kept up to date on [this kanban board](https://github.com/abilian/nua/projects/1).
See also: [TODO.md](./TODO.md) and [HISTORY.md](./HISTORY.md).
We currently provide the following components:
- The "**builder**" CLI that can build container images from high level specifications (`nua-config.tom` files).
- The "**orchestrator**" CLI that can deploy and manage container images.
- The `nua` CLI that provides a **unified interface** to the builder and orchestrator.
- Some initial **applications** (HedgeDoc, Dolibarr, Galene, Dolibarr, Etherpad-lite).### Repo activity
### Nua CLI
```console
$ nua
nua (0.5.17)Usage:
nua [options] [arguments]Options:
-V Show version and exit
-d Enable debug mode
-v Increase verbosityAvailable commands:
apps List applications.
backup Backup a deployed application.
build Build app but don't deploy it.
deploy Deploy app.
destroy Destroy an application.
help Show help.
logs Show application logs.
restart Restart an application.
restore Restore backup data of a deployed application.
start Start an application.
stop Stop an application.
update Update an application.config
config show Show application config.env
env set Show application env variables.
env show Show application env variables.server
server cleanup Cleanup server (remove inactive docker images and containers).
server logs Show server logs.
server ps List all server processes.
server settings Show server settings.
server status Show Nua status.
server uptime Show server uptime.
```### REUSE (licensing compliance)
Result of the `reuse lint` command invocation:
```
$ reuse lint
> * Bad licenses:
> * Deprecated licenses:
> * Licenses without file extension:
> * Missing licenses:
> * Unused licenses:
> * Used licenses: AGPL-3.0-only, CC-BY-4.0, MIT
> * Read errors: 0
> * Files with copyright information: 284 / 284
> * Files with license information: 284 / 284> Congratulations! Your project is compliant with version 3.0 of the REUSE Specification :-)
```