jlesage / docker-tixati

Docker container for Tixati
5 stars 2 forks source link

[Bug] Data lost after contanier restart #3

Open FaNt4zMa opened 1 week ago

FaNt4zMa commented 1 week ago

Current Behavior

After restarting the docker container, I lose all settings and torrent list.

Expected Behavior

I'd want the data to persist

Steps To Reproduce

  1. Add a torrent to list
  2. Check/Finish torrent
  3. Stop docker container
  4. Start docker container

Environment

Container creation

Docker-compose:

version: '3'
services:
    tixati:
       image: jlesage/tixati
       container_name: tixati
       environment:
            - USER_ID=1000
            - GROUP_ID=1000
            - TZ=Canada/Eastern
            - KEEP_APP_RUNNING=1
       ports:
            - 8092:5800
            - 17844:17844/tcp
            - 17844:17844/udp
       volumes:
            - /home/fantaz/Tools/Tixati/appdata:/config:rw
            - media2:/output:rw
       restart: unless-stopped
volumes: 
    media2: 
        driver_opts: 
           type: cifs 
           o: "addr=192.168.2.55,username=fantaz,password=**********,vers=3.0,uid=1000,gid=1000" 
           device: "//192.168.2.55/Media2"

Container log

[cont-env    ] GTK_THEME: loading...
[cont-env    ] HOME: loading...
[cont-env    ] QT_STYLE_OVERRIDE: executing...
[cont-env    ] QT_STYLE_OVERRIDE: terminated successfully.
[cont-env    ] QT_STYLE_OVERRIDE: loading...
[cont-env    ] TAKE_CONFIG_OWNERSHIP: loading...
[cont-env    ] XDG_CACHE_HOME: loading...
[cont-env    ] XDG_CONFIG_HOME: loading...
[cont-env    ] XDG_DATA_HOME: loading...
[cont-env    ] XDG_RUNTIME_DIR: loading...
[cont-env    ] XDG_STATE_HOME: loading...
[cont-env    ] container environment variables initialized.
[cont-secrets] loading container secrets...
[cont-secrets] container secrets loaded.
[cont-init   ] executing container initialization scripts...
[cont-init   ] 10-certs.sh: executing...
[cont-init   ] 10-certs.sh: terminated successfully.
[cont-init   ] 10-check-app-niceness.sh: executing...
[cont-init   ] 10-check-app-niceness.sh: terminated successfully.
[cont-init   ] 10-clean-logmonitor-states.sh: executing...
[cont-init   ] 10-clean-logmonitor-states.sh: terminated successfully.
[cont-init   ] 10-clean-tmp-dir.sh: executing...
[cont-init   ] 10-clean-tmp-dir.sh: terminated successfully.
[cont-init   ] 10-fontconfig-cache-dir.sh: executing...
[cont-init   ] 10-fontconfig-cache-dir.sh: terminated successfully.
[cont-init   ] 10-init-users.sh: executing...
[cont-init   ] 10-init-users.sh: terminated successfully.
[cont-init   ] 10-nginx.sh: executing...
[cont-init   ] 10-nginx.sh: terminated successfully.
[cont-init   ] 10-openbox.sh: executing...
[cont-init   ] 10-openbox.sh: terminated successfully.
[cont-init   ] 10-pkgs-mirror.sh: executing...
[cont-init   ] 10-pkgs-mirror.sh: terminated successfully.
[cont-init   ] 10-set-tmp-dir-perms.sh: executing...
[cont-init   ] 10-set-tmp-dir-perms.sh: terminated successfully.
[cont-init   ] 10-vnc-password.sh: executing...
[cont-init   ] 10-vnc-password.sh: terminated successfully.
[cont-init   ] 10-web-data.sh: executing...
[cont-init   ] 10-web-data.sh: terminated successfully.
[cont-init   ] 10-x11-unix.sh: executing...
[cont-init   ] 10-x11-unix.sh: terminated successfully.
[cont-init   ] 10-xdg-runtime-dir.sh: executing...
[cont-init   ] 10-xdg-runtime-dir.sh: terminated successfully.
[cont-init   ] 15-cjk-font.sh: executing...
[cont-init   ] 15-cjk-font.sh: terminated successfully.
[cont-init   ] 15-install-pkgs.sh: executing...
[cont-init   ] 15-install-pkgs.sh: terminated successfully.
[cont-init   ] 55-tixati.sh: executing...
[cont-init   ] 55-tixati.sh: terminated successfully.
[cont-init   ] 85-take-config-ownership.sh: executing...
[cont-init   ] 85-take-config-ownership.sh: terminated successfully.
[cont-init   ] 89-info.sh: executing...
    ╭――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╮
    │                                                                      │
    │ Application:           Tixati                                        │
    │ Application Version:   3.25                                          │
    │ Docker Image Version:  24.06.1                                       │
    │ Docker Image Platform: linux/amd64                                   │
    │                                                                      │
    ╰――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╯
[cont-init   ] 89-info.sh: terminated successfully.
[cont-init   ] all container initialization scripts executed.
[init        ] giving control to process supervisor.
[supervisor  ] loading services...
[supervisor  ] loading service 'default'...
[supervisor  ] loading service 'logrotate'...
[supervisor  ] loading service 'app'...
[supervisor  ] loading service 'gui'...
[supervisor  ] loading service 'nginx'...
[supervisor  ] loading service 'xvnc'...
[supervisor  ] loading service 'certsmonitor'...
[supervisor  ] service 'certsmonitor' is disabled.
[supervisor  ] loading service 'openbox'...
[supervisor  ] loading service 'logmonitor'...
[supervisor  ] service 'logmonitor' is disabled.
[supervisor  ] all services loaded.
[supervisor  ] starting services...
[supervisor  ] starting service 'xvnc'...
[xvnc        ] Xvnc TigerVNC 1.13.1 - built Dec 21 2023 00:52:46
[xvnc        ] Copyright (C) 1999-2022 TigerVNC Team and many others (see README.rst)
[xvnc        ] See https://www.tigervnc.org for information on TigerVNC.
[xvnc        ] Underlying X server release 12014000
[xvnc        ] Fri Jun 21 02:41:24 2024
[xvnc        ]  vncext:      VNC extension running!
[xvnc        ]  vncext:      Listening for VNC connections on /tmp/vnc.sock (mode 0660)
[xvnc        ]  vncext:      Listening for VNC connections on all interface(s), port 5900
[xvnc        ]  vncext:      created VNC server for screen 0
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTP connections on port 5800.
[supervisor  ] starting service 'openbox'...
[supervisor  ] starting service 'app'...
[supervisor  ] all services started.
[xvnc        ] Fri Jun 21 02:41:27 2024
[xvnc        ]  Connections: accepted: /tmp/vnc.sock
[xvnc        ]  SConnection: Client needs protocol version 3.8
[xvnc        ]  SConnection: Client requests security type None(1)
[xvnc        ]  VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888
[xvnc        ]  VNCSConnST:  Client pixel format depth 24 (32bpp) little-endian bgr888
[xvnc        ]  ComparingUpdateTracker: 0 pixels in / 0 pixels out
[xvnc        ]  ComparingUpdateTracker: (1:-nan ratio)

Container inspect

[
    {
        "Id": "e9ee842314bae717140b35184a51ede0a42c62799256508ad5408c91ef99729f",
        "Created": "2024-06-21T06:41:21.454183039Z",
        "Path": "/init",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 2782526,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2024-06-21T06:41:24.043880749Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:f30201edf54ab3886d7f54dfd4f8798e5d0dc7a723f5d2526c110f16951354cd",
        "ResolvConfPath": "/var/lib/docker/containers/e9ee842314bae717140b35184a51ede0a42c62799256508ad5408c91ef99729f/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/e9ee842314bae717140b35184a51ede0a42c62799256508ad5408c91ef99729f/hostname",
        "HostsPath": "/var/lib/docker/containers/e9ee842314bae717140b35184a51ede0a42c62799256508ad5408c91ef99729f/hosts",
        "LogPath": "/var/lib/docker/containers/e9ee842314bae717140b35184a51ede0a42c62799256508ad5408c91ef99729f/e9ee842314bae717140b35184a51ede0a42c62799256508ad5408c91ef99729f-json.log",
        "Name": "/tixati",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/home/fantaz/Tools/Tixati/appdata:/config:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "tixati_default",
            "PortBindings": {
                "17844/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "17844"
                    }
                ],
                "17844/udp": [
                    {
                        "HostIp": "",
                        "HostPort": "17844"
                    }
                ],
                "5800/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8092"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "Mounts": [
                {
                    "Type": "volume",
                    "Source": "tixati_media2",
                    "Target": "/output",
                    "VolumeOptions": {}
                }
            ],
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware",
                "/sys/devices/virtual/powercap"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/8f565acc262b61660e6b5916142cae554d90884bef708af4feb61882e40d84ff-init/diff:/var/lib/docker/overlay2/e1ef898bcf1b0971205bcd2e3feecec2de57e5ee931c3f2185be93df55846667/diff:/var/lib/docker/overlay2/999fe158d316cd05f1828d00aac461f9a975227d26eb23106b9218f9c18b1276/diff:/var/lib/docker/overlay2/79ffa1304c1b67ff26dc2727a175dc29e1e11a70d3497acfb74a90a9a2218e70/diff:/var/lib/docker/overlay2/06487d4e03972c5d0ee030cd90ff52799dcaea08a96e0aac1bfbe826bee69727/diff:/var/lib/docker/overlay2/2a6368cc7b3602648536a94ad2321253f22385dfee4db6d785192975dacfdb1f/diff:/var/lib/docker/overlay2/5f322b5bce9c175ab7a4432a44003665ab0f0a283d302dca7a85b76ee337cd85/diff:/var/lib/docker/overlay2/9bcabbba73e4dae3df7aaaa50fa1de5c8495cbbb5dedf136a2f3fa41e2aefdaa/diff:/var/lib/docker/overlay2/9ccb6c3c8d62b93a6e5f5f4822ae284723caf4f4484eead317da7fb0c0c22aa9/diff:/var/lib/docker/overlay2/20e2fecae6b8974c6043b524f8a4571375dfc6478f7c597246700c57f467721c/diff:/var/lib/docker/overlay2/6e8c268fd4df0c989d29663ce2c672698d79b681c8831ae629f9a30319a6ada2/diff:/var/lib/docker/overlay2/7aefc2db2ef2039f9239728a5157c8178368b52c54bcbfd2304c8b57df8a1244/diff:/var/lib/docker/overlay2/7684b8491c0f6a396f0836d4adead9094078444c818fda7cc01797447d83a357/diff:/var/lib/docker/overlay2/726095debe5602e3ee095830d21644c8f05ae136379c9ff9311ab4011d94b174/diff:/var/lib/docker/overlay2/6165da27faeff3dacdd8ae50b995ab8759894a70bffe08535c48066f7931db08/diff:/var/lib/docker/overlay2/6fcbe948ef2486075ba9d2fd2d823e746940ce07a811f91021575bcf56e28b08/diff:/var/lib/docker/overlay2/625efbf4a7078a71c8629e6401361a1089805f0c86984445632b2728f981a07a/diff:/var/lib/docker/overlay2/4b62ba65583517443297a0b9b2dcd89e2e94dd43175a915698c52b3c524cd74b/diff:/var/lib/docker/overlay2/a46d59d3809c33554c2508bc5092450628bc9a500620dc4a1aa8ec8d90051d04/diff:/var/lib/docker/overlay2/a07b0ad34215f92f49fb6feba25edcaac112d477c8244a200535dc3b3f19f4dc/diff:/var/lib/docker/overlay2/035df0b08aa41eaab4ccd3b1cc4e897316ee2015065f5b3929567ccdfb8f4c62/diff:/var/lib/docker/overlay2/7598ceb387024555ce5a3b3221fe422cab644f6ed966392cc462ea95e6be25f0/diff:/var/lib/docker/overlay2/7f4e838bdf6592cda0b28fffd90a86b4ccff4be06ccf7a8896ac2140532e3bce/diff:/var/lib/docker/overlay2/f56b822471c113b516725c45c6da39d39d6bc1eefe9263dc8d8156a7e7eed077/diff:/var/lib/docker/overlay2/6a63eeff7683ae3b139daf320c15f6c344bed46b4b0dca22092b09da6b371579/diff:/var/lib/docker/overlay2/a4a3c76040e979b173d13360a952e8a740ad6f0f0e8878172ba0759a235869df/diff:/var/lib/docker/overlay2/60bddbc65765ac1b4450afd86f083c7afc3d8ab8ac2161447609a9da02ccbca4/diff:/var/lib/docker/overlay2/5930c6248309b6770942f50048e5378aa336889f58c3406618c1281302f94d07/diff:/var/lib/docker/overlay2/40e1e04a780ac3d2cb5a58b5d1fb855e5cdb4c146f5984bc8865e595dd477e1f/diff:/var/lib/docker/overlay2/07adbf2c42c454a52fd4ef710546c857d7745391455b4644537b151e30e14ed0/diff:/var/lib/docker/overlay2/1b6f81ba246c73c7dab05b3c884910b4e87c4d5f0162e514e8fa3f8125b9b8c5/diff:/var/lib/docker/overlay2/dafac385d0d703ba8b7832b4eed4d491bba857448de695011fa9f534296b228b/diff:/var/lib/docker/overlay2/c144034eedd9e7608620e3f9cb944c4645b25075e28186a883adb0b2f641c8e2/diff:/var/lib/docker/overlay2/de6efe57a00bc0ca975bc436d8435f2f2a76b9d7e59d49a1b21b3a9bf581eece/diff:/var/lib/docker/overlay2/84c16e1e2573572d500176c070e143faf245c832f52ca8bb03db007914d88993/diff",
                "MergedDir": "/var/lib/docker/overlay2/8f565acc262b61660e6b5916142cae554d90884bef708af4feb61882e40d84ff/merged",
                "UpperDir": "/var/lib/docker/overlay2/8f565acc262b61660e6b5916142cae554d90884bef708af4feb61882e40d84ff/diff",
                "WorkDir": "/var/lib/docker/overlay2/8f565acc262b61660e6b5916142cae554d90884bef708af4feb61882e40d84ff/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/home/fantaz/Tools/Tixati/appdata",
                "Destination": "/config",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "volume",
                "Name": "tixati_media2",
                "Source": "/var/lib/docker/volumes/tixati_media2/_data",
                "Destination": "/output",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "e9ee842314ba",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "17844/tcp": {},
                "17844/udp": {},
                "5800/tcp": {},
                "5900/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "KEEP_APP_RUNNING=1",
                "USER_ID=1000",
                "GROUP_ID=1000",
                "TZ=Canada/Eastern",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/base/sbin:/opt/base/bin",
                "ENV=/root/.docker_rc",
                "SUP_GROUP_IDS=",
                "UMASK=0022",
                "LANG=en_US.UTF-8",
                "APP_NICENESS=0",
                "INSTALL_PACKAGES=",
                "PACKAGES_MIRROR=",
                "CONTAINER_DEBUG=0",
                "DISPLAY_WIDTH=1920",
                "DISPLAY_HEIGHT=1080",
                "DARK_MODE=0",
                "SECURE_CONNECTION=0",
                "SECURE_CONNECTION_VNC_METHOD=SSL",
                "SECURE_CONNECTION_CERTS_CHECK_INTERVAL=60",
                "WEB_LISTENING_PORT=5800",
                "VNC_LISTENING_PORT=5900",
                "VNC_PASSWORD=",
                "ENABLE_CJK_FONT=0"
            ],
            "Cmd": [
                "/init"
            ],
            "Image": "jlesage/tixati",
            "Volumes": {
                "/config": {},
                "/output": {}
            },
            "WorkingDir": "/tmp",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "cb10fbf948fa007995e0bfcaf3780051b37881422099be100009ea89b6a400d1",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:f30201edf54ab3886d7f54dfd4f8798e5d0dc7a723f5d2526c110f16951354cd",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "tixati",
                "com.docker.compose.project.config_files": "/data/compose/44/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/data/compose/44",
                "com.docker.compose.replace": "8afca6138330fed01a11be8d51324af614745bc8f85b1ea6264af378d77bc7de",
                "com.docker.compose.service": "tixati",
                "com.docker.compose.version": "2.20.2",
                "org.label-schema.description": "Docker container for Tixati",
                "org.label-schema.name": "tixati",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vcs-url": "https://github.com/jlesage/docker-tixati",
                "org.label-schema.version": "24.06.1"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "6eaa8286e06e70655a5bf0fb8ec38d43001919176be972c339cdab39c6d43914",
            "SandboxKey": "/var/run/docker/netns/6eaa8286e06e",
            "Ports": {
                "17844/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "17844"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "17844"
                    }
                ],
                "17844/udp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "17844"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "17844"
                    }
                ],
                "5800/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8092"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "8092"
                    }
                ],
                "5900/tcp": null
            },
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "tixati_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "tixati",
                        "tixati"
                    ],
                    "MacAddress": "02:42:ac:19:00:02",
                    "NetworkID": "e2153d6c568648853bd8a2026ef81f2e09a53a5623a3a365b6185b17d5b76efc",
                    "EndpointID": "d3f6e6ba554f43222f00cc6efaa91c4534d0bf1ea4b3ddc5c9e47bba1f7205b1",
                    "Gateway": "172.25.0.1",
                    "IPAddress": "172.25.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DriverOpts": null,
                    "DNSNames": [
                        "tixati",
                        "e9ee842314ba"
                    ]
                }
            }
        }
    }
]

Anything else?

No response

FaNt4zMa commented 1 week ago

Found a weird workaround where exiting Tixati would actually save data and persist after restart image