Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
docker_nextcloud
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse du dépôt
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté GitLab
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Le Filament
Ansible Roles
docker_nextcloud
Validations
c6351d9e
Valider
c6351d9e
rédigé
Il y a 2 semaines
par
Théo - Le Filament
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
change: migrate to Docker Compose v2
parent
b7d811e7
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
3
Afficher les modifications d'espaces
En ligne
Côte à côte
Affichage de
3 fichiers modifiés
handlers/main.yml
+8
-4
8 ajouts, 4 suppressions
handlers/main.yml
tasks/main.yml
+86
-69
86 ajouts, 69 suppressions
tasks/main.yml
templates/backup.yaml.j2
+7
-7
7 ajouts, 7 suppressions
templates/backup.yaml.j2
avec
101 ajouts
et
80 suppressions
handlers/main.yml
+
8
−
4
Voir le fichier @
c6351d9e
---
---
-
name
:
Start nextcloud docker
-
name
:
"
Restart
Nextcloud
container"
community.docker.docker_compose
:
community.docker.docker_compose_v2
:
project_src
:
/home/docker/nextcloud/
project_src
:
"
/home/docker/nextcloud"
recreate
:
always
remove_orphans
:
true
state
:
present
pull
:
missing
async
:
120
async
:
120
poll
:
10
poll
:
10
when
:
not ansible_check_mode
listen
:
"
restart
nextcloud
container"
Ce diff est replié.
Cliquez pour l'agrandir.
tasks/main.yml
+
86
−
69
Voir le fichier @
c6351d9e
---
---
-
name
:
Create nextcloud Docker structure on server in /home/docker/nextcloud
-
name
:
"
Create
nextcloud
Docker
structure
on
server
in
/home/docker/nextcloud
"
ansible.builtin.file
:
ansible.builtin.file
:
name
:
"
/home/docker/nextcloud"
name
:
"
/home/docker/nextcloud"
state
:
directory
state
:
"
directory
"
owner
:
root
owner
:
"
root
"
group
:
root
group
:
"
root
"
mode
:
'
0755
'
mode
:
"
0755
"
## Install Nextcloud docker
## Install Nextcloud docker
-
name
:
Install nextcloud docker
-
name
:
"
Install
nextcloud
docker
"
ansible.builtin.template
:
ansible.builtin.template
:
src
:
nextcloud.yaml.j2
src
:
"
nextcloud.yaml.j2
"
dest
:
/home/docker/nextcloud/docker-compose.yaml
dest
:
"
/home/docker/nextcloud/docker-compose.yaml
"
owner
:
root
owner
:
"
root
"
group
:
root
group
:
"
root
"
mode
:
'
0400
'
mode
:
"
0400
"
notify
:
notify
:
-
S
tart nextcloud
dock
er
-
"
res
tart
nextcloud
contain
er
"
-
name
:
Add extra PHP configuration
-
name
:
"
Add
extra
PHP
configuration
"
ansible.builtin.template
:
ansible.builtin.template
:
src
:
nextcloud-extra.ini.j2
src
:
"
nextcloud-extra.ini.j2
"
dest
:
/home/docker/nextcloud/nextcloud-extra.ini
dest
:
"
/home/docker/nextcloud/nextcloud-extra.ini
"
owner
:
root
owner
:
"
root
"
group
:
root
group
:
"
root
"
mode
:
'
0644
'
mode
:
"
0644
"
-
name
:
Add cron job for nextcloud cron.php
-
name
:
"
Add
cron
job
for
nextcloud
cron.php
"
ansible.builtin.cron
:
ansible.builtin.cron
:
name
:
nextcloud cron.php
name
:
"
nextcloud
cron.php
"
minute
:
"
*/5"
minute
:
"
*/5"
job
:
/usr/bin/docker exec --user www-data nextcloud php cron.php
job
:
"
/usr/bin/docker
exec
--user
www-data
nextcloud
php
cron.php
"
## Install Nextcloud backup docker
## Install Nextcloud backup docker
-
name
:
Install nextcloud backup compose file
-
name
:
"
Install
nextcloud
backup
compose
file
"
ansible.builtin.template
:
ansible.builtin.template
:
src
:
backup.yaml.j2
src
:
"
backup.yaml.j2
"
dest
:
/home/docker/backups/backup-nextcloud.yaml
dest
:
"
/home/docker/backups/backup-nextcloud.yaml
"
owner
:
root
owner
:
"
root
"
group
:
root
group
:
"
root
"
mode
:
'
0400
'
mode
:
"
0400
"
when
:
inventory_hostname in groups['maintenance_contract']
when
:
inventory_hostname in groups['maintenance_contract']
-
name
:
Copy docker file for mysql duplicity
-
name
:
"
Copy
docker
file
for
mysql
duplicity
"
ansible.builtin.copy
:
ansible.builtin.copy
:
src
:
Dockerfile-backup
src
:
"
Dockerfile-backup
"
dest
:
/home/docker/backups/Dockerfile-mysql
dest
:
"
/home/docker/backups/Dockerfile-mysql
"
owner
:
root
owner
:
"
root
"
group
:
root
group
:
"
root
"
mode
:
'
0644
'
mode
:
"
0644
"
when
:
inventory_hostname in groups['maintenance_contract']
when
:
inventory_hostname in groups['maintenance_contract']
-
name
:
Add cron job to run backup every week
-
name
:
"
Add
cron
job
to
run
backup
every
week
"
ansible.builtin.cron
:
ansible.builtin.cron
:
name
:
backup nextcloud
name
:
"
backup
nextcloud
"
minute
:
"
00"
minute
:
"
00"
hour
:
"
00"
hour
:
"
00"
weekday
:
"
7"
weekday
:
"
7"
job
:
/usr/bin/docker
-
compose -f /home/docker/backups/backup-nextcloud.yaml run --rm backup_nextcloud
job
:
"
/usr/bin/docker
compose
-f
/home/docker/backups/backup-nextcloud.yaml
run
--rm
backup_nextcloud
"
when
:
inventory_hostname in groups['maintenance_contract']
when
:
inventory_hostname in groups['maintenance_contract']
# Flush handlers in order to start nextcloud if necessary
# Flush handlers in order to start nextcloud if necessary
-
name
:
Flush handlers
-
name
:
"
Flush
handlers
"
ansible.builtin.meta
:
flush_handlers
ansible.builtin.meta
:
flush_handlers
# Set correct variables in configuration files
# Set correct variables in configuration files
# TODO : replace by writing on nextcloud volume configuration file and restart nextcloud
# TODO : replace by writing on nextcloud volume configuration file and restart nextcloud
-
name
:
Set trusted domain
1
-
name
:
"
Set
trusted
domain
1"
ansible.builtin.command
:
docker exec -u www-data nextcloud php occ --no-warnings "config:system:set" trusted_domains 1 --value="{{ cloud_url }}"
ansible.builtin.command
:
cmd
:
"
docker
exec
-u
www-data
nextcloud
php
occ
--no-warnings
'config:system:set'
trusted_domains
1
--value='{{
cloud_url
}}'"
-
name
:
Set trusted domain
2
-
name
:
"
Set
trusted
domain
2"
ansible.builtin.command
:
docker exec -u www-data nextcloud php occ --no-warnings "config:system:set" trusted_domains 2 --value="nextcloud"
ansible.builtin.command
:
cmd
:
"
docker
exec
-u
www-data
nextcloud
php
occ
--no-warnings
'config:system:set'
trusted_domains
2
--value='nextcloud'"
-
name
:
Overwrite protocol
-
name
:
"
Overwrite
protocol"
ansible.builtin.command
:
docker exec -u www-data nextcloud php occ --no-warnings "config:system:set" overwriteprotocol --value="https"
ansible.builtin.command
:
cmd
:
"
docker
exec
-u
www-data
nextcloud
php
occ
--no-warnings
'config:system:set'
overwriteprotocol
--value='https'"
# Collaborative edition tools configuration
# Collaborative edition tools configuration
-
name
:
Install OnlyOffice app
-
name
:
"
Install
OnlyOffice
app"
ansible.builtin.command
:
docker exec -u www-data nextcloud php occ --no-warnings "app:enable" onlyoffice
tags
:
-
"
docker_cloudaborative"
ansible.builtin.command
:
cmd
:
"
docker
exec
-u
www-data
nextcloud
php
occ
--no-warnings
'app:enable'
onlyoffice"
when
:
cloud_onlyoffice
when
:
cloud_onlyoffice
tags
:
docker_cloudaborative
-
name
:
Set OnlyOffice URL
-
name
:
"
Set
OnlyOffice
URL"
ansible.builtin.command
:
docker exec -u www-data nextcloud php occ --no-warnings "config:system:set" onlyoffice DocumentServerUrl --value="https://{{ cloud_onlyoffice_url }}"
tags
:
-
"
docker_cloudaborative"
ansible.builtin.command
:
cmd
:
"
docker
exec
-u
www-data
nextcloud
php
occ
--no-warnings
'config:system:set'
onlyoffice
DocumentServerUrl
--value='https://{{
cloud_onlyoffice_url
}}'"
when
:
cloud_onlyoffice
when
:
cloud_onlyoffice
tags
:
docker_cloudaborative
-
name
:
Set internal OnlyOffice URL
-
name
:
"
Set
internal
OnlyOffice
URL"
ansible.builtin.command
:
docker exec -u www-data nextcloud php occ --no-warnings "config:system:set" onlyoffice DocumentServerInternalUrl --value="http://onlyoffice/"
tags
:
-
"
docker_cloudaborative"
ansible.builtin.command
:
cmd
:
"
docker
exec
-u
www-data
nextcloud
php
occ
--no-warnings
'config:system:set'
onlyoffice
DocumentServerInternalUrl
--value='http://onlyoffice/'"
when
:
cloud_onlyoffice
when
:
cloud_onlyoffice
tags
:
docker_cloudaborative
-
name
:
Set internal NextCloud URL
-
name
:
"
Set
internal
NextCloud
URL"
ansible.builtin.command
:
docker exec -u www-data nextcloud php occ --no-warnings "config:system:set" onlyoffice StorageUrl --value="http://nextcloud/"
tags
:
-
"
docker_cloudaborative"
ansible.builtin.command
:
cmd
:
"
docker
exec
-u
www-data
nextcloud
php
occ
--no-warnings
'config:system:set'
onlyoffice
StorageUrl
--value='http://nextcloud/'"
when
:
cloud_onlyoffice
when
:
cloud_onlyoffice
tags
:
docker_cloudaborative
-
name
:
Set trusted domain to collabora for collaborative documents
-
name
:
"
Set
trusted
domain
to
collabora
for
collaborative
documents"
ansible.builtin.command
:
docker exec -u www-data nextcloud php occ --no-warnings "config:system:set" trusted_domains 3 --value="{{ cloud_collabora_url }}"
tags
:
-
"
docker_cloudaborative"
ansible.builtin.command
:
cmd
:
"
docker
exec
-u
www-data
nextcloud
php
occ
--no-warnings
'config:system:set'
trusted_domains
3
--value='{{
cloud_collabora_url
}}'"
when
:
cloud_collabora
when
:
cloud_collabora
tags
:
docker_cloudaborative
-
name
:
Install Collabora app
-
name
:
"
Install
Collabora
app"
ansible.builtin.command
:
docker exec -u www-data nextcloud php occ --no-warnings "app:enable" richdocuments
tags
:
-
"
docker_cloudaborative"
ansible.builtin.command
:
cmd
:
"
docker
exec
-u
www-data
nextcloud
php
occ
--no-warnings
'app:enable'
richdocuments"
when
:
cloud_collabora
when
:
cloud_collabora
tags
:
docker_cloudaborative
-
name
:
Set Collabora URL
-
name
:
"
Set
Collabora
URL"
ansible.builtin.command
:
docker exec -u www-data nextcloud php occ --no-warnings "config:system:set" richdocuments wopi_url --value="https://{{ cloud_collabora_url }}"
tags
:
-
"
docker_cloudaborative"
ansible.builtin.command
:
cmd
:
"
docker
exec
-u
www-data
nextcloud
php
occ
--no-warnings
'config:system:set'
richdocuments
wopi_url
--value='https://{{
cloud_collabora_url
}}'"
when
:
cloud_collabora
when
:
cloud_collabora
tags
:
docker_cloudaborative
Ce diff est replié.
Cliquez pour l'agrandir.
templates/backup.yaml.j2
+
7
−
7
Voir le fichier @
c6351d9e
...
@@ -13,13 +13,13 @@ services:
...
@@ -13,13 +13,13 @@ services:
MYSQL_PASSWORD: {{ cloud_db_pass }}
MYSQL_PASSWORD: {{ cloud_db_pass }}
MYSQL_HOST: db
MYSQL_HOST: db
PASSPHRASE: "{{ cloud_backup_pass | default(cloud_db_pass) }}"
PASSPHRASE: "{{ cloud_backup_pass | default(cloud_db_pass) }}"
SWIFT_USERNAME: "{{
swift_cloud_
username }}"
SWIFT_USERNAME: "{{
template_backup_credentials.
username }}"
SWIFT_PASSWORD: "{{
swift_cloud_
password }}"
SWIFT_PASSWORD: "{{
template_backup_credentials.
password }}"
SWIFT_AUTHURL: "{{
swift_cloud_
authurl }}"
SWIFT_AUTHURL: "{{
template_backup_account.value.
authurl }}"
SWIFT_AUTHVERSION: {{
swift_cloud_
authversion }}
SWIFT_AUTHVERSION: {{
template_backup_account.value.
authversion }}
SWIFT_TENANTNAME: "{{
swift_cloud_
tenantname }}"
SWIFT_TENANTNAME: "{{
template_backup_account.value.
tenantname }}"
SWIFT_TENANTID: "{{
swift_cloud_
tenantid }}"
SWIFT_TENANTID: "{{
template_backup_account.value.
tenantid }}"
SWIFT_REGIONNAME: "{{
swift_cloud_
regionname }}"
SWIFT_REGIONNAME: "{{
template_backup_account.value.
regionname }}"
JOB_300_WHAT: "mysqldump -h $$MYSQL_HOST -u $$MYSQL_USER -p$$MYSQL_PASSWORD $$MYSQL_DATABASE --result-file='$$SRC/mysql_$${MYSQL_HOST}_$$MYSQL_DATABASE.sql' && dup full $$SRC $$DST && rm '$$SRC/mysql_$${MYSQL_HOST}_$$MYSQL_DATABASE.sql'"
JOB_300_WHAT: "mysqldump -h $$MYSQL_HOST -u $$MYSQL_USER -p$$MYSQL_PASSWORD $$MYSQL_DATABASE --result-file='$$SRC/mysql_$${MYSQL_HOST}_$$MYSQL_DATABASE.sql' && dup full $$SRC $$DST && rm '$$SRC/mysql_$${MYSQL_HOST}_$$MYSQL_DATABASE.sql'"
JOB_300_WHEN: "weekly"
JOB_300_WHEN: "weekly"
JOB_302_WHAT: "dup remove-all-but-n-full 5 --force $$DST $$@"
JOB_302_WHAT: "dup remove-all-but-n-full 5 --force $$DST $$@"
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter