Ok so the solution was this. Thank you @[email protected]

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 ?

  • A Mouse
    link
    fedilink
    English
    2
    edit-2
    10 months ago

    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: {}
    
    • TiritibambixOP
      link
      fedilink
      English
      110 months ago

      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 Mouse
        link
        fedilink
        English
        210 months ago

        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 replacing 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 Mouse
        link
        fedilink
        English
        2
        edit-2
        10 months ago

        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
        
        • @[email protected]
          link
          fedilink
          English
          2
          edit-2
          10 months ago

          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.

        • TiritibambixOP
          link
          fedilink
          English
          110 months ago

          Oh that’s great.

          So do I need to keep this ?

          volumes:
              shotshare_data:
          
          • A Mouse
            link
            fedilink
            English
            210 months ago

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

              • A Mouse
                link
                fedilink
                English
                210 months ago

                You’re welcome! Also thanks for asking this question, I hadn’t seen ShotShare before, it looks useful.