# Quadlet unit: Copyparty file server (rootless, boot-persistent). # # Install path on dankserver: ~/.config/containers/systemd/copyparty.container # Unit name: copyparty.service (podman 5.x drops the container- prefix) # # The image's default entrypoint is /bin/ash /z/cpp.sh -c /z/initcfg; the # Command= line below reproduces the compose-era argv exactly: the admin # account is passed as -a :. ${COPAY_ACCOUNT} and # ${COPAY_PASSWORD} are expanded by systemd at ExecStart time from the # host-local env file /home/dank/Containers/copyparty/env (mode 0600). # This file holds no secrets. The deployer refuses to start this unit before # that env file exists, so a missing env file fails the unit instead of # creating an admin account with a garbage password. # # /w is the entropy volume, mounted read-only: nothing writes into /mnt/entropy # anymore; every consumer of the share is a read-only client. [Unit] Description=Copyparty file server container After=network.target [Container] ContainerName=copyparty Image=ghcr.io/9001/copyparty-ac:latest Network=dankserver_appnet EnvironmentFile=/home/dank/Containers/copyparty/env Exec=-a ${COPAY_ACCOUNT}:${COPAY_PASSWORD} -v /w::r:ra,dank Volume=/mnt/entropy:/w:ro Volume=/home/dank/Containers/copyparty/cfg:/cfg PublishPort=3923:3923 [Service] EnvironmentFile=/home/dank/Containers/copyparty/env Restart=always RestartSec=5 [Install] WantedBy=default.target