|
|
|
* nassella
|
|
|
|
|
|
|
|
A worker's co-op and self-hosting for anyone. <3
|
|
|
|
|
|
|
|
~nassella~ is the working name for the worker's co-op as well as the
|
|
|
|
current in-development software project, which is: to build a system
|
|
|
|
that enables anyone to self-host a specific set of apps.
|
|
|
|
|
|
|
|
** A worker's co-operative
|
|
|
|
|
|
|
|
I want to build a workplace where the goals are differently aligned
|
|
|
|
from that of a more common tech workplace. The goals of the worker's
|
|
|
|
co-op:
|
|
|
|
|
|
|
|
- worker control: 1 worker = 1 vote
|
|
|
|
- long-term, stable sustainable job's for members
|
|
|
|
- prioritize less work hours over growth/profit
|
|
|
|
- voluntary and open membership
|
|
|
|
- no discrimination including:
|
|
|
|
- gender
|
|
|
|
- social
|
|
|
|
- sexuality
|
|
|
|
- racial
|
|
|
|
- political
|
|
|
|
- religious
|
|
|
|
- provide a safe and inclusive work environment
|
|
|
|
- members must feel safe to make mistakes and voice different
|
|
|
|
opinions
|
|
|
|
|
|
|
|
- communication should be direct and specific
|
|
|
|
- expectations must be explicitly communicated
|
|
|
|
- boundaries must be listened to and respected
|
|
|
|
- members must not speak to or cooperate with law enforcement
|
|
|
|
- provide opportunities for members to learn and grow
|
|
|
|
- remain independent and autonomous
|
|
|
|
- outside capital, if any, may not have control
|
|
|
|
- cooperate with other cooperatives
|
|
|
|
- concern for community
|
|
|
|
- actively engage with local communities
|
|
|
|
- actively manage environmental impacts
|
|
|
|
- seek out, involve, and learn from diverse groups
|
|
|
|
|
|
|
|
** Product
|
|
|
|
|
|
|
|
The goal is to produce a product that enables less-technical people
|
|
|
|
the ability to self-host applications in a secure and auto-updating
|
|
|
|
manner. Self-hosting for anyone!
|
|
|
|
|
|
|
|
*** Potential Qualities
|
|
|
|
|
|
|
|
- secure
|
|
|
|
- auto-updates
|
|
|
|
- host system
|
|
|
|
- container layers
|
|
|
|
- container apps
|
|
|
|
- manages dns records
|
|
|
|
- manages ssl certs
|
|
|
|
- reproducible (in a config standpoint)
|
|
|
|
- config is declarative
|
|
|
|
- load balances as needed
|
|
|
|
- collects and displays logs from all apps in a useful format
|
|
|
|
- data volumes/storage independent from containers
|
|
|
|
- can off-site backup automatically
|
|
|
|
- updates are run through CI before being made available
|
|
|
|
- can be moved between providers (no vendor lock-in)
|
|
|
|
|
|
|
|
*** Potential Tech For Self-Hosted Cloud Infra
|
|
|
|
|
|
|
|
- DNS Registration
|
|
|
|
- Terraform via supported registry
|
|
|
|
- DNS Config
|
|
|
|
- Terraform
|
|
|
|
- resource management (VPS's etc)
|
|
|
|
- Terraform
|
|
|
|
- LB for apps
|
|
|
|
- docker-compose + caddy
|
|
|
|
- SSL
|
|
|
|
- LB + caddy
|
|
|
|
- apps
|
|
|
|
- docker-compose
|
|
|
|
- OS
|
|
|
|
- flatcar linux
|
|
|
|
|
|
|
|
*** Potential Tech for Deployment and Config Node
|
|
|
|
|
|
|
|
Can be run locally or as a SaaS
|
|
|
|
|
|
|
|
- docker contained webapp for deploying/configuring/updating?
|
|
|
|
- needs to generate/init and store:
|
|
|
|
- terraform config and state
|
|
|
|
- docker-compose config
|
|
|
|
|
|
|
|
(this can be embedded in terraform config)
|
|
|
|
|
|
|
|
- can be used to:
|
|
|
|
- select apps
|
|
|
|
- resources (manage)
|
|
|
|
- view logs (stored on self-hosted infra)
|