version: "3.8" services: mc: image: itzg/minecraft-server ports: - "25565:25565" environment: EULA: "true" MOD_PLATFORM: AUTO_CURSEFORGE # allocate from https://console.curseforge.com/ and set in .env file CF_API_KEY: ${CF_API_KEY} CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/all-the-mods-8 CF_FILENAME_MATCHER: "1.0.6" MEMORY: 4G volumes: - mc-data:/data - ./downloads:/downloads # Since Docker's default volume driver creates volumes owned by root, this # init container will change ownership to match final UID of mc service, above init-filebrowser: image: filebrowser/filebrowser entrypoint: sh -c command: - "chown -R 1000: /database" restart: no volumes: - filebrowser-db:/database filebrowser: image: filebrowser/filebrowser depends_on: - init-filebrowser user: "1000:1000" environment: FB_DATABASE: /database/filebrowser.db volumes: # Default FB_ROOT is /srv # In this example, the left-side needs to be the same as /data volume of mc service - mc-data:/srv - filebrowser-db:/database ports: - "25580:80" volumes: mc-data: {} filebrowser-db: {}