nextcloud-swarm-plugin/docker-compose.yaml
Mahyar Iranibazaz 7d8e260a83
feat(intellisense) (#54)
* feat(hooks):
- add: entrypoint hooks volume
- add: change-owner.sh script

* feat(apache):
- update: Dockerfile apache user and id
- delete: hooks setup
- add: .env setup
- add: theme volume
- update: turn off debugger at start

* feat(.env):
- add: .env example file

* fix(docker):
- add: theme volume

* fix(docker):
- revert: xdebug start config

* feat(docker):
- update: reduce the volumes to lib and apps

* chore(env):
- add: swarm api key in example

* chore(env):
- add: env file instructions
- fix: typos
2024-07-19 16:12:30 +08:00

70 lines
1.8 KiB
YAML
Executable file

volumes:
mariadb:
nextcloud_app:
networks:
frontend:
backend:
services:
mariadb:
image: mariadb:latest
# set transaction isolation: https://docs.nextcloud.com/server/stable/admin_manual/configuration_database/linux_database_configuration.html
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
restart: always
networks:
- backend
volumes:
- mariadb:/var/lib/mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASSWORD}
nextcloud:
build:
context: ./docker/nextcloud
dockerfile: Dockerfile
restart: always
depends_on:
- mariadb
networks:
- frontend
- backend
extra_hosts:
- host.docker.internal:host-gateway
volumes:
- nextcloud_app:/var/www/html
- ./:/var/www/html/custom_apps/files_external_ethswarm
- ./dev-environment/nextcloud_source/lib:/var/www/html/lib
- ./dev-environment/nextcloud_source/apps:/var/www/html/apps
ports:
- "80:80"
- "443:443"
environment:
WWWUSER: ${WWWUSER}
WWWGROUP: ${WWWGROUP}
APACHE_RUN_USER: ${APACHE_RUN_USER}
APACHE_RUN_GROUP: ${APACHE_RUN_GROUP}
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_HOST: mariadb:3306
NEXTCLOUD_ADMIN_USER: ${NC_ADMIN_USER}
NEXTCLOUD_ADMIN_PASSWORD: ${NC_ADMIN_PASSWORD}
SWARM_ACCESS_API_TOKEN: ${SWARM_ACCESS_API_TOKEN}
adminer:
image: adminer
restart: always
networks:
- frontend
- backend
ports:
- 8082:8080
links:
- mariadb