!docker@programming.dev
!docker
@programming.devI'm experimenting with i2p and a librewolf container setup in Docker compose. However, the i2p web console front end (127.0.0.1:7657) becomes inaccessible if the container itself is restarted. This can be remedied by removing the directories that get created by the volume mappings in the compose file, but this obviously not ideal. Anyone have experience with this problem? I've seen hints from people online suggesting that the data in those directories getting somehow corrupted. I have not yet investigated that further.
version: "3.5"
services:
i2p_router:
image:
geti2p/i2p:latest
environment:
- JVM_XMX=256m
volumes:
- ./i2phome:/i2p/.i2p
- ./i2ptorrents:/i2psnark
ports:
- 4444:4444
- 6668:6668
- 7657:7657
- 9001:12345
- 9002:12345/udp
libre_wolf:
image:
linuxserver/librewolf
ports:
- 9300:3000
- 9301:3001
volumes:
i2phome:
i2ptorrents:
networks:
frontend:
driver: bridge
I have a docker compose file with a bind volume. It basically mounts /media/user/drive/media to the container's /mnt.
It works as expected when /media/user/drive/ is mounted and its media folder has the files I want the container to see.
However, as it's a network drive, the container usually tries to start before it is mounted, so it would throw the error that /media/user/drive/media doesn't exist. So I created an empty folder in /media/user/drive called media while the drive was not mounted so that at least the container starts with the volume /mnt being empty until the network drive gets mounted and all the files appear at /media/user/drive/media.
To my surprise, when the drive gets mounted, even though if I do ls /media/user/drive/media it lists the drive contents correctly, the container still sees /mnt empty.
How would I go about getting the drive files inside the docker container when it automatically starts?
I am hoping that you awesome people can help me with something I've noticed in my Plex logs. Quick notes on my set up:
Mini PC running Ubuntu 22.04, portainer, Plex, arrs and calibre all running in docker. All of these except Plex are using a bridge network that I created in portainer. The PC is connected to the router by ethernet cable, and I have set up a static IP in the router settings. I have also added the static IP info into the network settings in Ubuntu.
The following text is repeated over and over in the Plex Media Server log, about 6 seconds apart. My playback is mostly fine, but I have been experiencing buffering. Regardless this can't be right!.
n.b. I did post elsewhere but I feel that this is not necessarily Plex related and you can likely help with this more technical question.
DEBUG - NetworkInterface: received Netlink message len=88, type=RTM_DELADDR, flags=0x0 Aug 22, 2024 18:51:49.636 [139016208919352] DEBUG - NetworkInterface: Netlink address message family=2, index=3, flags=0x0 Aug 22, 2024 18:51:49.636 [139016208919352] DEBUG - Network change. Aug 22, 2024 18:51:49.636 [139016208919352] DEBUG - NetworkInterface: Notified of network changed (force=0) Aug 22, 2024 18:51:49.637 [139016208919352] DEBUG - Network change notification but nothing changed.
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:
-services:
Hi everyone !
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...
Maybe not directly related to databases but that one is also bugging me for some time now:
Thanks :)
Edit - marking as solved.
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:
I have set a remote path in the download clients page in sonarr as follows:
I have ftp'd the mkv file to actual folder structure:
The permissions on this file are:
the folder permissions are:
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.---
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
set restart: unless-stopped
in docker compose file so it keeps restarting the container and with cron job to renew the certificate when required.
Set cron job in host machine to restart the container.
Are there any other/more option to tackle this situation.
https://www.docker.com/blog/docker-desktop-4-32/
Discover the powerful new features in Docker Desktop 4.32, including the Compose File Viewer, terminal integration, and enterprise-grade volume backups, designed to enhance developer productivity and streamline workflows.
https://github.com/moby/moby/releases/tag/v27.0.2
27.0.2 For a full list of pull requests and changes in this release, refer to the relevant GitHub milestones: docker/cli, 27.0.2 milestone moby/moby, 27.0.2 milestone Deprecated and removed featur...
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?