I would love to be able to spin up a container for this cocktail recipe thing I found on Docker Hub.
https://hub.docker.com/r/gthole/drink-stash
I am running a Synology DSM 7.2, I have Portainer and have enough knowledge to set up basic things with lots of guides like plex/pihole. But since this is such a niche app my lack of knowledge is hurting.
Anyone have guidance for setting this up for someone with my tools and experience?
There’s literally compose files in the link you provided. Copy/paste?
Well, what issue do you have? You have a docker-compose snippet that you can add with portainer, from there what is not working?
Well, I added in the docker-compose snippet in the “Running” section of the link to a new stack in Portainer, changing secret_key and allowed_hosts to localhost, pre-setup the volumes on Synology. The first error I get is “services.api.environment must be a mapping”
Lol, the snippet has a mistake. The environment section should look like one of the 2 ways shown there: https://docs.docker.com/compose/compose-file/compose-file-v3/#environment
So either
environment: - SECRET_KEY= - ALLOWED_HOSTS=
Or
environment: SECRET_KEY: ALLOWED_HOSTS:
Well, with “- SECRET_KEY=” I at least got a different error, a bind mount fail?
I see what’s the problem this time, in your case you should probably use named volumes instead of bind-mount (which us what it is trying to do). I’m going to sleep now but if you can’t figure it out I can send an example tommorow.
Not sure on the terms, but I did change the volume lines to direct to folders I pre-made in /volume1/drink-stash/data (same for public)
Try this:
version: '3.7' services: api: image: 'gthole/drink-stash:latest' init: true restart: 'always' environment: - SECRET_KEY=YOUR_SECRET_KEY - ALLOWED_HOSTS=SYNOLOGY_HOSTNAME_OR_IP ports: - 8081:8000 volumes: - drink-stash-data:/data - drink-stash-public:/public volumes: drink-stash-data: drink-stash-public:
This will create volumes instead of mounting the folders. Mounting the folders (which is what you tried doing before) should be possible and nicer to use since you would be able to navigate the files directly, but since I do not know the filesystem and layout of synology it’s harder for me to help there. Using named volumes like I just sent you should work for any filesystem/layout so you shouldnt have any problem with that.
Also, use the synology hostname and/or ip for the allowed_hosts, localhost would only work if you were running that on your computer. The app should then be available at http://SYNOLOGY_HOSTNAME_OR_IP:8081
Well that did allow the Portainer to compile without error and deploy so I really appreciate the help! When navigating to the http://(my ip):8081 though I get a white page with “Bad Request (400)” on it
deleted by creator
For anyone trying to google a solution, I got it to work with the below in Portainer
version: ‘3.7’
services:
api: image: 'gthole/drink-stash:latest' init: true restart: 'always' environment: - SECRET_KEY=*enter-a-key-here* - ALLOWED_HOSTS=*enter-ip-here* - DJANGO_SUPERUSER_USERNAME=*can-be-whatever* - DJANGO_SUPERUSER_EMAIL=*duh* - DJANGO_SUPERUSER_PASSWORD=*make-it-up* - DJANGO_SUPERUSER_FIRST_NAME=*John* - DJANGO_SUPERUSER_LAST_NAME=*Smith* - INITIAL_FIXTURES=recipes ports: - 8081:8000 volumes: - /volume1/docker/drink-stash/data:/data - /volume1/docker/drink-stash/public:/public