all-in-one/php/containers.json

566 lines
15 KiB
JSON
Raw Normal View History

2021-11-30 18:20:42 +08:00
{
"aio_services_v1": [
2021-11-30 18:20:42 +08:00
{
"container_name": "nextcloud-aio-apache",
"depends_on": [
"nextcloud-aio-onlyoffice",
2021-11-30 18:20:42 +08:00
"nextcloud-aio-collabora",
"nextcloud-aio-talk",
"nextcloud-aio-nextcloud",
"nextcloud-aio-notify-push"
2021-11-30 18:20:42 +08:00
],
"display_name": "Apache",
"image": "nextcloud/aio-apache",
2021-11-30 18:20:42 +08:00
"ports": [
{
"ip_binding": "%APACHE_IP_BINDING%",
"port_number": "%APACHE_PORT%",
"protocol": "tcp"
}
2021-11-30 18:20:42 +08:00
],
"internal_port": "%APACHE_PORT%",
"environment": [
2021-11-30 18:20:42 +08:00
"NC_DOMAIN=%NC_DOMAIN%",
"NEXTCLOUD_HOST=nextcloud-aio-nextcloud",
"COLLABORA_HOST=nextcloud-aio-collabora",
"TALK_HOST=nextcloud-aio-talk",
"APACHE_PORT=%APACHE_PORT%",
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice",
"TZ=%TIMEZONE%",
"APACHE_MAX_SIZE=%APACHE_MAX_SIZE%",
"APACHE_MAX_TIME=%NEXTCLOUD_MAX_TIME%",
"NOTIFY_PUSH_HOST=nextcloud-aio-notify-push"
2021-11-30 18:20:42 +08:00
],
"volumes": [
{
"source": "nextcloud_aio_nextcloud",
"destination": "/var/www/html",
2021-11-30 18:20:42 +08:00
"writeable": false
},
{
"source": "nextcloud_aio_apache",
"destination": "/mnt/data",
2021-11-30 18:20:42 +08:00
"writeable": true
}
],
"restart": "unless-stopped",
"backup_volumes": [
"nextcloud_aio_nextcloud",
"nextcloud_aio_apache"
],
"networks": [
"nextcloud-aio"
]
2021-11-30 18:20:42 +08:00
},
{
"container_name": "nextcloud-aio-database",
"display_name": "Database",
"image": "nextcloud/aio-postgresql",
"expose": [
"5432"
],
"internal_port": "5432",
2021-11-30 18:20:42 +08:00
"secrets": [
"DATABASE_PASSWORD"
],
"volumes": [
{
"source": "nextcloud_aio_database",
"destination": "/var/lib/postgresql/data",
2021-11-30 18:20:42 +08:00
"writeable": true
},
{
"source": "nextcloud_aio_database_dump",
"destination": "/mnt/data",
2021-11-30 18:20:42 +08:00
"writeable": true
}
],
"environment": [
2021-11-30 18:20:42 +08:00
"POSTGRES_PASSWORD=%DATABASE_PASSWORD%",
"POSTGRES_DB=nextcloud_database",
"POSTGRES_USER=nextcloud",
"TZ=%TIMEZONE%",
"PGTZ=%TIMEZONE%"
2021-11-30 18:20:42 +08:00
],
"stop_grace_period": 1800,
"restart": "unless-stopped",
"shm_size": 268435456,
"backup_volumes": [
"nextcloud_aio_database",
"nextcloud_aio_database_dump"
],
"networks": [
"nextcloud-aio"
]
2021-11-30 18:20:42 +08:00
},
{
"container_name": "nextcloud-aio-nextcloud",
"depends_on": [
2021-11-30 18:20:42 +08:00
"nextcloud-aio-database",
"nextcloud-aio-redis",
"nextcloud-aio-clamav",
"nextcloud-aio-fulltextsearch",
"nextcloud-aio-talk-recording",
"nextcloud-aio-imaginary"
2021-11-30 18:20:42 +08:00
],
"display_name": "Nextcloud",
"image": "nextcloud/aio-nextcloud",
"expose": [
"9000"
],
"internal_port": "9000",
2021-11-30 18:20:42 +08:00
"secrets": [
"DATABASE_PASSWORD",
"REDIS_PASSWORD",
"NEXTCLOUD_PASSWORD",
"TURN_SECRET",
"SIGNALING_SECRET"
],
"volumes": [
{
"source": "nextcloud_aio_nextcloud",
"destination": "/var/www/html",
2021-11-30 18:20:42 +08:00
"writeable": true
},
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/mnt/ncdata",
2021-11-30 18:20:42 +08:00
"writeable": true
},
{
"source": "%NEXTCLOUD_MOUNT%",
"destination": "%NEXTCLOUD_MOUNT%",
"writeable": true
},
{
"source": "%NEXTCLOUD_TRUSTED_CACERTS_DIR%",
"destination": "/usr/local/share/ca-certificates",
"writeable": false
2021-11-30 18:20:42 +08:00
}
],
"environment": [
2021-11-30 18:20:42 +08:00
"POSTGRES_HOST=nextcloud-aio-database",
"POSTGRES_PASSWORD=%DATABASE_PASSWORD%",
"POSTGRES_DB=nextcloud_database",
"POSTGRES_USER=nextcloud",
"REDIS_HOST=nextcloud-aio-redis",
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"AIO_TOKEN=%AIO_TOKEN%",
"NC_DOMAIN=%NC_DOMAIN%",
"ADMIN_USER=admin",
"ADMIN_PASSWORD=%NEXTCLOUD_PASSWORD%",
"NEXTCLOUD_DATA_DIR=/mnt/ncdata",
"OVERWRITEHOST=%NC_DOMAIN%",
"OVERWRITEPROTOCOL=https",
"TURN_SECRET=%TURN_SECRET%",
"SIGNALING_SECRET=%SIGNALING_SECRET%",
"ONLYOFFICE_SECRET=%ONLYOFFICE_SECRET%",
"AIO_URL=%AIO_URL%",
"NEXTCLOUD_MOUNT=%NEXTCLOUD_MOUNT%",
"CLAMAV_ENABLED=%CLAMAV_ENABLED%",
"CLAMAV_HOST=nextcloud-aio-clamav",
"ONLYOFFICE_ENABLED=%ONLYOFFICE_ENABLED%",
"COLLABORA_ENABLED=%COLLABORA_ENABLED%",
"COLLABORA_HOST=nextcloud-aio-collabora",
"TALK_ENABLED=%TALK_ENABLED%",
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice",
"UPDATE_NEXTCLOUD_APPS=%UPDATE_NEXTCLOUD_APPS%",
"TZ=%TIMEZONE%",
"TALK_PORT=%TALK_PORT%",
"IMAGINARY_ENABLED=%IMAGINARY_ENABLED%",
"IMAGINARY_HOST=nextcloud-aio-imaginary",
"PHP_UPLOAD_LIMIT=%NEXTCLOUD_UPLOAD_LIMIT%",
"PHP_MEMORY_LIMIT=%NEXTCLOUD_MEMORY_LIMIT%",
"FULLTEXTSEARCH_ENABLED=%FULLTEXTSEARCH_ENABLED%",
"FULLTEXTSEARCH_HOST=nextcloud-aio-fulltextsearch",
"PHP_MAX_TIME=%NEXTCLOUD_MAX_TIME%",
"TRUSTED_CACERTS_DIR=%NEXTCLOUD_TRUSTED_CACERTS_DIR%",
"STARTUP_APPS=%NEXTCLOUD_STARTUP_APPS%",
"ADDITIONAL_APKS=%NEXTCLOUD_ADDITIONAL_APKS%",
"ADDITIONAL_PHP_EXTENSIONS=%NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS%",
"INSTALL_LATEST_MAJOR=%INSTALL_LATEST_MAJOR%",
"TALK_RECORDING_ENABLED=%TALK_RECORDING_ENABLED%",
"RECORDING_SECRET=%RECORDING_SECRET%",
"TALK_RECORDING_HOST=nextcloud-aio-talk-recording"
2021-11-30 18:20:42 +08:00
],
"restart": "unless-stopped",
"devices": [
"/dev/dri"
],
"backup_volumes": [
"nextcloud_aio_nextcloud"
],
"networks": [
"nextcloud-aio"
]
2021-11-30 18:20:42 +08:00
},
{
"container_name": "nextcloud-aio-notify-push",
"display_name": "Notify Push",
"image": "nextcloud/aio-notify-push",
"expose": [
"7867"
],
"internal_port": "7867",
"secrets": [
"REDIS_PASSWORD",
"DATABASE_PASSWORD"
],
"volumes": [
{
"source": "nextcloud_aio_nextcloud",
"destination": "/nextcloud",
"writeable": false
}
],
"environment": [
"NC_DOMAIN=%NC_DOMAIN%",
"NEXTCLOUD_HOST=nextcloud-aio-nextcloud",
"REDIS_HOST=nextcloud-aio-redis",
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"POSTGRES_HOST=nextcloud-aio-database",
"POSTGRES_PASSWORD=%DATABASE_PASSWORD%",
"POSTGRES_DB=nextcloud_database",
"POSTGRES_USER=nextcloud"
],
"restart": "unless-stopped",
"networks": [
"nextcloud-aio"
],
"read_only": true
},
2021-11-30 18:20:42 +08:00
{
"container_name": "nextcloud-aio-redis",
"display_name": "Redis",
"image": "nextcloud/aio-redis",
"expose": [
"6379"
],
"internal_port": "6379",
"environment": [
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"TZ=%TIMEZONE%"
2021-11-30 18:20:42 +08:00
],
"volumes": [
{
"source": "nextcloud_aio_redis",
"destination": "/data",
"writeable": true
}
],
2021-11-30 18:20:42 +08:00
"secrets": [
"REDIS_PASSWORD",
"ONLYOFFICE_SECRET",
"RECORDING_SECRET"
2021-11-30 18:20:42 +08:00
],
"restart": "unless-stopped",
"networks": [
"nextcloud-aio"
],
"read_only": true
2021-11-30 18:20:42 +08:00
},
{
"container_name": "nextcloud-aio-collabora",
"display_name": "Collabora",
"image": "nextcloud/aio-collabora",
"expose": [
"9980"
],
"internal_port": "9980",
"environment": [
"aliasgroup1=https://%NC_DOMAIN%:443",
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true %COLLABORA_SECCOMP_POLICY% --o:remote_font_config.url=https://%NC_DOMAIN%/apps/richdocuments/settings/fonts.json",
"dictionaries=%COLLABORA_DICTIONARIES%",
"TZ=%TIMEZONE%",
"server_name=%NC_DOMAIN%",
"DONT_GEN_SSL_CERT=1"
2021-11-30 18:20:42 +08:00
],
"restart": "unless-stopped",
"nextcloud_exec_commands": [
"echo 'Activating collabora config...'",
"php /var/www/html/occ richdocuments:activate-config"
],
"profiles": [
"collabora"
],
"networks": [
"nextcloud-aio"
]
2021-11-30 18:20:42 +08:00
},
{
"container_name": "nextcloud-aio-talk",
"display_name": "Talk",
"image": "nextcloud/aio-talk",
2021-11-30 18:20:42 +08:00
"ports": [
{
"ip_binding": "",
"port_number": "%TALK_PORT%",
"protocol": "tcp"
},
{
"ip_binding": "",
"port_number": "%TALK_PORT%",
"protocol": "udp"
}
2021-11-30 18:20:42 +08:00
],
"expose": [
"8081"
],
"internal_port": "%TALK_PORT%",
"environment": [
2021-11-30 18:20:42 +08:00
"NC_DOMAIN=%NC_DOMAIN%",
"TURN_SECRET=%TURN_SECRET%",
"SIGNALING_SECRET=%SIGNALING_SECRET%",
"TZ=%TIMEZONE%",
"TALK_PORT=%TALK_PORT%",
"INTERNAL_SECRET=%TALK_INTERNAL_SECRET%"
2021-11-30 18:20:42 +08:00
],
"secrets": [
"TURN_SECRET",
"SIGNALING_SECRET",
"TALK_INTERNAL_SECRET"
],
"restart": "unless-stopped",
"profiles": [
"talk",
"talk-recording"
],
"networks": [
"nextcloud-aio"
]
},
{
"container_name": "nextcloud-aio-talk-recording",
"display_name": "Talk Recording",
"image": "nextcloud/aio-talk-recording",
"expose": [
"1234"
],
"internal_port": "1234",
"environment": [
"NC_DOMAIN=%NC_DOMAIN%",
"TZ=%TIMEZONE%",
"RECORDING_SECRET=%RECORDING_SECRET%",
"INTERNAL_SECRET=%TALK_INTERNAL_SECRET%"
],
"shm_size": 2147483648,
"secrets": [
"RECORDING_SECRET",
"TALK_INTERNAL_SECRET"
2021-11-30 18:20:42 +08:00
],
"restart": "unless-stopped",
"profiles": [
"talk-recording"
],
"networks": [
"nextcloud-aio"
]
2021-11-30 18:20:42 +08:00
},
{
"container_name": "nextcloud-aio-borgbackup",
"image": "nextcloud/aio-borgbackup",
"environment": [
2021-11-30 18:20:42 +08:00
"BORG_PASSWORD=%BORGBACKUP_PASSWORD%",
"BORG_MODE=%BORGBACKUP_MODE%",
"SELECTED_RESTORE_TIME=%SELECTED_RESTORE_TIME%",
"BACKUP_RESTORE_PASSWORD=%BACKUP_RESTORE_PASSWORD%",
"ADDITIONAL_DIRECTORIES_BACKUP=%ADDITIONAL_DIRECTORIES_BACKUP%",
"BORGBACKUP_HOST_LOCATION=%BORGBACKUP_HOST_LOCATION%",
"BORG_HOST_ID=nextcloud-aio-borgbackup",
"BORG_RETENTION_POLICY=%BORG_RETENTION_POLICY%"
2021-11-30 18:20:42 +08:00
],
"volumes": [
{
"source": "nextcloud_aio_backup_cache",
"destination": "/root",
2021-11-30 18:20:42 +08:00
"writeable": true
},
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data",
2021-11-30 18:20:42 +08:00
"writeable": true
},
{
"source": "nextcloud_aio_mastercontainer",
"destination": "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer",
2021-11-30 18:20:42 +08:00
"writeable": true
},
{
"source": "%BORGBACKUP_HOST_LOCATION%",
"destination": "/mnt/borgbackup",
2021-11-30 18:20:42 +08:00
"writeable": true
},
{
"source": "nextcloud_aio_elasticsearch",
"destination": "/nextcloud_aio_volumes/nextcloud_aio_elasticsearch",
"writeable": true
},
{
"source": "nextcloud_aio_redis",
"destination": "/mnt/redis",
"writeable": true
2021-11-30 18:20:42 +08:00
}
],
"secrets": [
"BORGBACKUP_PASSWORD"
],
"devices": [
"/dev/fuse"
],
"cap_add": [
"SYS_ADMIN"
],
"apparmor_unconfined": true,
"read_only": true,
"tmpfs": [
"/tmp"
]
2021-11-30 18:20:42 +08:00
},
{
"container_name": "nextcloud-aio-watchtower",
"image": "nextcloud/aio-watchtower",
"environment": [
2021-11-30 18:20:42 +08:00
"CONTAINER_TO_UPDATE=nextcloud-aio-mastercontainer"
],
"volumes": [
{
"source": "%WATCHTOWER_DOCKER_SOCKET_PATH%",
"destination": "/var/run/docker.sock",
2021-11-30 18:20:42 +08:00
"writeable": false
}
],
"read_only": true
2021-11-30 18:20:42 +08:00
},
{
"container_name": "nextcloud-aio-domaincheck",
"image": "nextcloud/aio-domaincheck",
2021-11-30 18:20:42 +08:00
"ports": [
{
"ip_binding": "%APACHE_IP_BINDING%",
"port_number": "%APACHE_PORT%",
"protocol": "tcp"
}
2021-11-30 18:20:42 +08:00
],
"environment": [
"INSTANCE_ID=%INSTANCE_ID%",
"APACHE_PORT=%APACHE_PORT%"
2021-11-30 18:20:42 +08:00
],
"secrets": [
"INSTANCE_ID"
],
"stop_grace_period": 1
},
{
"container_name": "nextcloud-aio-clamav",
"display_name": "ClamAV",
"image": "nextcloud/aio-clamav",
"expose": [
"3310"
],
"internal_port": "3310",
"environment": [
"TZ=%TIMEZONE%",
"CLAMD_STARTUP_TIMEOUT=90"
],
"volumes": [
{
"source": "nextcloud_aio_clamav",
"destination": "/var/lib/clamav",
"writeable": true
}
],
"restart": "unless-stopped",
"profiles": [
"clamav"
],
"networks": [
"nextcloud-aio"
]
},
{
"container_name": "nextcloud-aio-onlyoffice",
"display_name": "OnlyOffice",
"image": "nextcloud/aio-onlyoffice",
"expose": [
"80"
],
"internal_port": "80",
"environment": [
"TZ=%TIMEZONE%",
"JWT_ENABLED=true",
"JWT_HEADER=AuthorizationJwt",
"JWT_SECRET=%ONLYOFFICE_SECRET%"
],
"volumes": [
{
"source": "nextcloud_aio_onlyoffice",
"destination": "/var/lib/onlyoffice",
"writeable": true
}
],
"secrets": [
"ONLYOFFICE_SECRET"
],
"restart": "unless-stopped",
"profiles": [
"onlyoffice"
],
"networks": [
"nextcloud-aio"
]
},
{
"container_name": "nextcloud-aio-imaginary",
"display_name": "Imaginary",
"image": "nextcloud/aio-imaginary",
"expose": [
"9000"
],
"internal_port": "9000",
"environment": [
"TZ=%TIMEZONE%"
],
"restart": "unless-stopped",
"cap_add": [
"SYS_NICE"
],
"profiles": [
"imaginary"
],
"networks": [
"nextcloud-aio"
],
"read_only": true
},
{
"container_name": "nextcloud-aio-fulltextsearch",
"display_name": "Fulltextsearch",
"image": "nextcloud/aio-fulltextsearch",
"expose": [
"9200"
],
"internal_port": "9200",
"environment": [
"TZ=%TIMEZONE%",
"discovery.type=single-node",
"ES_JAVA_OPTS=-Xms1024M -Xmx1024M",
"POSTGRES_HOST=nextcloud-aio-database"
],
"volumes": [
{
"source": "nextcloud_aio_elasticsearch",
"destination": "/usr/share/elasticsearch/data",
"writeable": true
}
],
"restart": "unless-stopped",
"profiles": [
"fulltextsearch"
],
"networks": [
"nextcloud-aio"
]
2021-11-30 18:20:42 +08:00
}
]
}