This commit is contained in:
myve 2024-08-10 09:07:11 +00:00
commit e650d80b1e
58 changed files with 1747 additions and 0 deletions

20
onlyoffice/.env Normal file
View file

@ -0,0 +1,20 @@
# Environment file for docker-compose.yaml
# Generate new passwords with:
# openssl rand -hex 32
# Fill in registry
REGISTRY=
# Onlyoffice Document Server
ONLYOFFICE_DS_JWTSECRET=
ONLYOFFICE_DS_JWTHEADER=
ONLYOFFICE_DS_DBNAME=
ONLYOFFICE_DS_DBUSER=
# Onlyoffice Community Server
ONLYOFFICE_CS_PORT=
ONLYOFFICE_CS_MACHINEKEY=
ONLYOFFICE_CS_DBNAME=
ONLYOFFICE_CS_DBROOT=
ONLYOFFICE_CS_DBUSER=
ONLYOFFICE_CS_DBPASS=

View file

@ -0,0 +1,165 @@
services:
# Onlyoffice Document Server
onlyoffice-document-server:
image: ${REGISTRY}/onlyoffice/documentserver
container_name: onlyoffice-document-server
restart: unless-stopped
stdin_open: true
environment:
# JWT
JWT_ENABLED: true
JWT_SECRET: ${ONLYOFFICE_DS_JWTSECRET:-onlyoffice}
JWT_HEADER: ${ONLYOFFICE_DS_JWTHEADER:-onlyoffice}
# PostgreSQL
DB_TYPE: postgres
DB_HOST: onlyoffice-postgresql
DB_PORT: 5432
DB_NAME: ${ONLYOFFICE_DS_DBNAME:-onlyoffice}
DB_USER: ${ONLYOFFICE_DS_DBUSER:-onlyoffice}
# Rabbitmq
AMQP_URI: amqp://guest:guest@onlyoffice-rabbitmq
# Redis
REDIS_SERVER_HOST: onlyoffice-redis
REDIS_SERVER_PORT: 6379
volumes:
- ./document/data:/var/www/onlyoffice/Data
- ./document/log:/var/log/onlyoffice
- ./document/fonts:/usr/share/fonts/truetype/custom
- ./document/forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten
- ./document/cache:/var/lib/onlyoffice
depends_on:
- onlyoffice-postgresql
- onlyoffice-rabbitmq
- onlyoffice-redis
networks:
- workspace
onlyoffice-postgresql:
image: ${REGISTRY}/postgres
container_name: onlyoffice-postgresql
restart: unless-stopped
environment:
POSTGRES_DB: ${ONLYOFFICE_DS_DBNAME:-onlyoffice}
POSTGRES_USER: ${ONLYOFFICE_DS_DBUSER:-onlyoffice}
POSTGRES_HOST_AUTH_METHOD: trust
volumes:
- ./postgresql:/var/lib/postgresql:rw
networks:
- workspace
onlyoffice-redis:
image: ${REGISTRY}/valkey
container_name: onlyoffice-redis
restart: unless-stopped
volumes:
- ./redis:/data
networks:
- workspace
onlyoffice-rabbitmq:
image: ${REGISTRY}/rabbitmq
container_name: onlyoffice-rabbitmq
restart: unless-stopped
networks:
- workspace
# Onlyoffice Community Server
onlyoffice-community-server:
image: ${REGISTRY}/onlyoffice/communityserver
container_name: onlyoffice-community-server
restart: unless-stopped
ports:
- ${ONLYOFFICE_CS_PORT:-80}:80
stdin_open: true
tty: true
privileged: true
cgroup: host
environment:
ONLYOFFICE_CORE_MACHINEKEY: ${ONLYOFFICE_CS_MACHINEKEY:-onlyoffice}
CONTROL_PANEL_PORT_80_TCP_ADDR: onlyoffice-control-panel
CONTROL_PANEL_PORT_80_TCP: 80
DOCUMENT_SERVER_PORT_80_TCP_ADDR: onlyoffice-document-server
DOCUMENT_SERVER_JWT_ENABLED: true
DOCUMENT_SERVER_JWT_SECRET: ${ONLYOFFICE_DS_JWTSECRET:-onlyoffice}
DOCUMENT_SERVER_JWT_HEADER: ${ONLYOFFICE_DS_JWTHEADER:-onlyoffice}
MYSQL_SERVER_HOST: onlyoffice-mysql-server
MYSQL_SERVER_DB_NAME: ${ONLYOFFICE_CS_DBNAME:-onlyoffice}
MYSQL_SERVER_ROOT_PASSWORD: ${ONLYOFFICE_CS_DBROOT:-onlyoffice}
MYSQL_SERVER_USER: ${ONLYOFFICE_CS_DBUSER:-onlyoffice}
MYSQL_SERVER_PASS: ${ONLYOFFICE_CS_DBPASS:-onlyoffice}
REDIS_SERVER_HOST: onlyoffice-redis
ELASTICSEARCH_SERVER_HOST: onlyoffice-elasticsearch
ELASTICSEARCH_SERVER_HTTPPORT: 9200
volumes:
- ./community/data:/var/www/onlyoffice/Data
- ./community/log:/var/log/onlyoffice
- ./document/data:/var/www/onlyoffice/DocumentServerData
- /sys/fs/cgroup:/sys/fs/cgroup:rw
depends_on:
- onlyoffice-mysql-server
- onlyoffice-document-server
- onlyoffice-elasticsearch
networks:
- workspace
dns:
- 127.0.0.53
onlyoffice-mysql-server:
image: ${REGISTRY}/mysql
container_name: onlyoffice-mysql-server
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${ONLYOFFICE_CS_DBROOT:-onlyoffice}
stdin_open: true
tty: true
volumes:
- ./mysql/conf.d:/etc/mysql/conf.d
- ./mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
- ./mysql/data:/var/lib/mysql
networks:
- workspace
onlyoffice-elasticsearch:
image: ${REGISTRY}/onlyoffice/elasticsearch
container_name: onlyoffice-elasticsearch
restart: unless-stopped
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1g -Xmx1g -Dlog4j2.formatMsgNoLookups=true"
- "indices.fielddata.cache.size=30%"
- "indices.memory.index_buffer_size=30%"
- "ingest.geoip.downloader.enabled=false"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65535
hard: 65535
volumes:
- ./elasticsearch:/usr/share/elasticsearch/data
networks:
- workspace
onlyoffice-control-panel:
image: ${REGISTRY}/onlyoffice/controlpanel
container_name: onlyoffice-control-panel
restart: unless-stopped
stdin_open: true
tty: true
environment:
ONLYOFFICE_CORE_MACHINEKEY: ${ONLYOFFICE_CS_MACHINEKEY:-onlyoffice}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./controlpanel/data:/var/www/onlyoffice/Data
- ./controlpanel/log:/var/log/onlyoffice
depends_on:
- onlyoffice-document-server
- onlyoffice-community-server
networks:
- workspace
networks:
workspace:
external: false