71 lines
2.0 KiB
Nix
71 lines
2.0 KiB
Nix
{ config, ... }:
|
|
{
|
|
#Collabora Containers
|
|
virtualisation.oci-containers.containers.collabora = {
|
|
image = "docker.io/collabora/code:latest";
|
|
ports = [ "9980:9980/tcp" ];
|
|
environment = {
|
|
server_name = "code.cloonar.com";
|
|
aliasgroup1 = "https://nextcloud.cloonar.com:443";
|
|
aliasgroup2 = "https://cloud.cloonar.com:443";
|
|
# Hannes
|
|
aliasgroup3 = "https://nx67898.your-storageshare.de:443";
|
|
aliasgroup4 = "https://hs-cloud.cloonar.com:443";
|
|
dictionaries = "en_GB en_US de_DE";
|
|
extra_params = "--o:ssl.enable=false --o:ssl.termination=true";
|
|
};
|
|
extraOptions = [
|
|
"--pull=newer"
|
|
];
|
|
};
|
|
|
|
services.nginx.virtualHosts.${config.virtualisation.oci-containers.containers.collabora.environment.server_name} = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
|
|
extraConfig = ''
|
|
# static files
|
|
location ^~ /browser {
|
|
proxy_pass http://127.0.0.1:9980;
|
|
proxy_set_header Host $host;
|
|
}
|
|
|
|
# WOPI discovery URL
|
|
location ^~ /hosting/discovery {
|
|
proxy_pass http://127.0.0.1:9980;
|
|
proxy_set_header Host $host;
|
|
}
|
|
|
|
# Capabilities
|
|
location ^~ /hosting/capabilities {
|
|
proxy_pass http://127.0.0.1:9980;
|
|
proxy_set_header Host $host;
|
|
}
|
|
|
|
# main websocket
|
|
location ~ ^/cool/(.*)/ws$ {
|
|
proxy_pass http://127.0.0.1:9980;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "Upgrade";
|
|
proxy_set_header Host $host;
|
|
proxy_read_timeout 36000s;
|
|
}
|
|
|
|
# download, presentation and image upload
|
|
location ~ ^/(c|l)ool {
|
|
proxy_pass http://127.0.0.1:9980;
|
|
proxy_set_header Host $host;
|
|
}
|
|
|
|
# Admin Console websocket
|
|
location ^~ /cool/adminws {
|
|
proxy_pass http://127.0.0.1:9980;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "Upgrade";
|
|
proxy_set_header Host $host;
|
|
proxy_read_timeout 36000s;
|
|
}
|
|
'';
|
|
};
|
|
}
|