Ok so the solution was this. Thank you @mouse@midwest.social

cd /home

git clone https://github.com/mdshack/shotshare

cd .../Files/

sudo mkdir Shotshare

cd .../Files/Shotshare

sudo mkdir shotshare_data

sudo touch .env database.sqlite

cp -r /home/shotshare/storage/* .../Files/Shotshare/shotshare_data

chown 82:82 -R .../Files/Shotshare/

version: "3.3"
services:
  shotshare:
    ports:
      - 2000:80
    environment:
      - HOST=:80
      - ALLOW_REGISTRATION=false
    volumes:
      - .../Files/Shotshare/shotshare_data:/app/storage
      - .../Files/Shotshare/database.sqlite:/app/database/database.sqlite
      - .../Files/Shotshare/.env:/app/.env
    restart: unless-stopped
    container_name: shotshare
    image: mdshack/shotshare:latest
networks: {}

Hello everyone.

I am deeply struggling to install shotshare on my server using docker-compose.

I followed the instructions and I’ve been talking with someone (from their team I guess) for 2 weeks without finding a solution.

Does anyone have a working docker-compose to share so I can compare it and understand ?

    • TiritibambixOPEnglish
      arrow-up
      1
      arrow-down
      0
      ·
      9 months ago
      link
      fedilink

      I struggled a lot with ports.

      I still didn’t get how ports are configured in the container, but a user tried to help me and now I get an error 500

      Here’s my compose (path is OMV path)

      version: "3.3"
      services:
        shotshare:
          ports:
            - 2000:2000
          environment:
            - HOST=:2000
            - ALLOW_REGISTRATION=false
          volumes:
            - /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Shotshare/shotshare_data:/app/storage
            - /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Shotshare/database.sqlite:/app/database/database.sqlite
            - /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Shotshare/.env:/app/.env
          restart: unless-stopped
          container_name: shotshare
          image: mdshack/shotshare:latest
      networks: {}
      

      https://github.com/mdshack/shotshare/assets/69852851/f368510c-652c-4d1f-be92-53fcf281c258

      ERR | ts=1705936180.7673454 logger=http.log.access msg=handled request request={"remote_ip":"192.168.1.106","remote_port":"57659","client_ip":"192.168.1.106","proto":"HTTP/1.1","method":"GET","host":"192.168.1.104:2000","uri":"/","headers":{"Dnt":["1"],"Sec-Gpc":["1"],"Connection":["keep-alive"],"Upgrade-Insecure-Requests":["1"],"User-Agent":["Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"],"Accept-Language":["en-US,en;q=0.5"],"Accept-Encoding":["gzip, deflate"],"Cookie":[]}} bytes_read=0 user_id= duration=0.168065318 size=651 status=500 resp_headers={"Status":["500 Internal Server Error"],"X-Powered-By":["PHP/8.3.1"],"Cache-Control":["no-cache, private"],"Content-Encoding":["gzip"],"Vary":["Accept-Encoding"],"Server":["Caddy"],"Date":["Mon, 22 Jan 2024 15:09:40 GMT"],"Content-Type":["text/html; charset=UTF-8"]} 
      

      I can’t wrap my head around this

      • A MouseEnglish
        arrow-up
        2
        arrow-down
        0
        ·
        9 months ago
        edit-2
        9 months ago
        link
        fedilink

        This appears to be the exact same problem as https://github.com/mdshack/shotshare/issues/31

        For testing I just spun up a VM with Docker, I tried the same compose file as you. I found I had to use the volume instead of a bind mount for /app/storage.

        This compose file should work.

        version: "3.3"
        services:
          shotshare:
            ports:
              - 2000:80
            environment:
              - HOST=:80
              - ALLOW_REGISTRATION=false
            volumes:
              - shotshare_data:/app/storage
              - /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Shotshare/database.sqlite:/app/database/database.sqlite
              - /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Shotshare/.env:/app/.env
            restart: unless-stopped
            container_name: shotshare
            image: mdshack/shotshare:latest
        volumes:
            shotshare_data:
        networks: {}
        
        • TiritibambixOPEnglish
          arrow-up
          1
          arrow-down
          0
          ·
          9 months ago
          link
          fedilink

          Oh wow, thanks for trying this. It is working indeed.

          I am an absolute begginer so let me ask. Where is shotshare_data on my machine ? Is it in docker volumes ( like /var/lib/docker/volumes/) ? Is there a way I can store data in /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Shotshare/ ?

          • A MouseEnglish
            arrow-up
            2
            arrow-down
            0
            ·
            9 months ago
            link
            fedilink

            It will be stored in /var/lib/docker/volumes, you can find the exact location by inspecting the volume. Use docker volume ls to list the volumes, and do docker volume inspect <volume_name> replacing <volume_name> with the one from the list. Look for “Mountpoint”, that is the exact location. You could try copying that to bind mount location, though I can’t be sure if it will continue to work.

          • A MouseEnglish
            arrow-up
            2
            arrow-down
            0
            ·
            9 months ago
            edit-2
            9 months ago
            link
            fedilink

            I just did another test.

            You should be able to create the directories manually. I cheated by simply cloning the repo and copying them to the bind mount location like so. You can use the bind mount method like you wanted.

            git clone https://github.com/mdshack/shotshare
            cp -r shotshare/storage/* /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Shotshare/shotshare_data/
            chown 82:82 -R /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Shotshare/shotshare_data
            
            • N0x0nEnglish
              arrow-up
              2
              arrow-down
              0
              ·
              9 months ago
              edit-2
              9 months ago
              link
              fedilink

              Ugh permission issues

              I have no idea how the shotshare image works, but an easier method is to specify the puid/pgid in the docker-compose:

              environment:
                - PUID=82
                - PGID=82
              

              If the docker image supports it, the --user flag is also helpful :).

              I know those works with volume mounts, no idea about bind mounts.

            • TiritibambixOPEnglish
              arrow-up
              1
              arrow-down
              0
              ·
              9 months ago
              link
              fedilink

              Oh that’s great.

              So do I need to keep this ?

              volumes:
                  shotshare_data:
              
              • A MouseEnglish
                arrow-up
                2
                arrow-down
                0
                ·
                9 months ago
                link
                fedilink

                No, since you are using the bind mount, you do not need to use the volume.

  • TiritibambixOPEnglish
    arrow-up
    1
    arrow-down
    0
    ·
    9 months ago
    link
    fedilink

    To give more information:

    I’m a portainer user and wanted to try shotshare as is looks exactly like what I need :)

    I followed these steps: sudo mkdir Shotshare and cd into this directory sudo touch .env database.sqlite sudo chown 82:82 .env database.sqlite

    and then tried this docker-compose:

    version: "3.3"
    services:
      shotshare:
        ports:
          - 2000:2000
        environment:
          - HOST=:2000
          - ALLOW_REGISTRATION=false
        volumes:
          - /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Shotshare/shotshare_data:/app/storage
          - /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Shotshare/database.sqlite:/app/database/database.sqlite
          - /srv/dev-disk-by-uuid-7fe66601-5ca0-4c09-bc13-a015025fe53a/Files/Shotshare/.env:/app/.env
        restart: unless-stopped
        container_name: shotshare
        image: mdshack/shotshare:latest
    networks: {}