Nextcloud Server, a safe home for all your data
https://github.com/nextcloud/server
.vscode | ||
.drone.yml | ||
.env.sample | ||
.gitignore | ||
abra.sh | ||
compose.yml | ||
fpm-tune.ini | ||
my-tune.cnf | ||
nginx.conf.tmpl | ||
README.md | ||
renovate.json |
Nextcloud
Fully automated luxury Nextcloud via docker-swarm.
- Category: Apps
- Status: 2, beta
- Image:
nextcloud
, 4, upstream - Healthcheck: Yes
- Backups: No
- Email: 3
- Tests: 2
- SSO: 1 (OAuth)
Basic usage
- Set up Docker Swarm and
abra
- Deploy
coop-cloud/traefik
abra app new nextcloud --secrets
(optionally with--pass
if you'd like to save secrets inpass
)abra app YOURAPPDOMAIN config
- be sure to change$DOMAIN
to something that resolves to your Docker swarm boxabra app YOURAPPDOMAIN deploy
How do I customise the default home page when logging in?
- Delete the dashboard app since it is so corporate
- Follow these docs to set the default files list for each user in the Files app
- Configure a
defaultapp
in yourconfig.php
or use apporder
Running occ
abra app run --user www-data YOURAPPDOMAIN app occ user:list --help
Upgrading Nextcloud apps
abra app run --user www-data YOURAPPDOMAIN app occ app:update --all
How do I integrate with Keycloak SSO?
Use this plugin. Unlike the plugin it's forked from, there is no configuration UI, so you'll need to edit /var/www/html/config/config.php
:
'oidc_login_client_id' => 'nextcloud',
'oidc_login_client_secret' => 'mysecret',
'oidc_login_provider_url' => 'https://example.com/auth/realms/myrealm',
'oidc_login_disable_registration' => false,
'oidc_login_hide_password_form' => true,
'oidc_login_button_text' => 'Log in with your myssodomain',
'oidc_login_default_group' => 'mygroup',
'oidc_login_attributes' =>
array (
'id' => 'sub',
'name' => 'name',
'mail' => 'email',
),
'oidc_create_groups' => true,
You can use this trick (see "Cryptic Usernames" work-around) to get proper usernames.
If you ever need to change the realm, you'll need to reset the cache with:
docker exec -u www-data <container-id> php occ config:app:delete oidc_login last_updated_well_known
docker exec -u www-data <container-id> php occ config:app:delete oidc_login last_updated_jwks
How can I customise the CSS?
There is some basic stuff in the admin settings.
To go a little deeper, you can use this handy app.
Here is an example CSS config which hides the local login and makes space for a central image:
#body-login .wrapper main form[name="login"],
#body-login .wrapper main form[name="login"] ~ a {
display: none;
}
#body-login .logo {
visibility: hidden;
}
#body-login #alternative-logins a.button[href*="oidc"] {
background: #233b4a;
color: #fff;
transition: all 0.2s ease-in-out;
}
#body-login #alternative-logins a.button[href*="oidc"]:hover {
background: linear-gradient(-35deg, #233b4a 40%, #486c83 100%);
}
#body-login #alternative-logins a.button[href*="/sociallogin/oauth/google"] {
border: 0;
color: #db4437 !important;
background-color: #fff;
}
#body-login
#alternative-logins
a.button[href*="/sociallogin/oauth/google"]::before {
width: 25px;
background-color: #db4437;
border-radius: 100%;
background-size: 60%;
background-position: center;
height: 25px;
vertical-align: middle;
margin-right: 4px;
}
#body-login main {
padding: 50vh 0 0 0;
}
#body-login a[href*="#body-login"] {
visibility: hidden;
}
#body-login footer a,
#body-login footer p {
color: #233b4a;
}
#body-login footer a:hover {
color: #fff;
}
#body-login footer p.info {
text-shadow: none;
}