Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DRAFT: feat: add new nextcloud installer #1046

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 112 additions & 0 deletions public/v4/apps/nextcloud-full.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
captainVersion: 4
services:
$$cap_appname-db:
documentation: Taken from https://hub.docker.com/_/mariadb
image: mariadb:$$cap_mariadb_version
volumes:
- $$cap_appname-db-data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: $$cap_db_pass
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: $$cap_db_pass
caproverExtra:
notExposeAsWebApp: 'true'
$$cap_appname:
depends_on:
- $$cap_appname-db
documentation: Taken from https://hub.docker.com/r/nextcloud/all-in-one
image: nextcloud:$$cap_nextcloud_version
restart: always
environment:
AUTOMATIC_UPDATES: $$cap_nextcloud_autoupdate
DAILY_BACKUP: $$cap_nextcloud_autosave
START_CONTAINERS: 1
STOP_CONTAINERS: 1
CHECK_BACKUP: 0
SKIP_DOMAIN_VALIDATION: true
NEXTCLOUD_UPLOAD_LIMIT: $$cap_nextcloud_maxsize
NEXTCLOUD_MEMORY_LIMIT: $$cap_nextcloud_maxram
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: $$cap_db_pass
MYSQL_HOST: srv-captain--$$cap_appname-db
volumes:
- $$cap_appname-mastercontainer:/mnt/docker-aio-config
- $$cap_appname-data:/mnt/ncdata
- $$cap_appname-sock:/var/run/docker.sock:ro \
caproverOneClickApp:
variables:
- id: $$cap_nextcloud_version
label: NextCloud Version
defaultValue: 20231220_153200-latest
description: >-
Check out their Docker page for the valid tags https://hub.docker.com/r/nextcloud/all-in-one


Do not use fpm versions.
validRegex: /^((?!fpm)\S)+$/
- id: $$cap_nextcloud_autosave
label: autosave
defaultValue: 0
description: >-
1 for daily autosave, 0 for no auto save
validRegex: /^(0|1)$/

- id: $$cap_nextcloud_autoupdate
label: autoupdate
defaultValue: 0
description: >-
1 for daily auto update, 0 for no auto update
validRegex: /^(0|1)$/

- id: $$cap_nextcloud_maxsize
label: max file size
defaultValue: 10G
description: >-
maximum file size
validRegex: /^([1234567890]+(G|M))$/

- id: $$cap_nextcloud_maxram
label: maxram
defaultValue: 1024M
description: >-
nextcloud ram max usage
validRegex: /^([1234567890]+(G|M))$/
- id: $$cap_db_pass
label: database password
defaultValue: $$cap_gen_random_hex(32)
description: Password for the database user and root using mysql.
validRegex: /.{1,}/
- id: $$cap_db_version
label: database version
defaultValue: 11.2.2
description: choose your version from https://hub.docker.com/_/mariadb/tags
validRegex: /.{1,}/

instructions:
start: A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms. http://Nextcloud.com
end: >-
NextCloud is deployed and will be available on few minutes as $$cap_appname.

If you set the cors sections to https, please enable https on your app. If you do not activate it you will have an error.

For better performances and compliance, click on "edit default nginx configuration" button then
below `proxy_set_header X-Forwarded-Proto $scheme;`
add `add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;` into the nginx configuration.

For DAV add after `/.well-known/captain-identifier` section

`location /.well-known/carddav {return 301 $scheme://$host/remote.php/dav;}`

`location /.well-known/caldav {return 301 $scheme://$host/remote.php/dav;}`

You can see HSTS parts of the nextcloud security documentation [https://docs.nextcloud.com/server/21/admin_manual/installation/harden_server.html](https://docs.nextcloud.com/server/21/admin_manual/installation/harden_server.html) for further informations


You can also scan your nextcloud instance on [https://scan.nextcloud.com/](https://scan.nextcloud.com/)
displayName: Nextcloud
isOfficial: true
description: Nextcloud is a suite of client-server software for creating and using file hosting services
documentation: Taken from https://hub.docker.com/r/nextcloud/all-in-one
Binary file added public/v4/logos/nextcloud-full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading