Just a random dude that tinkers with computers and loves cats

  • 0 Posts
  • 5 Comments
Joined 2 years ago
cake
Cake day: June 19th, 2023

help-circle


  • Kakise@mlem.a-smol-cat.frtoAsklemmy@lemmy.mlDeleted
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    undefined> Idk man, if I wanted to write out this comment I can just whip out my phone

    And what if you need to give an email to someone, quickly, you give them your phone? Go through the hoops of exchanging contact information? Potentially breaching your peace of mind ?



  • There are no 0.17.4 tags for arm64, but you can use this docker-compose.yml: (you’ll need to start the services the first time using docker compose up --build)

    version: "3.3"
    
    x-logging: &default-logging
      driver: "json-file"
      options:
        max-size: "50m"
        max-file: 4
    
    networks:
      # communication between lemmy services
      lemmyinternal:
        driver: bridge
        internal: true
      # communication to npm
      my-main-net: 
        external: true
    
    services:
      proxy:
        image: nginx:1-alpine
        networks:
          - lemmyinternal
          - my-main-net
        hostname: lemmy-proxy
        ports:
          # actual and only port facing any connection from outside
          # Note, change the left number if port 1236 is already in use on your system
          # You could use port 80 if you won't use a reverse proxy
          - "90:80" # This gets proxied via nginx
          - "1236:1236"
          - "8536:8536"
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf:ro,Z
        restart: always
        depends_on:
          - pictrs
          - lemmy-ui
        logging: *default-logging
    
      lemmy:
        # use this to build your local lemmy server image for development
        # run docker compose up --build
        build:
          context: ./lemmy
          dockerfile: ./docker/prod/Dockerfile.arm
    #        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
        networks:
          - lemmyinternal
        restart: always
        environment:
          - RUST_LOG="warn,lemmy_server=debug,lemmy_api=debug,lemmy_api_common=debug,lemmy_api_crud=debug,lemmy_apub=debug,lemmy_db_schema=debug,lemmy_db_views=debug,lemmy_db_views_actor=debug,lemmy_db_views_moderator=debug,lemmy_routes=debug,lemmy_utils=debug,lemmy_websocket=debug"
          - RUST_BACKTRACE=full
        volumes:
          - ./lemmy.hjson:/config/config.hjson:Z
        depends_on:
          - postgres
          - pictrs
        logging: *default-logging
    
      lemmy-ui:
        #platform: linux/amd64
        #image: dessalines/lemmy-ui:latest
        # 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
        networks:
          - lemmyinternal
        environment:
          # this needs to match the hostname defined in the lemmy service
          - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy:8536
          # set the outside hostname here
          - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost
          - LEMMY_HTTPS=false
          - LEMMY_UI_DEBUG=true
        depends_on:
          - lemmy
        restart: always
        logging: *default-logging
    
      pictrs:
        image: asonix/pictrs:0.4.0-rc.3-linux-arm64v8
        # this needs to match the pictrs url in lemmy.hjson
        hostname: pictrs
        # we can set options to pictrs like this, here we set max. image size and forced format for conversion
        # entrypoint: /sbin/tini -- /usr/local/bin/pict-rs -p /mnt -m 4 --image-format webp
        networks:
          - lemmyinternal
        environment:
          - PICTRS_OPENTELEMETRY_URL=http://otel:4137
          - PICTRS__API_KEY=API_KEY
          - RUST_LOG=debug
          - RUST_BACKTRACE=full
          - PICTRS__MEDIA__VIDEO_CODEC=vp9
          - PICTRS__MEDIA__GIF__MAX_WIDTH=256
          - PICTRS__MEDIA__GIF__MAX_HEIGHT=256
          - PICTRS__MEDIA__GIF__MAX_AREA=65536
          - PICTRS__MEDIA__GIF__MAX_FRAME_COUNT=400
        user: 991:991
        volumes:
          - ./volumes/pictrs:/mnt:Z
        restart: always
        logging: *default-logging
    
      postgres:
        image: postgres:15.3-alpine3.18
        # this needs to match the database host in lemmy.hson
        # Tune your settings via
        # https://pgtune.leopard.in.ua/#/
        # You can use this technique to add them here
        # https://stackoverflow.com/a/30850095/1655478
        hostname: postgres
        command:
          [
            "postgres",
            "-c",
            "session_preload_libraries=auto_explain",
            "-c",
            "auto_explain.log_min_duration=5ms",
            "-c",
            "auto_explain.log_analyze=true",
            "-c",
            "track_activity_query_size=1048576",
          ]
        networks:
          - lemmyinternal
        ports:
          # use a different port so it doesnt conflict with potential postgres db running on the host
          - "5433:5432"
        environment:
          - POSTGRES_USER=lemmy
          - POSTGRES_PASSWORD=password
          - POSTGRES_DB=lemmy
        volumes:
          - ./volumes/postgres:/var/lib/postgresql/data:Z
        restart: always
        logging: *default-logging
    

    Don’t forget to change the different options It assumes this folder structure:

    • lemmy from git
    • lemmy-ui from git
    • nginx.conf check docs
    • lemmy.hjson check docs
    • docker-compose.yml the code I pasted