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 ?
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: {}
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/
?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
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.
Oh that’s great.
So do I need to keep this ?
volumes: shotshare_data:
No, since you are using the bind mount, you do not need to use the volume.
Thank you very much !
You’re welcome! Also thanks for asking this question, I hadn’t seen ShotShare before, it looks useful.
It will be stored in
/var/lib/docker/volumes
, you can find the exact location by inspecting the volume. Usedocker volume ls
to list the volumes, and dodocker 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.