{"id":13574112,"url":"https://github.com/abilian/nua","last_synced_at":"2025-10-28T15:43:45.849Z","repository":{"id":41308036,"uuid":"380127490","full_name":"abilian/nua","owner":"abilian","description":"Open source PaaS and application marketplace","archived":false,"fork":false,"pushed_at":"2024-07-02T06:36:08.000Z","size":16357,"stargazers_count":37,"open_issues_count":18,"forks_count":5,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-15T02:35:51.997Z","etag":null,"topics":["cli","cloud","containers","docker","markeplace","paas","python","self-hosting","web"],"latest_commit_sha":null,"homepage":"https://nua.rocks/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abilian.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSES/AGPL-3.0-only.txt","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-25T04:52:39.000Z","updated_at":"2024-08-20T22:33:59.000Z","dependencies_parsed_at":"2023-02-19T08:16:15.172Z","dependency_job_id":"d59b7fae-9900-45b9-99c3-4d13a737f4ba","html_url":"https://github.com/abilian/nua","commit_stats":null,"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Fnua","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Fnua/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Fnua/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Fnua/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abilian","download_url":"https://codeload.github.com/abilian/nua/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Fnua/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259114712,"owners_count":22807256,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","cloud","containers","docker","markeplace","paas","python","self-hosting","web"],"created_at":"2024-08-01T15:00:46.664Z","updated_at":"2025-10-28T15:43:40.816Z","avatar_url":"https://github.com/abilian.png","language":"Python","funding_links":[],"categories":["Platforms services and devops"],"sub_categories":["Platform as a Service / PaaS (Heroku, Fly, Render... alternatives):"],"readme":"# Nua\n\n\u003cimg src=\"./doc/assets/logo.png\" alt=\"logo nua\"\u003e\n\n[![codecov](https://codecov.io/github/abilian/nua/branch/main/graph/badge.svg?token=0PCZNVDRE8)](https://codecov.io/github/abilian/nua)\n\n\u003e **Warning**\n\u003e This code is still evolving quickly, and not meant for production yet.\n\n## What is Nua?\n\n### Vision\n\n[Nua](https://nua.rocks/) is an open source, self-hosted cloud platform project (a PaaS - platform as a service).\n\nNua streamlines the development, selection, installation and resilient operation of web applications in a self-hosted cloud environment.\n\nIt 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.\n\nIts watchwords are: simplicity, resilience and equity.\n\n### Concept Map\n\n\u003cimg src=\"./doc/src/diagrams/mindmaps/Nua Concept Map.png\" alt=\"concept map\"\u003e\n\n### Use cases\n\n\u003cimg src=\"./doc/src/diagrams/others/Nua use cases.png\" alt=\"use cases\"\u003e\n\n### Presentation\n\nSee: \u003chttps://speakerdeck.com/sfermigier/nua-a-self-hosted-resilient-paas\u003e\n\n----\n\n## Hacking on Nua\n\n### Technical Architecture\n\n\u003cimg src=\"./doc/src/diagrams/c4/level1.png\" alt=\"architecture\"\u003e\n\n### Subpackages\n\nThe Nua project is a monorepo, split into several subpackages:\n\n- `nua-lib`: common code for all Nua packages ([details](./nua-lib/README.md)).\n- `nua-cli`: command-line interface for Nua ([details](./nua-cli/README.md)).\n- `nua-agent`: agent for Nua apps ([details](./nua-agent/README.md)).\n- `nua-build`: build system for Nua packages ([details](./nua-build/README.md)).\n- `nua-orchestrator`: orchestrator for Nua applications ([details](./nua-orchestrator/README.md)).\n- `nua-server`: web UI for a Nua iserver ([details](./nua-server/README.md)). Not ready yet.\n\nIt also comprises several example applications, as well as a few real-world applications: [`apps`](./apps).\n\nTo install a development environment, you will need [Poetry](https://python-poetry.org/), and to run:\n\n```\npoetry install\n```\n\nYou also need a Docker server.\n\n\n### Roadmap and current status\n\nThe roadmap for the projet is kept up to date on [this kanban board](https://github.com/abilian/nua/projects/1).\n\nSee also: [TODO.md](./TODO.md) and [HISTORY.md](./HISTORY.md).\n\n\nWe currently provide the following components:\n\n- The \"**builder**\" CLI that can build container images from high level specifications (`nua-config.tom` files).\n- The \"**orchestrator**\" CLI that can deploy and manage container images.\n- The `nua` CLI that provides a **unified interface** to the builder and orchestrator.\n- Some initial **applications** (HedgeDoc, Dolibarr, Galene, Dolibarr, Etherpad-lite).\n\n### Repo activity\n\n\n\u003cimg width=\"100%\" src=\"https://repobeats.axiom.co/api/embed/8fe302059db532a7068842d282c248795a4ec477.svg\" /\u003e\n\n\n### Nua CLI\n\n```console\n$ nua\nnua (0.5.17)\n\nUsage:\n  nua \u003ccommand\u003e [options] [arguments]\n\nOptions:\n  -V  Show version and exit\n  -d  Enable debug mode\n  -v  Increase verbosity\n\nAvailable commands:\n  apps     List applications.\n  backup   Backup a deployed application.\n  build    Build app but don't deploy it.\n  deploy   Deploy app.\n  destroy  Destroy an application.\n  help     Show help.\n  logs     Show application logs.\n  restart  Restart an application.\n  restore  Restore backup data of a deployed application.\n  start    Start an application.\n  stop     Stop an application.\n  update   Update an application.\n\n config\n  config show      Show application config.\n\n env\n  env set          Show application env variables.\n  env show         Show application env variables.\n\n server\n  server cleanup   Cleanup server (remove inactive docker images and containers).\n  server logs      Show server logs.\n  server ps        List all server processes.\n  server settings  Show server settings.\n  server status    Show Nua status.\n  server uptime    Show server uptime.\n```\n\n### REUSE (licensing compliance)\n\nResult of the `reuse lint` command invocation:\n\n```\n$ reuse lint\n\u003e * Bad licenses:\n\u003e * Deprecated licenses:\n\u003e * Licenses without file extension:\n\u003e * Missing licenses:\n\u003e * Unused licenses:\n\u003e * Used licenses: AGPL-3.0-only, CC-BY-4.0, MIT\n\u003e * Read errors: 0\n\u003e * Files with copyright information: 284 / 284\n\u003e * Files with license information: 284 / 284\n\n\u003e Congratulations! Your project is compliant with version 3.0 of the REUSE Specification :-)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabilian%2Fnua","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabilian%2Fnua","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabilian%2Fnua/lists"}