372 karma · joined February 9, 2011
I also found the docs: https://docs.docker.com/compose/compose-file/deploy/#update_... Not sure how I missed that when I was looking at it before... :\
I'll look into those plugins.
> Are you sure the Docker Image digest did not change? Have you tried pinning an actual Docker Image digest?
Mostly sure. Many of my tests only changed the docker-compose file, not the actual image. So even though GitLab was rebuilding the image, the image digest would not have changed. I'll try to find time to pin the digest just to double check, though.
> Is this true even with "oder: stop-first"?
Er, did you mean "order"? I only see `--update-order` as a flag on the `docker service update` command. I do not see it in the docker-compose specification. So far all my tests have been through Portainer's stack deployment feature. So all changes are in my docker-compose file.
Maybe it would just work if I stuck it in the deploy.update section? I'll try.
> True, but there are still some volume plugins that work around and local storage should work if you use labels to pin the replicas to nodes.
I have tried pinning specific services to specific nodes to make local storage work. And I've use labels to force only one replica per node when using replicas.
What volume plugins are you thinking of? I haven't found any that seem to be maintained outside of local storage and nfs. And maybe some that would work if I were in some cloud host...
Anyway, thanks for giving me a couple things to try. :)
Specifically I'm about to try using the apt section, and I'm not exactly sure how to translate the curtin docs to the autoinstall format... Especially when it comes to adding keys. And a comment about needing to use exact bytes for normal partitions in the storage section would have saved me a few hours the other day... :)
Oh, and thanks for linking to that Diátaxis framework. I might have use for that at work.
[0] https://ubuntu.com/server/docs/install/autoinstall-reference
That said, I think I'll find some time to give Stalwart JMAP a try. I've been curious about JMAP for a while, and there are a couple things about Dovecot I'm not too fond of...
Swarm does not support dependencies between services. See [0]. It also does not support deploying replicas one at a time. See [1] where I'm asking for that support.
In the case of Galera, you need a master node to be up and running before you add any new nodes. I'm pretty sure that when you're initiating any kind of stateful clustered app, you'd want to start with one node at a time to be safe. You can't do that in Swarm using a replicated service. All replicas start at the same time.
Using a service per instance might work, but you need to be sure you have storage figured out so that when you update your stack to add a new service to the stack, the initial service will get the data it was initiated with. (Since when you restart a stack to add the new service, the old service will also get restarted. If I'm remembering what I found correctly.)
Then there's updating services/replicas. You cannot have Swarm kill a service/replica until after the replacement is actually up and running. Which means you'll need to create a new volume every time you need to upgrade, otherwise you'll end up with two instances of your app using the same data.
To complicate things, as far as I can tell, Swarm doesn't yet support CSI plugins. So you're pretty much stuck with local or nfs storage. If you're using local storage when deploying new replicas/services, you better hope the first replica/service starts up on same node it was on before...
All that combined means I haven't figured out how I can run a Galera cluster on Swarm. Even if I use a service per instance, updates are going to fail unless I do some deep customization on the Galera image I'm using to make it use unique data directories per startup. Even if I succeed in that, I'll still have to figure out how to clean out old data... I mean, I could manually add a new volume and service, then manually remove the old volume and service for each instance of Galera I'm running. But at the point, why bother with containers?
Anyway, I'm pretty sure I've done my research and am correct on all of this, but I'd be happy to be proven wrong. Swarm/Portainer/Traefik is a really really nice stack...
[0] https://github.com/moby/moby/issues/31333 [1] https://github.com/moby/moby/issues/43937
For home use, I've been experimenting with Portainer. It seems to work well for apps I'm not developing and am just running.
Yes, we'd have more than one instance of the app running. Ideally 3 or 5 instances. And they'd be load balanced. So I could update the app one instance at a time with no downtime. At least that is the goal.
At home, well, I enjoy my work, so I containerize all my home stuff as well. And I have a plan to switch my main linux box to ProxMox and then host both a Nomad cluster and a Rancher cluster.
If I weren't interested in the learning experience, I'd just stick with docker-compose based app deployment and Ansible for configuring the docker host vm.
I've been trying to get a MariaDB Galera cluster running on Docker Swarm for the past couple weeks and have been somewhat stymied a few things. Something like Longhorn would help a lot.
Um, it might just be me, but on both Android and Linux Firefox, the job description page doesn't actually display the job description. Just the header and footer. I had to switch over to Chrome/Chromium.
So, my suggestion would be to look up your local rescue mission, or homeless shelter, and ask there. While you're at it, take some time or money to support them.
I know my local rescue mission has some very effective programs that get people off the streets permanently. So I'm sure they'd know what they're talking about if you ask them.
That said, I have no issues with those who prefer to be anonymous, and I know it's important for some peoples safety.
With that in mind, I'd likely just not have downvotes period. If something is low quality enough to deserve a downvote, then it should be in violation of my community standards. Downvotes are designed to stop engagement. That's not the kind of thing I'd want unless it's something bad.
Then maybe do something a little different with upvotes. Say after you upvote with a comment a certain number of times, you get access to a quick upvote option. Or canned upvote comments.
And maybe general comments would count as an upvote unless you uncheck the box. That way we could keep generic upvote comments like "well thought out argument" or "he used good references" in their own little section without stifling good interactions.
At the very least, if I ever implemented it myself, I'd require that people explain why they are voting up, or voting down, before they could vote. And I'd not limit users from being able to vote until they magically get to the right amount of "karma".
Without requiring an explanation, votes are more akin to boos and cheers than anything useful. Not a very good way to encourage a diverse culture.
In my case, I've never liked the OSX style dock, and I use the super key to switch windows all the time. So the two biggest features I pulled out of that article are actually things I'll have to turn off.
Oh, and I used to love the hot corner, but it didn't work so well when I had multiple monitors on both sides of my main monitor. So I got used to just hitting super.
Christianity is based on the concept that every individual can choose to follow Christ, or not to follow Christ. If you choose not to follow Christ, you take responsibility for your actions, even the ones that lead to hell. If you choose to follow Christ, Christ takes responsibility for your actions (via the cross), even the ones that lead to hell, and enables you to learn how to act righteously.
Leftism, as far as I can see, is mainly about putting all decisions in the hands of the "elite", that makes individuals not responsible for their actions. If there is no individual responsibility, then there is no such thing as sin, and then there is no point to Christianity.
Conservatism, as I know it, is very much about the individual's freedom to make their own choices.
I see no room for Christ in Leftism. Where Conservatism does have room for Him.
So, ideologically, I see Conservatism as more in line with what Jesus taught, than Leftism. Conservatism allows for freedom, especially of thought, Leftism does not.
Politically, Christians have more freedom under Republican's than they do under Democrats. Hence why we vote Republican. It's not that we fully support everything Republican, it's that we want the freedom to practice our beliefs without government interference.
To be clear, I'm not a fan of any of the political parties. I'm registered as independent. But I'll vote for freedom over tyranny any day. Even when the party I'm voting for has warts.
Oh, and for Christians, traditional moral values are still very very important. Many votes for Trump were made due to the outsized effect the US Supreme Court has on those values. The Left does it's best to shove their ideology down our throats via Judicial fiat, rather than working through the process set forth in the US Constitution, so we have to keep the Supreme Court in a state where it won't join in with those overreaches of power. Hence why we often vote for very imperfect men.
One final thought, there is a difference between Leftism and Liberalism. I haven't solidified my thoughts on that enough to say, but right now the Democrat party is not liberal. It is leftist. I've even heard on former leftist call modern conservatism more liberal than what the left stands for now.
A) Why wasn't proper usage reporting built in from the start? If you are limiting a user by a usage metric, then you should be giving them a way to manage that usage intelligently. It does sound like Drive is a complicated structure, but, well, that's no excuse for not supporting your users properly.
B) I'm not surprised by Google ending the unlimited plan. But I still consider it bait and switch. Promising "unlimited" in the first place is impossible. It's false advertising. All the companies that do, or did, that, really should be fined. At very least we should hit them with a class action.
C) Google's method of ending the unlimited plan is not very good. They really should have done something like:
"We are ending the unlimited plan. New users will receive 100TB. Current users with more than 100TB of data will be granted a perpetual 120% of their current data usage as of last night at midnight UTC. Current users with less than 100TB, will have a 120TB limit."
That would have been far more fair, and much less of a bait and switch.
Anyway, thanks to everyone who replied. The tips about rclone really helped out.
I need to free up space, thanks to the new storage policy. It's kinda hard to track down which directories are using the most data when there is no way to check...
So, there are options, some I now remember hearing of before.
I'm still interested in more of you thoughts on why they don't have a wider adoption rate.
------------
That said, maybe the HN community can answer something I've wondered about... Why isn't there an Open Source, standardized, self-hosted, version of this kind of service? Or, why hasn't one, or two, options emerged that everyone uses and I would have heard of by now?
User management, authentication, and authorization, are all problems that have been solved in many apps, and there are plenty of best practices. So, just like you shouldn't roll your own hashing algorithm, I'd think we'd want to do the same with this. It would make sense for one of the open source companies or organizations like Canonical, RedHat, Apache or Mozilla to have at least tried to do this.
The closest I can think of to an attempt is Persona...
Anyway, just been wondering about this for a while, and thought I'd take the opportunity to ask.
You go in, get to handle the actual product. Then, if you decide to buy, do it there via the stores affiliate link. If not, you pay the store $N on your way out.
That way the customer gets the price they want, and the store makes some money for letting them handle things.