"Buy Me A Coffee"

  • 2 Posts
  • 17 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2023

help-circle
  • What phone do you have? I just upgraded last night and everything appears to be working like normal. But I did notice that you appear to have a smaller screen size than I do. First I’d try adjusting the display size and see if that helps. You can find that setting (on a pixel) under: Settings -> Display -> Display Size and Text.

    You can also try adjusting the accessibility settings and increase or decrease the font size to see if that helps. Which you can find in the same menu above.

    Lastly, you might try enabling developer settings and adjusting the smallest width:

    Edit: none of these should be final solutions but to help troubleshoot what’s wrong. You can then use what you find with these three options to raise a ticket and hopefully the developers can then narrow down the actual root cause.


  • Yes it would. In my case though I know all of the users that should have remote access snd I’m more concerned about unauthorized access than ease of use.

    If I wanted to host a website for the general public to use though, I’d buy a VPS and host it there. Then use SSH with private key authentication for remote management. This way, again, if someone hacks that server they can’t get access to my home lan.


  • Their setup sounds similar to mine. But no, only a single service is exposed to the internet: wireguard.

    The idea is that you can have any number of servers running on your lan, etc… but in order to access them remotely you first need to VPN into your home network. This way the only thing you need to worry about security wise is wireguard. If there’s a security hole / vulnerability in one of the services you’re running on your network or in nginx, etc… attackers would still need to get past wireguard first before they could access your network.

    But here is exactly what I’ve done:

    1. Bought a domain so that I don’t have to remember my IP address.
    2. Setup DDNS so that the A record for my domain always points to my home ip.
    3. Run a wireguard server on my lan.
    4. Port forwarded the wireguard port to the wireguard server.
    5. Created client configs for all remote devices that should have access to my lan.

    Now I can just turn on my phone’s VPN whenever I need to access any one of the services that would normally only be accessible from home.

    P.s. there’s additional steps I did to ensure that the masquerade of the VPN was disabled, that all VPN clients use my pihole, and that I can still get decent internet speeds while on the VPN. But that’s slightly beyond the original ask here.






  • I’m also running Ubuntu as my main machine at home. (I have a Mac and do Android development for my day job).

    But at home, I do a lot of website and backend dev.

    1. Code in VSCode
    2. Build using docker buildx
    3. Test using a local container on my machine
    4. Upload the tested code to a feature brach on git (self hosted server)
    5. Download that same feature branch on a RaspberryPi for QA testing.
    6. Merge that same code to develop 6a. That kicks off a CI build that deploys a set of docker images to DockerHub.
    7. Merge that to main/master.
    8. That kicks off another CI build.
    9. SSH into my prod machine and run docker compose up -d







  • The project is open source so you can see what they are logging, if you can read the code.

    But simply some things that are logged:

    • IPs are logged but I don’t see them being associated with a user account. This looks to mainly be for rate limiting.
    • What posts/comments you’ve looked at are logged. This is so the UI can gray out posts you’ve already seen or mark replies to you own comments as read.

    From what I can tell neither of these data points are federated so only the instance your logged into has that information.

    ** Don’t use this as an exhaustive list. These are just the two items you specifically asked about and what I’ve seen looking through the code so far. **



  • https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/docker-compose.yml

    ...
    services:
      proxy:
        ...
    
      lemmy:
        # image: dessalines/lemmy:dev
        # use this to build your local lemmy server image for development
        # run docker compose up --build
        build:
          context: ../
          dockerfile: docker/Dockerfile
          # args:
          #   RUST_RELEASE_MODE: release
        # this hostname is used in nginx reverse proxy and also for lemmy ui to connect to the backend, do not change
        hostname: lemmy
    

    Just copied this from the above URL. But just under lemmy: there’s a few comments and the reference to the build section. You’ll want to remove those lines. and just have:

    lemmy:
        image: dessalines/lemmy:0.17.3-linux-arm64
        ...
    

    You’ll need to do the same thing for lemmy-ui, but it’s build section is already commented out but the default compose is using an incorrect tag for the Pi.

    See below:

    ...
     lemmy-ui:
        image: dessalines/lemmy-ui:0.17.1
        # use this to build your local lemmy ui image for development
        # run docker compose up --build
        # assuming lemmy-ui is cloned besides lemmy directory
        # build:
        #   context: ../../lemmy-ui
        #   dockerfile: dev.dockerfile
       ...
    

    so for it, you just want to change it to:

    lemmy-ui:
        image: dessalines/lemmy-ui:0.17.3-linux-arm64
    ...
    

  • Hmm. Well I literally just setup a Pi running a Lemmy instance last week. I can walk you through the steps that I took…

    1. Ubuntu Server using https://www.raspberrypi.com/software/. Raspbian should also work with these steps, but I just happened to use Ubuntu Server. So feel free to skip this step.

    2. Install Docker via these instructions: https://docs.docker.com/engine/install/ubuntu/. If you used these steps to install Docker prior, feel free to skip, but if you just did apt-get install... you may need to revisit that page.

    3. created a lemmy folder somewhere on my machine. For the sake of argument, I’m going to assume /docker/lemmy for now.

    3a) Create the volumes and pictrs folders and chown them as described in original documentation: https://join-lemmy.org/docs/en/administration/install_docker.html

    1. Copy the docker-compose.yml file as described in the documentation as well as the lemmy.hjson. I placed the docker-compose in /docker and the lemmy.hjson in /docker/lemmy.

    2. Edit the docker-compose.yml so that you use the latest pre-build images instead of building from source. To do that you’ll want to remove the lines that look like this:

    build:
      context: ../
      dockerfile: docker/Dockerfile
    

    and instead replace them with:

    image: dessalines/lemmy:<tag>
    

    but before we do that we need to determine the latest tags that are available to the Pi. You can look here: https://hub.docker.com/r/dessalines/lemmy/tags and here: https://hub.docker.com/r/dessalines/lemmy-ui/tags. For the Pi though the latest versions available are: 0.17.3-linux-arm64 for both the backend and the UI.

    1. Now you should be able to edit the lemmy.hjson / docker-compose and the nginx.conf files to match your environment (i.e. set the passwords, site-name, etc…).

    P.S. I did lookup the error you got and it seems to be related to Nginx. So if above steps don’t work, you may need to paste your nginx.conf file.


  • Are you able to post logs from both the lemmy container and the lemmy-ui container? That might shed some light as to which one is failing.

    $ sudo docker logs lemmy
    $ sudo docker logs lemmy-ui
    

    You may need to run sudo docker container ls in order to find the actual container name for the two, as the default docker-compose doesn’t specify their names, so they’ll get randomly generated.

    (I’m assuming the error you’re seeing from docker compose up -d is from lemmy-ui, and something else is failing or preventing the backend from starting, but that’s just a guess)