This is just a basic setup.
- automatic TLS via Caddy's built-in ACME support
- no backup of any data
- no advanced container security
source /etc/os-release
echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /" > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/Release.key | apt-key add -
apt-get update -qq
sudo apt-get -qq -y install podman
mkdir -p /var/lib/onlyoffice/data
mkdir -p /var/lib/caddy/{data,config}
mkdir -p /etc/{onlyoffice,caddy}
echo -e "JWT_ENABLED=true\nJWT_SECRET=$(echo $RANDOM | sha256sum | cut -d' ' -f1)" > /etc/onlyoffice/env.conf
NOTE: make sure to replace onlyoffice.yourdomain.tld
and [email protected]
/etc/caddy/Caddyfile
{
http_port 18080
https_port 18443
}
http://onlyoffice.yourdomain.tld {
redir https://{host}{uri} permanent
}
https://onlyoffice.yourdomain.tld {
tls your@mailaddress.tld
reverse_proxy http://127.0.0.1:80 {
}
}
podman pod create --name onlyoffice --publish 80:18080 --publish 443:18443
podman run -td --pod onlyoffice -v /var/lib/onlyoffice/data:/app/onlyoffice/DocumentServer/data --env-file=/etc/onlyoffice/env.conf --name documentserver docker.io/onlyoffice/documentserver
podman run -td --pod onlyoffice -p 80:18080 -p 443:18443 -v /var/lib/caddy/config:/config -v /var/lib/caddy/data:/data -v /etc/caddy/Caddyfile:/etc/caddy/Caddyfile --name caddy docker.io/caddy
cd /etc/systemd/system
podman generate systemd --name --files onlyoffice
systemctl daemon-reload
systemctl enable --now pod-onlyoffice