version: "3.8" services: ssh: image: lscr.io/linuxserver/openssh-server:version-10.3_p1-r2@sha256:aa4e1b3916e8555f24e574e6108b0b89a1b20362b0a11800a71280b45999649e networks: - proxy environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - USER_NAME=sftp - PUBLIC_KEY volumes: - content:/content:rw ports: - 2220:2222 deploy: restart_policy: condition: on-failure # The following is an admittedly hacky way of setting the owner # of the `content` volume to the unprivileged `sftp` user, so # that content can be transferred through the unprivileged sshd process # using `scp` etc. sshstart: image: lscr.io/linuxserver/openssh-server:latest@sha256:aa4e1b3916e8555f24e574e6108b0b89a1b20362b0a11800a71280b45999649e user: root depends_on: - ssh deploy: restart_policy: condition: none volumes: - content:/content:rw entrypoint: [ "bash", "-c", "sleep 10 && chown -R 1000:1000 /content"] volumes: content: networks: proxy: external: true