selfhosted

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

Dirk, in Uid/gid in docker containers don't match the uid/gid on the server?
@Dirk@lemmy.ml avatar

It’s actually a suggested configuration / best practice to NOT have container user IDs matching the host user IDs.

Ditch the idea of root and user in a docker container. For your containerized application use 10000:10001. You’ll have only one application and one “user” in the container anyways when doing it right.

To be even more on the secure side use a different random user ID and group ID for every container.

thesmokingman,

This is really dependent on whether or not you want to interact with mounted volumes. In a production setting, containers are ephemeral and should essentially never be touched. Data is abstracted into stores like a database or object storage. If you’re interacting with mounted volumes, it’s usually through a different layer of abstraction like Kibana reading Elastic indices. In a self-hosted setting, you might be sidestepping dependency hell on a local system by containerizing. Data is often tightly coupled to the local filesystem. It is much easier to match the container user to the desired local user to avoid constant sudo calls.

I had to check the community before responding. Since we’re talking self-hosted, your advice is largely overkill.

Dirk,
@Dirk@lemmy.ml avatar

This is really dependent on […]

… basically anything. Yes. You will always find yourself in problems where the best practice isn’t the best solution for.

In your described use case an option would be having the application inside the container running with 10000:10001 but writing the data into another directory that is configured to use 1000:1001 (or whatever the user is you want to access the data with from your host) and just mount the volume there. This takes a bit more configuration effort than just running the application with 1000:1001 … but still :)

Appoxo,
@Appoxo@lemmy.dbzer0.com avatar

Do I need to actually create the user in advance or can I just choose a string as I see fit?

Dirk,
@Dirk@lemmy.ml avatar

You don’t need to create the user first. Here’s the simplest I can come up with:


<span style="color:#323232;">FROM alpine:latest
</span><span style="color:#323232;">COPY myscript.sh /app/myscript.sh
</span><span style="color:#323232;">USER 10000:10001
</span><span style="color:#323232;">CMD ["sh", "/app/myscript.sh"]
</span>

This simply runs /app/myscript.sh with UID 10000 and GID 10001.

Appoxo,
@Appoxo@lemmy.dbzer0.com avatar

Wasnt aware that you can just think of IDs from fresh air.
Thought it was to create the user and ID manually amd then be able to use it.

Dirk,
@Dirk@lemmy.ml avatar

Yep! The names are basically just a convenient way for referencing a user or group ID.

Under normal circumstances you should let the system decide what IDs to use, but in the confined environment of a docker container you can do pretty much what you want.

If you really, really, really want to create a user and group just set the IDs manually:


<span style="color:#323232;">FROM alpine:latest
</span><span style="color:#323232;">COPY myscript.sh /app/myscript.sh
</span><span style="color:#323232;">RUN addgroup -g 10001 mycoolgroup && adduser -D -u 10000 -G mycoolgroup mycooluser
</span><span style="color:#323232;">USER mycooluser:mycoolgroup
</span><span style="color:#323232;">CMD ["sh", "/app/myscript.sh"]
</span>

Just make sure to stay at or above 10000 so you won’t accidentally re-use IDs that are already defined on the host.

scottmeme, (edited )

My go-to for user and group IDs is 1234:1234

shrugal, in AppleTV complete replacement opinions

I use a Synology NAS + Plex + Chromecast, works great.

Moonrise2473, in Uid/gid in docker containers don't match the uid/gid on the server?

checked .bash_history, looks like i installed docker in the new rootless mode


<span style="color:#323232;">wget get.docker.com
</span><span style="color:#323232;">ls
</span><span style="color:#323232;">mv index.html docker.sh
</span><span style="color:#323232;">chmod +x docker.sh
</span><span style="color:#323232;">./docker.sh
</span><span style="color:#323232;">dockerd-rootless-setuptool.sh install
</span><span style="color:#323232;">sudo dockerd-rootless-setuptool.sh install
</span><span style="color:#323232;">sudo apt install uidmap
</span><span style="color:#323232;">dockerd-rootless-setuptool.sh install
</span>

now i need to see how to restore it to work in the traditional way or i will become crazy with the permissions…

Moonrise2473,

I fixed it:

for future reference:

  • from docs.docker.com/engine/security/rootless/…, run dockerd-rootless-setuptool.sh uninstall
  • delete the user data (warning: i wasn’t using any docker volumes and i had no data to lose!!!) using the command that the previous script tells you
  • add your user to the docker group and use the traditional “run docker as root” way: docs.docker.com/engine/…/linux-postinstall/
Atemu,
@Atemu@lemmy.ml avatar

Why go through all of that complexity when you could just sudo apt install docker?

Moonrise2473,

i don’t want to type sudo before each single docker command

cheet,

So add your user to the new docker group made on install of that package and you’ll be able to docker without sudo. You may need to relogin or newgrp docker before it works tho

Voroxpete, (edited )

You can do that with regular docker. Just add your user to the docker group.

(don’t forget to log out and log in again after adding new groups to your user)

twiked,

Niche use case, but you can also use newgrp to run commands with a recently-added group to your user, without having to logout/login yet.

throwafoxtrot,

Or start a new session by typing bash, when already in bash.

neidu2, (edited ) in Uid/gid in docker containers don't match the uid/gid on the server?

I’m not very well versed on docker, but this sounds like a config issue. The behavior seems similar to “squash root” found in many other services.

Czeron, in Do any of you have that one service that just breaks constantly? I'd love to love Nextcloud, but it sure makes that difficult at times
@Czeron@lemmy.world avatar

Installed Nextcloud-AIO using the docker script, took about 4 - 5 terminal commands. Practically zero issues! Hopefully someone else can provide some help in the thread!

butt_mountain_69420,

Do you have office set up in it?

moomoomoo309,
@moomoomoo309@programming.dev avatar

I have it set up. Try the AIO docker image. Once you get it set up, it pretty much just works. You just pick which office suite you want, check a few optional features if you want 'em, and it handles the rest for you. Most importantly, the AIO image is from nextcloud. They test it, it always works because it is the blessed version from them. If you’re not a Linux guy, don’t try the other installation methods, they’re much, much more difficult.

butt_mountain_69420,

I’ll give it a shot. I’ve tried so many different approaches already. I think I maybe tried to install AIO straight onto a linux vm; don’t recall how it got derailed. I did build a Lubuntu VM for experimentation. I really wanted to get an Ollama chatbot running to assist me in my future digital endeavors, but it just wouldn’t come together.

nullpotential, in Do any of you have that one service that just breaks constantly? I'd love to love Nextcloud, but it sure makes that difficult at times
@nullpotential@lemmy.dbzer0.com avatar

The simple fix is to not use nextcloud

TBi,

What’s the alternative?

johntash, in Nextcloud zero day security

Make sure your backups are solid and can’t be deleted or altered.

In addition to normal backups, something like zfs snapshots also help and make it easier to restore if needed.

I think I remember seeing a nextcloud plugin that detects mass changes to a lot of files (like ransomware would cause). Maybe something like that would help?

Also enforce good passwords.

Do you have anything exposed to the internet that also has access to either nextcloud or the server it’s running on? If so, lock that down as much as possible too.

Fail2ban or similar would help against brute force attacks.

The VM you’re running nextcloud on should be as isolated as you can comfortably make it. E.g. if you have a camera/iot vlan, don’t let the VM talk to it. Don’t let it initiate outbound connections to any of your devices, etc

You can’t entirely protect against zero day vulnerabilities, but you can do a lot to limit the risk and blast radius.

phoenixz, in Do any of you have that one service that just breaks constantly? I'd love to love Nextcloud, but it sure makes that difficult at times

Am i the only one left who doesn’t want a snap docker Kubernetes container and just installs nextcloud in a normal way and never had any problems?

rummagefibre,

Same here. I’m just installing it normally, and my nextcloud instance is just chugging along.

kureta,

For me it’s the opposite. I tried to use nextcloud for years, installing the normal way, and it always broke for no reason. I just started using it on docker and it has been perfect, fingers crossed.

rummagefibre,

Interesting, when I used docker on a proxmox build, it would give me trouble. Once I installed it the normal way on an Ubuntu build, it was good to go.

I wonder why that is?

Fingers crossed that it continues to work for you in the current configuration!

Aux,

Because when you’re using Docker, you shouldn’t use Proxmox. And to be fair, I don’t understand why people are using Proxmox at all.

rummagefibre,

I used Proxmox because it was free and open source with backup tools integrated into the system.

Plavatos,

Same here, but after v25(?) it won’t update on my RPi 4 any longer, think they went 64 bit only?

Other than that no issues

tswerts, in Do any of you have that one service that just breaks constantly? I'd love to love Nextcloud, but it sure makes that difficult at times

This got mee googling Nextcloud and I think I’m going to give it a try 😱

butt_mountain_69420,

Seriously homie, unless you’re a fucking linux docker nerdshit wizard, you should find another way.

tswerts,

Thanks for the warning 🙂 Sometimes I still think I have as much spare time as 10 years ago 😉

butt_mountain_69420,

You could be a legless NEET and not have enough time to get this fucking bullshit to work correctly.

mesamunefire, (edited ) in Single Board Computer (SBC) Collection

Finding raspberry pis have been really hard after 2019. It’s too bad, it’s my favorite single board computer.

art, in Do any of you have that one service that just breaks constantly? I'd love to love Nextcloud, but it sure makes that difficult at times
@art@lemmy.world avatar

The only device running Snap in my house is a Raspberry Pi running the Snap Nextcloud and it’s rock solid.

This might be a deployment issue. How are most people running it?

neurospice,

I use docker and I get issues sometimes. I will admit though, when I used the snap a few years back I had no issues whatsoever.

phx,

Yeah the Docker version hated me, mainly due to it sometimes getting a bit behind on updates and then having schema mismatches if I ran an update in that missed the previous one. No issues with the Snap thus far

colebrodine,
@colebrodine@midwest.social avatar

I used to have this problem. I started pulling a version number (like 27) instead of “latest” so that I could just pull minor releases when I did updates, and then I manually step up the version in the docker-config file for major versions when I’m ready for them. (I don’t like to pull a major release version until there’s been 1 or 2 maintenance releases since my nextcloud is fairly critical for my family)

Hexarei, in Do any of you have that one service that just breaks constantly? I'd love to love Nextcloud, but it sure makes that difficult at times
@Hexarei@programming.dev avatar

The solution for me is that I run Nextcloud on a Kubernetes cluster and pin a container version. Then every few months I update that version in my deployment yaml to the latest one I want to run, and run kubectl apply -f nextcloud.yml and it just does its thing. Never given me any real trouble.

MasterInu, in Do any of you have that one service that just breaks constantly? I'd love to love Nextcloud, but it sure makes that difficult at times
@MasterInu@lemmy.world avatar

I must be in the minority. I don’t trust swarm syncing or the cloud.

Fungah,

I’m with you.

Local everything I possibly can.

9488fcea02a9,

Nextcloud can be self hosted… It’s not really “the cloud”. Can be LAN only if you want

oij2, in Do any of you have that one service that just breaks constantly? I'd love to love Nextcloud, but it sure makes that difficult at times

Well… no… I have been self hosting it for several years over multiple major versions now. Only for Files, Calendar and Deck though. It was a bit hard to set up, but reading the general Apache and PHP documentation helped a lot.

ChillPill, in Do any of you have that one service that just breaks constantly? I'd love to love Nextcloud, but it sure makes that difficult at times
@ChillPill@lemmy.world avatar

The snap version of nextcloud has been pretty solid for me, except for the time that I installed the nextcloud backup app.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • selfhosted@lemmy.world
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #