yunohost
Docker Compose
Our great sponsors
yunohost | Docker Compose | |
---|---|---|
117 | 386 | |
1,911 | 32,367 | |
2.4% | 1.4% | |
9.5 | 9.6 | |
12 days ago | 1 day ago | |
Python | Go | |
GNU Affero General Public License v3.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
yunohost
- Runtipi: Docker-Based Home Server Management
-
Ask HN: Tips to get started on my own server
Pull that old laptop from the closet, the one with the broken screen and keyboard which made you so sad to put it to pasture since it did have plenty of memory and CPU to keep up. Install Debian on the thing followed by Proxmox Virtual Environment (PVE) [1]. Since you have 16GB of RAM in that laptop (or 8 but 16 is nicer) you should be able to run a number of containers [2].
Here's an idea, more or less based on a number of servers I configured for friends and family, based on 8GB Raspberry Pi 4 hardware with 2/4TB USB SSD. Your laptop will offer better performance.
- Create 4 or 5 containers and name them 'auth', 'serve´, 'base', 'backup' and 'mail' (if you want to run your own mail that is, otherwise skip that one). Their functions are:
> auth runs LDAP, Kerberos (if you want that), a central letsencrypt instance which takes care of all your certificate needs and anything else related to authentication and authorisation
> base runs databases, that means Postgresql, Mysql/Mariadb, Redis, RabbitMQ and whatnot - all depending on what you need.
> serve runs services, that means nginx or another web server which is used as a reverse proxy for the other web-related things you want to run: 'cloud' services like Nextcloud with everything that comes with it (e.g. Collaboraoffice or Onlyoffice to replace whatever web-based office things you currently use), communications services like XMPP, application-specific proxies like Invidious/Nitter/Libreddit, media services like Peertube/Airsonic/Ampache, a Wiki like Bookstack, search services like SearxNG, etc. - the size of your server is the limit.
> backup runs Proxmox Backup Server and is used to backup everything to some external drive and to some outside repository.
> mail runs mail services, only if you want to run those. I always say 'do it' but many people have an irrational fear of running their own mail services. That fear is not grounded in truth, running mail is not hard and offers many advantages over hosted solutions.
While it is possible to separate all the mentioned services out into their own containers I think this adds needless complexity for little to no gain. Separating out database services makes sense since those can end up quite taxing and as such might well be moved to their own hardware in some (possibly not too distant) future. Separating out authentication services makes sense since that lowers the attack surface compared to running them together with externally available services. The same goes for mail services which is why I put those in their own container.
Once you've got this up and running you can create a few more containers to play around with. If you just want to try out services something like Yunohost [3] or Caprover [4] can come in handy but I do not see these as viable alternatives to installing and running services which you intend to keep around for a long time.
Of course you can do most of this on a VPS as well but I prefer to keep thing in-house - the fewer dependencies, the better.
[1] https://proxmox.com/en/
[2] containers perform better and take less memory than VMs but if VMs are your thing that is possible as well
[3] https://yunohost.org
[4] https://caprover.com/
-
Simplifying Open-Source: Need Your Insights on an App-Store-Like Tool for Easy Deployment
Yunohost is one of those mature projects, that's fully open source.
-
Best home OS?
YunoHost, although not Docker-based, is still nice and quite mature.
-
RPi 4 Build Recommendations (NAS/VPN/Seedbox/etc)
If you want something like that, then CasaOS is pretty great and i can recommend it, especially for a beginner. There is also Cosmos and Tipi. Yunuhost too but a bit different approach. Oh and Umbrel is a thing...
-
The latest umbrelOS release brings a redesigned app store for self-hosted apps
However you quickly reach the limits of what Umbrel can do, its very basic in its abilities. Of course it depends all on what you (or anyone else) wants to do with it. There is also CasaOS which is very similar to Umbrel but last i compared, Casa offered a bit more features like for example adding your own docker projects easily. There is also Tipi which i must admit i havent taken a closer look at yet. And there is Yunohost which i guess aims at a similar audience but achieves these things differently, still worth mentioning tho.
- Avete un "homelab"? Avete convertito la famiglia all'utilizzo del vostro server domestico?
-
Sandstorm: Open-source platform for self-hosting web app
This looks exciting and definitely something to look out for as an option fkr self-hosting.
Similiar and a little bit more mature is also YunoHost, https://yunohost.org/, or for professional environments, UCS https://www.univention.com/.
- My selfhosted Backup Solution
-
Need simple tutorial for getting remote-access nextcloud setup with HTTPS
I use https://yunohost.org on my Pi, mostly for monitoring other stuff but you can get Nextcloud running just fine with it!
Docker Compose
-
Let's write a simple microservice in Clojure
Using Docker Compose to run Postgres and any third-party services locally provides a streamlined and consistent development environment. Developers can define services in a docker-compose.yml file, which enables them to configure and launch an entire stack with a single command. In this case, Postgres is encapsulated within a container with predefined configurations. Docker Compose also facilitates easy scaling, updates, and isolation of services, enhancing development efficiency and reducing the setup time for new team members or transitioning between projects. It encapsulates complex configurations, such as Postgres' performance monitoring and logging settings, in a manageable, version-controlled file, simplifying and replicating the service setup across different environments.
- Live reload em Go com docker e compile daemon
-
Docker compose, orchestrating and automating services
“Compose simplifies the control of your entire application stack, making it easy to manage services, networks, and volumes in a single, comprehensible YAML configuration file. Then, with a single command, you create and start all the services from your configuration file.” - Docker documentation
-
Hosting a simple docker-compose app with Nginx and generate a SSL with certbot on digitalocean droplet
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # Install docker compose sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # Apply executable permissions to the binary sudo chmod +x /usr/local/bin/docker-compose # Run Project docker-compose up -d
-
One Minute: Compose
Docker,
-
How to Set Up a Docker Container
This foundation now opens the door to even more powerful concepts. You can explore more advanced concepts such as container networking, streamlining the management of complex applications with Docker Compose, and how to make your application data persistent using volumes.
-
Use same Dockerfile for Dev & Production
In many projects that are containerized, especially in cases where development is also done locally with docker-compose, teams often have two Dockerfiles, 1 for Development, the other for Production. If you happen to have multiple environments like pre-prod, staging and so on, some teams could have different Dockerfiles for these environments.
-
How to Dockerise a NodeJS - TypeScript API || A Comprehensive Guide from Environment Setup to Deployment with a CI/CD Pipeline
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
-
Deploy a MongoDB Cluster With Docker Compose
You can also use Docker Compose to deploy the cluster, without having to write all the previous commands.
-
Build and Deploy a ReactJS App to AWS EC2 with Docker, NGINX, and Automate with GitHub Actions.
[ec2-user]$ sudo yum update -y [ec2-user]$ sudo yum install -y docker [ec2-user]$ sudo service docker start [ec2-user]$ sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose [ec2-user]$ sudo chmod +x /usr/local/bin/docker-compose [ec2-user]$ docker --version Docker version 20.10.23, build 7155243 [ec2-user]$ docker-compose --version Docker Compose version v2.18.1
What are some alternatives?
CasaOS - CasaOS - A simple, easy-to-use, elegant open-source Personal Cloud system.
supervisor - Supervisor process control system for Unix (supervisord)
umbrel - A beautiful home server OS for self-hosting with an app store. Buy a pre-built Umbrel Home with umbrelOS, or install on a Raspberry Pi 4, Pi 5, any Ubuntu/Debian system, or a VPS.
LibreNMS-docker - LibreNMS Docker image
OpenMediaVault - openmediavault is the next generation network attached storage (NAS) solution based on Debian Linux. Thanks to the modular design of the framework it can be enhanced via plugins. openmediavault is primarily designed to be used in home environments or small home offices.
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
awesome-docker - :whale: A curated list of Docker resources and projects
Portainer - Making Docker and Kubernetes management easy.
Sandstorm - Sandstorm is a self-hostable web productivity suite. It's implemented as a security-hardened web app package manager.
Cloud-Init - unofficial mirror of Ubuntu's cloud-init
Nextcloud - ☁️ Nextcloud server, a safe home for all your data
k3s - Lightweight Kubernetes