CumBroth

joined 1 year ago
[โ€“] [email protected] 1 points 1 year ago (1 children)

๐Ÿ˜‹ ๐Ÿ˜‹ ๐Ÿ˜‹ ๐Ÿ˜‹ ๐Ÿ˜‹ ๐Ÿ˜‹ ๐Ÿ˜‹ ๐Ÿ˜‹ ๐Ÿ˜‹ ๐Ÿ˜‹ ๐Ÿ˜‹ ๐Ÿ˜‹

cum broth

Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3565436420, Size: 512x512, Model hash: ec41bd2a82, Model: photon_v1, Version: v1.4.0

[โ€“] [email protected] 8 points 1 year ago* (last edited 1 year ago) (2 children)

SWAG is great for overwhelmed Nginx beginners. It comes preconfigured with reasonable defaults and also provides configs for a bunch of popular services: https://github.com/linuxserver/reverse-proxy-confs. Both Bitwarden and Vaultwarden are on there.

Note that this setup assumes that you will run your service (Bitwarden/Vaultwarden) in a Docker container. You can make SWAG work with something that's running directly on the host, but I'd recommend not starting with that until you've fooled around with this container setup a bit and gained a better understanding of how Nginx and reverse proxies in general work.

[โ€“] [email protected] 2 points 1 year ago (1 children)

Disco Elysium was full of such moments for me. Here's one:

You spend a lot of time in the game basically talking to yourself and your inner voices, and one of these voices is volition. If you put enough points into it, it'll chime in when you're having an identity crisis or struggling to keep yourself together and it'll try to cheer you up and keep you going. At the end of Day 1 in the game you, an amnesiac cop, stand on a balcony in an impoverished district reflecting on the day's events and trying to make sense of the reality you've woken up into with barely any of your memories intact. If you pass a volition check, it'll say the following line:

"No. This is somewhere to be. This is all you have, but it's still something. Streets and sodium lights. The sky, the world. You're still alive."

This line in combination with the somewhat retro Euro setting, the faint lighting, and the sombre-yet-somewhat-upbeat music was very powerful. The image it painted was quite relatable for me. I just sat there for a minute staring at the scene and soaking it all in. Even though this is a predominantly text-based game with barely any cinematics/animations, I felt a level of immersion I had rarely, if ever, experienced before.

Oh, look at that. Someone actually made a volition compilation. ๐Ÿ˜€ This video will give you a better idea of what I'm describing: https://www.youtube.com/watch?v=ENSAbyGlij0 Minor spoilers alert!

[โ€“] [email protected] 8 points 1 year ago* (last edited 1 year ago)

Those were last year's prices during the height of the energy crisis. I was paying 0.60โ‚ฌ/kWh last year (new contract). I renegotiated this year and got it lowered to about 0.27โ‚ฌ/kWh.

[โ€“] [email protected] 2 points 1 year ago (1 children)
[โ€“] [email protected] 2 points 1 year ago* (last edited 1 year ago)

In response to your update: Try specifying the user that's supposed to own the mapped directories in the docker compose file. Then make sure the UID and GID you use match an existing user on the new system you are testing the backup on.

First you need to get the id of the user you want to run the container as. For a user called foo, run id foo. Note down the UID and GID.

Then in your compose file, modify the db_recipes service definition and set the UID and GID of the user that should own the mapped volumes:

  db_recipes:
    restart: always
    image: postgres:15-alpine
    user: "1000:1000" #Replace this with the corresponding UID and GID of your user
    volumes:
      - ./postgresql:/var/lib/postgresql/data
    env_file:
      - ./.env

Recreate the container using docker compose up -d (don't just restart it; you need to load the new config from the docker compose file). Then inspect the postgresql directory using ls -l to check whether it's actually owned by user with UID 1000 and group with GID 1000. This should solve the issue you are having with that backup program you're using. It's probably unable to copy that particular directory because it's owned by root:root and you're not running it as root (don't do that; it would circumvent the real problem rather than help you address it).

Now, when it comes to copying this to another machine, as already mentioned you could use something that preserves permissions like rsync, but for learning purposes I'd intentionally do it manually as you did before to potentially mess things up. On the new machine, repeat this process. First find the UID and GID of the current non-root user (or whatever user you want to run your containers as). Then make sure that UID and GID are set in the compose files. Then inspect the directories to make sure they have the correct ownership. If the compose file isn't honoring the user flag or if the ownership doesn't match the UID and GID you set for whatever reason, you can also use chown -R UID:GID ./postgresql to change ownership (replace UID:GID with the actual IDs), but that might get overwritten if you don't properly specify it in the compose file as well, so only do it for testing purposes.

Edit: I also highly recommend using CLIs (terminal) instead of the GUI for this sort of thing. In my experience, the GUIs aren't always designed to give you all the information you need and can actually make things more difficult for you.

[โ€“] [email protected] 3 points 1 year ago* (last edited 1 year ago) (2 children)

As others have already mentioned, you are probably correct that it's a permission error. You could follow the already posted advice to use tools that maintain permissions like rsync, but fixing this botched backup manually could help you learn how to deal with permissions and that's a rather fundamental concept that anyone selfhosting would benefit from understanding.

If you decide to do this, I would recommend reading up on the concept of user and group permissions on linux and the commands that allow you to inspect ownership and permissions of directories and files as well as the UID and GID of users. Next step would be to understand how Docker handles permissions for mapped directories. You can get a few pointers from this short explanation by LSIO: https://docs.linuxserver.io/general/understanding-puid-and-pgid. Bear in mind that this is not a Docker standard, but something specific to LSIO Docker images. See also https://docs.docker.com/compose/compose-file/05-services/#long-syntax. This can also be set when using docker run by using the --user flag.

Logs can also help pinpoint the cause of the issue. The default docker compose setup in Tandoor's docs sets up several containers, one of which acts as a database (db_recipes based on postgres:15-alpine). Inspect that in real time using docker logs -f db_recipes to see the exact errors.

[โ€“] [email protected] 3 points 1 year ago

You sound like someone who's lost The Game.

[โ€“] [email protected] 4 points 1 year ago

Another slanted hyphen...

I hate it! I hate it! I hate it!

[โ€“] [email protected] 7 points 1 year ago* (last edited 1 year ago)

One thing I like about this particular layer of defense is that it gives you more insight into the activities of the software and operating systems you're using. The statistics they provide (I use Adguard Home) have proven very useful to me on several occasions .

[โ€“] [email protected] 8 points 1 year ago (1 children)

Fairphone allows you to unlock the bootloader and install an OS of your choice.

See https://support.fairphone.com/hc/en-us/articles/9979154556817-Google-free-Android

[โ€“] [email protected] 0 points 1 year ago* (last edited 1 year ago) (1 children)

If anyone wants to achieve something similar without using Tailscale or with alternative VPN providers, the setup outlined in this LSIO guide is pretty neat: https://www.linuxserver.io/blog/advanced-wireguard-container-routing

Edit: Don't be intimidated by the word "advanced". I struggled with this a bit at first (was also adapting it to use at home instead of on a VPS that's tunneling to home) but I got it working eventually and learned a lot in the process. Willing to assist folks who want to set it up.

view more: โ€น prev next โ€บ