That's the first time I ever hear someone call Java a legacy language.
uranibaba
Is it considered best practice to run a bunch of different compose files, and update them all separately?
tl;dr I do one compose file per application/folder because I found that to suite me best.
I knew about docker and what is was for a long time, but just recently started to use it (past year or so) so I'm no expert . Before docker, I had one VM for each application I wanted and if I messed something up (installed something and it broke or something), I just removed the entier VM and made a new one. This also comes with the problem that every VM needs to be stopped before the host can be shutdown, and startup took more work to ensure that it worked correctly.
Here is a sample of my layout:
.
├──audiobookshelf
│ ├──config
├──diun
│ └───data
├──jellyfin
├──kuma
├──mealie
│ ├──data
│ └──pgdata
├──n8n
│ ├──n8n_data
│ └──n8n_files
├──paperless
│ ├──consume
│ └──export
├──syncthing
│ └──data
└───tasksmd
└──config
I considered using one compose file and put everything in it by opted to instead use one file for each project. Using one compose file for everything would make it difficult to stop just one application. And by having it split into separate folders, I can just remove everything in it if I mess up and start a new container.
As for updating, I made script that pulls everything:
#!/bin/bash
function docker_update {
cd $1
docker compose down && docker compose pull && docker compose up -d
}
docker_update "/path/to/app1"
docker_update "/path/to/app2"
docker_update "/path/to/app3"
Here is a small sample from my n8n compose file (not complete file):
services:
db:
container_name: n8n-db
image: postgres
...
networks:
- n8n-network
adminer:
container_name: n8n-db-adminer
image: adminer
restart: unless-stopped
ports:
- 8372:8080
networks:
- shared-network
- n8n-network
n8n:
container_name: n8n
networks:
- n8n-network
- shared-network
depends_on:
db:
condition: service_healthy
volumes:
db_data:
networks:
n8n-network:
shared-network:
external: true
shared-network
is shared between Caddy and any containter I need to access to externally (reverse proxy) and then one network that is shared between the applications.
It’s a spring framework project. It is a solid choice if Java is your language and you need a predefined web server to build on.
Also, what is odd with Java?
We all just want to screw our eyes shut and say “Your kids deserved to die because you voted wrong”, which is an fucking insane thing to believe and exactly the kind of magical thinking that got us to this point.
That's the worst part of it all. It is the kids who die, who had no say in the matter, no those who voted.
Love docker. Updating has never been easier.
Agreed, have used both android and iOS over the years and both OSes has their pros and cons. Currently staying with iPhone because nothing beats their face ID in my opinion.
I am currently looking into borg because it can take incremental backups. I just need figure out how I should handle a running system, if I need to turn of all my docker images or if there is some kind of snapshot function I can use.
From what I read on their FAQ, Borg cannot verify the integrity so I would need to turn everything off during the backup process. A filesystem like ZFS could have solved that problem (cannot find the link, something about shadow copy I think?) but since I don't have a backup yet nor physical access, I need to work with what I have.
I think I will set it to take a backup every night.
EDIT: Maybe it can verify integrity? Still trying to find information on my use case. https://borgbackup.readthedocs.io/en/stable/usage/check.html
TIL! At least they used the same version for everyone, including the later competition.
What do you mean a modified version? What or the point of that if they are sending people to a contest after? Unfair.
- It makes it more comfortable.
[I have absolutely no idea where that comes from.]
This is a silly reason, and I don’t see how it’s true
Laying down in a bed without wrinkles is more comfortable than laying down in a bed with wrinkles.
Here is the commit https://github.com/LemmyNet/lemmy-docs/commit/b3bd2afd6af18e71048ade7e82b541ff903a5a42
It creates the docker file and updates the docs to (among other things) point to the he file, the old being https://raw.githubusercontent.com/LemmyNet/lemmy-ansible/main/templates/docker-compose.yml.
I wonder why it does not point to the main repo. The PR does not discuss the it. https://github.com/LemmyNet/lemmy-docs/pull/315
I can't say I agree or disagree because I don't have any data to prove your right nor wrong. I can say that I understand some shit people give Java but your argument was a first for me. I was intrigued.