Docker

1076 readers
2 users here now

founded 1 year ago
MODERATORS
1
 
 

I have readarr and all other arrs working in Ubuntu with docker portainer. I followed the trash guides and LinuxServerio guides to get me this far. I want to expand my book library, and so I have added calibre.

After having calibre import my book library, I went to readarr to delete the root, and re-add it with the new path to the calibre library. I am having problems with the Calibre Settings on the Add Root page.

The calibre server is listening at 172.18.0.2, port 8081, HTTP. I have created a user account on the calibre "sharing over the net" page. In readarr, I have set the Calibre Host to 172.18.0.2 and the Calibre Port to 8081. When I click save, I get the error Unknown exception: Http request timed out.

Most of the guides I have found are 3 or 4 years old. On one guide the Calibre Host was set to: calibre. That doesn't work. Setting the Host to the IP of my server doesn't work either.

Can any one help? I don't know if I have a permissions or firewall problem, or if I am just doing something wrong. The calibre logs are not showing any issues. I have copied the .yaml files used below.

-services:

  • calibre:
  • image: lscr.io/linuxserver/calibre:latest
  • container_name: calibre
  • security_opt:
    • seccomp:unconfined
  • environment:
    • PUID=1000
    • PGID=1000
    • TZ=Europe/London
    • CLI_ARGS = #optional
  • volumes:
    • /data/calibre:/config
    • /data/Media/calibre:/library
    • /data/Media/books:/upload
  • ports:
    • 8080:8080
    • 8081:8081
  • restart: unless-stopped

-services:

  • readarr:
  • image: lscr.io/linuxserver/readarr:develop
  • container_name: readarr
  • environment:
    • PUID=1000
    • PGID=1000
    • TZ=Europe/London
  • volumes:
    • /data/readarr:/config
    • /data/Media/calibre:/library
    • /data/Media/downloads:/downloads
  • ports:
    • 8787:8787
  • restart: unless-stopped
2
 
 

Hi everyone !

Intro

Was a long ride since 3 years ago I started my first docker container. Learned a lot from how to build my custom image with a Dockerfile, loading my own configurations files into the container, getting along with docker-compose, traefik and YAML syntax... and and and !

However while tinkering with vaultwarden's config and changing to postgresSQL there's something that's really bugging me...

Questions


  • How do you/devs choose which database to use for your/their application? Are there any specific things to take into account before choosing one over another?

  • Does consistency in database containers makes sense? I mean, changing all my containers to ONLY postgres (or mariaDB whatever)?

  • Does it make sense to update the database image regularly? Or is the application bound to a specific version and will break after any update?

  • Can I switch between one over another even if you/devs choose to use e.g. MariaDB ? Or is it baked/hardcoded into the application image and switching to another database requires extra programming skills?

Maybe not directly related to databases but that one is also bugging me for some time now:

  • What's redis role into all of this? I can't the hell of me understand what is does and how it's linked between the application and database. I know it's supposed to give faster access to resources, but If I remember correctly, while playing around with Nextcloud, the redis container logs were dead silent, It seemed very "useless" or not active from my perspective. I'm always wondering "Humm redis... what are you doing here?".

Thanks :)

3
5
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/[email protected]
 
 

Edit - marking as solved.

  • Remote path: /home/seedit4me
  • local path: /data

This is now working, I don't know why it wasn't before. ‐------------

I have followed the docs and have the recommended folder structures for my Plex and arrs setup.

sonarr has a volume set as /data which gives it access to e.g. /data/usenet/downloads This is working fine with SABnzdb

I am using a seedbox for torrents. Looking at ruTorrent on the seedbox, I can see that the local download folder there is set to: /home/seedit4me/torrents/rtorrent

sonarr is reporting "No files found are eligible for import in:

  • /home/seedit4me/torrents/rtorrent/Completed/tv-sonarr/filename.mkv

I have set a remote path in the download clients page in sonarr as follows:

  • Host - ****.seedit4.me
  • Remote path: /home/seedit4me
  • local path: /data

I have ftp'd the mkv file to actual folder structure:

  • /data/torrents/rtorrent/Completed/tv-sonaar/filename.mkv

The permissions on this file are:

  • -rw-rw-r--

the folder permissions are:

  • drwxrwxr-x 2 myacct myacct 4096 Aug 2 11:41 .
  • drwxrwxr-x 3 myacct myacct

My uid=1000(my acct), same for gid I have set these as the PUID and PGID env variables in sonarr

The log file in sonarr is reporting: |Error|DownloadedEpisodesImportService|Import failed, path does not exist or is not accessible by Sonarr: /home/(removed)/torrents/rtorrent/Completed/tv-sonarr/filename.mkv

Seeing this, i tried mapping /home/(removed)/ to /data/ but that doesn't work either.

Can anyone guide me on what I am doing wrong? I feel like I've checked everything so I can't understand the issue at all.---

4
 
 

I am working on this django docker project template with this certbot setup, Dockerfile

FROM certbot/certbot:v1.27.0

COPY certify-init.sh /opt/
RUN chmod +x /opt/certify-init.sh

ENTRYPOINT ["/opt/certify-init.sh"]

entrypoint

#!/bin/sh

set -e

echo "Getting certificate..."

certbot certonly \
    --webroot \
    --webroot-path "/vol/www/" \
    -d "$DOMAIN" \
    --email $EMAIL \
    --rsa-key-size 4096 \
    --agree-tos \
    --noninteractive

if [ $? -ne 0 ]; then
    echo "Certbot encountered an error. Exiting."
    exit 1
fi

#for copying the certificate and configuration to the volume
if [ -f "/etc/letsencrypt/live/${DOMAIN}/fullchain.pem" ]; then
    echo "SSL cert exists, enabling HTTPS..."
    envsubst '${DOMAIN}' < /etc/nginx/nginx.prod.conf > /etc/nginx/conf.d/default.conf
    echo "Reloading Nginx configuration..."
    nginx -s reload
else
    echo "Certbot unable to get SSL cert,server HTTP only..."
fi


echo "Setting up auto-renewal..."
apk add --no-cache dcron
echo "0 12 * * * /usr/bin/certbot renew --quiet" | crontab -
crond -b

problem with this setup is,certbot exits after initial run of getting the certificate and when it's renew time it require manual intervention.

Now There are two choices

  1. set restart: unless-stopped in docker compose file so it keeps restarting the container and with cron job to renew the certificate when required.

  2. Set cron job in host machine to restart the container.

Are there any other/more option to tackle this situation.

5
6
 
 

cross-posted from: https://lazysoci.al/post/15099881

A surprise Docker update!

7
 
 

I want to have a tomcat in docker and hot deploy my java stuff. Or as it has been requested here 11 years ago: https://stackoverflow.com/questions/31246526/how-to-hot-deploy-java-ee-applications-in-docker-containers and has recently implemented by IntelliJ.

Any directions?

8
 
 

I am running Fedora Server with Docker installed, and it has a folder that connects to my NAS via SMB. I will have all of my Docker files (and Compose configs) stored on my NAS, since it has a lot more storage. I am worried that Docker will glitch out and cause a mess, since my NAS starts ~2 minutes later than my server from a reboot. Is there something that I can do to make sure Docker is able to connect to the SMB share safely?

9
 
 

I have a NAS where I tested to see if some apps could run on it without a server. They overloaded the CPU, so I am now wanting to move them over to a more powerful workstation. I'm used to Compose files/configs, but it seems that my NAS uses plain Docker. Is there a way to extract the configs/long terminal setup commands? I have Portainer installed, if that makes it easier.

10
 
 

cross-posted from: https://lazysoci.al/post/14373858

cross-posted from: https://lazysoci.al/post/14373856

Docker got updated.

11
 
 

cross-posted from: https://lazysoci.al/post/14279205

I built my first image locally and now I'm dancing around my desk to myself in satisfaction. I was anxious AF and so that meant I had a million extra questions along the way and everyone helped me. I'm truly grateful. Thanks for teaching me/holding my hand. I can't put into words my gratitude, but truly, thank you so so much.

12
 
 

cross-posted from: https://lazysoci.al/post/14145485

There's a service that I want to use, however for reasons, it no longer has any builds available. Consequently, I am thinking of building it myself. How does one go about doing that and then afterwards, how do I get it up on Docker hub? Can I just create an account and upload?

13
6
submitted 2 months ago* (last edited 2 months ago) by [email protected] to c/[email protected]
 
 

cross-posted from: https://lazysoci.al/post/13966618

If I have

version: "3.8"

services: 
  example1:
    image: example.com/example1:latest
  ports: 8000:80
volumes: 
  - shared_example:/data
services: 
  example2:
    image: example.com/example2:latest
  ports: 8080:80
volumes: 
  - shared_example:/data

volumes:
  shared_example: 
    driver_opts: 
      type: nfs
      o: "192.100.1.100, nolock,soft,rw"
      device: ":/local/shared"

Will that slow things down or is the proper solution to have

volumes:
  shared_example1: 
    driver_opts: 
      type: nfs
      o: "192.100.1.100, nolock,soft,rw"
      device: ":/local/shared"
  shared_example2: 
    driver_opts: 
      type: nfs
      o: "192.100.1.100, nolock,soft,rw"
      device: ":/local/shared"

Or even

volumes:
  shared_example1: 
  shared_example2: 
    driver_opts: 
      type: nfs
      o: "192.100.1.100, nolock,soft,rw"
      device: ":/local/shared"
14
 
 

I have my main compose file which has a bunch of services in and while it makes it easier to manage, it's also limiting when I wanna use postgres:// to access a database rather than exposing a port. I'm wondering if I can remedy this by moving it to a new network and(?) stack?

If so, is it just as simple as adding

networks
  - new network name
stacks
  - new stacks name

I'm still curious as to the answer, but it's not something I need.

15
16
17
18
 
 

I have a Bluesky PDS running successfully. Now I'm trying to set up GoToSocial, an ActivityPub server that also uses sqlite. When I run

sudo docker compose up -d

I get the following error in the docker log for GoToSocial:

Error executing command: error creating dbservice: sqlite ping: Unable to open the database file (SQLITE_CANTOPEN)

Is this more likely to be a conflict between the two docker applications or something specific to GoToSocial? (I've gone through the sqlite issues I've been able to find in GoToSocial's GitHub.)

If something to do with running sqlite in two containers, do you have any tips to resolve the issue?

19
 
 

I've been thinking about writing a script that would alert me if there was an updated version of an image I was running.

DockerHub shows an image digest on the page for that tag:

And I can extract the digest for an image I am running with:

docker inspect --format='{{index .RepoDigests 0}}' jc21/nginx-proxy-manager:latest

This matches the one from the DockerHub screenshot. But I can't see a CLI way to get the image digest from a registry. It seems like:

docker manifest inspect jc21/nginx-proxy-manager:latest

should do it, but it pulls out the digest of each of the architecture builds for that tag instead of the one shown in dockerhub.

Is there a way to compare the current local image with one in a registry from the command line? Or perhaps there's a more sensible way to do this?

20
 
 

cross-posted from: https://lazysoci.al/post/12093283

Suddenly, things aren't loading properly. For example Heimdall takes forever to load and Navidrome is timing out.

When I do docker-compose pull

It says says

Error response from daemon: Get "https://registry-1.docker.io/v2/" net/http: request cancelled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Anyone know what's up or how to fix it?

21
 
 

I have found several docker containers that allow you to run a BOINC server as a container, but I haven’t seen any that give you access to the BOINC screensaver. My ideal would be if the screensaver itself was shown on a dedicated port so it could be used easily as a display without any controls popping up.

Sadly, I have no idea how to make this or how to get a custom container made. I guess I’m just throwing this idea out to the universe in hope that it happens someday.

22
12
submitted 4 months ago* (last edited 4 months ago) by [email protected] to c/[email protected]
 
 

I'm trying to create a postgres container, I have the following in my Docker Compose:

db:
  container_name: db
  image: postgres
  restart: always
  environment:
    #POSTGRES_USER="postgres"
    POSTGRES_PASSWORD: HDFnWzVZ5bGI
  ports:
    - 5432:5432
  volumes:
    - pgdata:/var/lib/postgresql/data
adminer:
  container_name: adminer
  image: adminer
  restart: always
  ports:
    - 8338:8080

And yet Docker keeps saying that the database is initialized and that the superuser is not specified. Where am I going wrong?

I've tried with and without equals, a hyphen, quotation marks. No matter what I try, it won't see it.

#Solution:

Find:

  volumes:
    - pgdata:/var/lib/postgresql/data

Replace:

  volumes:
    - /opt/postgres/data:/var/lib/postgresql/data

More info: https://lazysoci.al/comment/8597610

23
 
 

cross-posted from: https://programming.dev/post/11703185

cross-posted from: https://programming.dev/post/11703178

In this article, we’ll examine cache misses and, in general, learn about the caching concept and how to implement it in Spring Boot.

24
 
 

Note: video sponsored by Docker

25
view more: next ›