Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- This configuration allows for the coediting of documents via OnlyOffice on both the domain (domain.com) and the local network (192.168.0.0).
- The only thing that doesn't work (and this is a limitation of OnlyOffice) is the coediting of documents from an Android app (and iPhone I assume).
- I'm going to try to replace OnlyOffice with Collabora Online to remove these restrictions.
- ------- NGINX Proxy Manager ----
- Domain Name syncin.domain.com
- http 192.168.0.105 8080
- Access List Publicly accesible
- Cache assets Off
- Block Common Exploits Off
- Websockets Support On
- SSL
- SSL Certificate syncin.domain.com
- Force SSL On HTTP/2 Support On
- HSTS Enabled On HSTS Sub-Domains On
- -------
- Domain Name onlyoffice.domain.com
- http 192.168.0.105 80
- Access List Publicly accesible
- Cache assets Off
- Block Common Exploits Off
- Websockets Support On
- SSL
- SSL Certificate onlyoffice.domain.com
- Force SSL On HTTP/2 Support On
- HSTS Enabled On HSTS Sub-Domains On
- ------- docker-compose.yaml -------
- include:
- # - ./config/nginx/docker-compose.nginx.yaml
- - ./config/onlyoffice/docker-compose.onlyoffice.yaml
- # - ./config/sync-in-desktop-releases/docker-compose.sync-in-desktop-releases.yaml
- # name: sync_in
- services:
- sync_in:
- image: syncin/server:1
- container_name: sync_in
- restart: always
- # The .env file passes variables to the Docker Compose file, which in turn, can be passed to the containers as well.
- # The env_file only passes variables to the containers and NOT the Docker Compose file.
- # env_file:
- # - path: ./.env
- environment:
- - SKIP_INIT=true # Skips initialization step (database migration, admin account creation, permissions update, etc.)
- - INIT_ADMIN=true # If defined (true or any non-empty value), forces creation of the admin account during initialization.
- - INIT_ADMIN_LOGIN=${LOGIN}
- - INIT_ADMIN_PASSWORD=${PASSWORD}
- - PUID=${PUID:-8888}
- - PGID=${GUID:-8888}
- - TZ=${TZ:-UTC}
- ports:
- - "8080:8080"
- volumes:
- - ./environment.yaml:/app/environment/environment.yaml
- # - ${MNT_CONFIG}/sync_in:/config/environment.yaml:/app/environment/environment.yaml
- - ${MNT_DATA}/sync_in/app/data:/app/data
- - ${MNT_DATA}/sync_in/desktop_releases:/app/static/releases:ro # desktop_releases:/app/static/releases:ro
- depends_on:
- - mariadb
- logging:
- driver: json-file
- options:
- max-size: "25m"
- max-file: "5"
- networks:
- - sync_in_network
- mariadb:
- image: mariadb:11
- container_name: mariadb
- restart: always
- command: --innodb_ft_cache_size=16000000 --max-allowed-packet=1G
- environment:
- MYSQL_ROOT_PASSWORD: MySQLRootPassword # MySQLRootPassword
- MYSQL_DATABASE: sync_in
- TZ: ${TZ:-UTC}
- volumes:
- - mariadb_data:/var/lib/mysql
- #- ${MNT_DATA}/sync_in/mariadb_data:/var/lib/mysql
- networks:
- - sync_in_network
- networks:
- sync_in_network:
- driver: bridge
- volumes:
- mariadb_data:
- ------- config/docker-compose.onlyoffice.yaml -------
- services:
- onlyoffice:
- container_name: onlyoffice
- image: onlyoffice/documentserver # :9.1
- ports:
- - 80:80
- environment:
- - JWT_SECRET=[redacted] # onlyOfficeSecret.
- - JWT_IN_BODY=true
- - USE_UNAUTHORIZED_STORAGE=true
- - LANG=en_US.UTF-8
- stdin_open: true
- tty: true
- logging:
- driver: json-file
- options:
- max-size: "25m"
- max-file: "5"
- volumes:
- - ${MNT_DATA}/onlyoffice/logs:/var/log/onlyoffice
- - ${MNT_DATA}/onlyoffice/data:/var/www/onlyoffice/Data
- - ${MNT_DATA}/onlyoffice/lib:/var/lib/onlyoffice
- - ${MNT_DATA}/onlyoffice/db:/var/lib/postgresql
- restart: always
- networks:
- - sync_in_network
- ------- environment.yaml -------
- server:
- # host: IP address the server will listen on (default: 0.0.0.0)
- # port: Port used for the web interface (default: 8080)
- # workers: Number of worker processes (default: 1) Use auto or 0 to use all CPU cores.
- workers: auto
- # trustProxy: Enables proxy support (number, true, false, or IP range, default: 1) — See available options.
- # restartOnFailure: Automatically restart workers if they crash (true or false, default: true)
- mysql:
- # url: MySQL connection URL (e.g., mysql://user:password@localhost:3306/database)
- url: mysql://root:MySQLRootPassword@mariadb:3306/sync_in # MySQLRootPassword
- # logQueries: Enables logging of SQL queries to the database (true or false)
- auth:
- encryptionKey: changeEncryptionKeyWithStrongKey
- token:
- access:
- secret: changeAccessWithStrongSecret
- refresh:
- secret: changeRefreshWithStrongSecret
- applications:
- files:
- # dataPath: Path to store user data
- dataPath: /app/data # Path to store user data
- # maxUploadSize: Maximum allowed file upload size (default: 5368709120 -> 5 GB)
- # contentIndexing: Enables or disables indexing of file contents used for full-text search (default: true)
- # showHiddenFiles: Show files starting with a dot in the file explorer (default: false)
- onlyoffice:
- # enabled: Enable OnlyOffice integration (true or false, default: false)
- enabled: true # Enable OnlyOffice integration (true or false, default: false)
- # secret: Shared JWT secret with OnlyOffice
- secret: [redacted] # onlyOfficeSecret. Shared JWT secret with OnlyOffice
- # externalServer: OnlyOffice server URL (e.g., https://onlyoffice.my-domain.com)
- # For an external server (e.g., https://onlyoffice.domain.com), remember the url must be accessible from browser!
- # If externalServer is empty (case of official docker compose), we use the local instance
- # default: null
- externalServer: https://onlyoffice.domain.com # https://onlyoffice.my-domain.com)
- # verifySSL: Enforce SSL verification (true or false, default: false)
- verifySSL: false # Enforce SSL verification (true or false, default: false)
- # appStore
- # repository: Choice of repository for application client releases: public (default) or local
- ------- .env -------
- PUID=1000 # USER_ID=1030 # talilored for my users and groups
- GUID=100 # GROUP_ID=100
- TZ=America/New_York # timezone
- MNT_ROOT=/mnt/NAS
- MNT_CONFIG=/mnt/NAS/docker/config
- MNT_DATA=/mnt/NAS/docker/data
- MNT_BACKUP=/mnt/backups/docker
- LOGIN=[redacted]
- PASSWORD=[redacted]
- # no | on-failure[:max-retries] | always| |unless-stopped
- RESTART=unless-stopped
Advertisement
Add Comment
Please, Sign In to add comment