SERVICE_TYPE:"flask"# Tells the container to run the Flask app
MEDIASERVER_TYPE:"jellyfin"# Specify the media server type
POSTGRES_USER:${AUDIOMUSE_POSTGRES_USER}
POSTGRES_PASSWORD:${AUDIOMUSE_POSTGRES_PASSWORD}
POSTGRES_DB:${AUDIOMUSE_POSTGRES_DB}
POSTGRES_PORT:"5432"
POSTGRES_HOST:"audiomuse-ai-postgres"# Service name of the postgres container
REDIS_URL:"redis://audiomuse-ai-redis:6379/0"# Connects to the 'redis' service
AI_MODEL_PROVIDER:"OPENAI"
OPENAI_API_KEY:"any-random-string"# Dummy key to enable local model usage
OPENAI_SERVER_URL:"http://172.17.0.1:12434/engines/llama.cpp/v1/chat/completions"#This is the API endpoint for local DMR model from within the Docker container.
OPENAI_MODEL_NAME:"ai/qwen3:0.6B-Q4_0"
TEMP_DIR:"/app/temp_audio"
# Use tmpfs to process audio files in memory for better performance. this reduuces disk I/O but might use more RAM.
# Mounted directories are not shared between containers, so each container gets its own tmpfs instance.
# Increase tmpfs size for very large audio files as needed.
# If host RAM is limited, use a Docker volume instead of tmpfs.
# For more info on tmpfs: https://docs.docker.com/engine/storage/tmpfs/
tmpfs:
- /app/temp_audio:rw,size=1000m
depends_on:
- audiomuse-ai-redis
- audiomuse-ai-postgres
restart:unless-stopped
networks:
- audiomuse
models:
- llm# Specify that LLM models are used in this service
SERVICE_TYPE:"worker"# Tells the container to run the RQ worker
MEDIASERVER_TYPE:"jellyfin"# Specify the media server type
JELLYFIN_USER_ID:"${JELLYFIN_USER_ID}"
JELLYFIN_TOKEN:"${JELLYFIN_TOKEN}"
JELLYFIN_URL:"${JELLYFIN_URL}"
# DATABASE_URL is now constructed by config.py from the following:
POSTGRES_USER:${AUDIOMUSE_POSTGRES_USER}
POSTGRES_PASSWORD:${AUDIOMUSE_POSTGRES_PASSWORD}
POSTGRES_DB:${AUDIOMUSE_POSTGRES_DB}
POSTGRES_PORT:"5432"
POSTGRES_HOST:"audiomuse-ai-postgres"# Service name of the postgres container
REDIS_URL:"redis://audiomuse-ai-redis:6379/0"# Connects to the 'redis' service
AI_MODEL_PROVIDER:"OPENAI"
OPENAI_API_KEY:"any-random-string"# Dummy key to enable local model usage
OPENAI_SERVER_URL:"http://172.17.0.1:12434/engines/llama.cpp/v1/chat/completions"#This is the API endpoint for local DMR model from within the Docker container.
OPENAI_MODEL_NAME:"ai/qwen3:0.6B-Q4_0"
TEMP_DIR:"/app/temp_audio"
# Use tmpfs to process audio files in memory for better performance. this reduuces disk I/O but might use more RAM.
# Mounted directories are not shared between containers, so each container gets its own tmpfs instance.
# Increase tmpfs size for very large audio files as needed.
# If host RAM is limited, use a Docker volume instead of tmpfs.
# For more info on tmpfs: https://docs.docker.com/engine/storage/tmpfs/
tmpfs:
- /app/temp_audio:rw,size=1000m
depends_on:
- audiomuse-ai-redis
- audiomuse-ai-postgres
restart:unless-stopped
networks:
- audiomuse
models:
- llm# Specify that LLM models are used in this service
# Using Docker Model Runner (DMR)
# - Make sure your Docker Engine version supports the AI features and that the docker-model-plugin is installed.
image:ghcr.io/nextcloud-releases/all-in-one:latest# This is the container image used. You can switch to ghcr.io/nextcloud-releases/all-in-one:beta if you want to help testing new releases. See https://github.com/nextcloud/all-in-one#how-to-switch-the-channel
restart:unless-stopped
init:true# This setting makes sure that signals from main process inside the container are correctly forwarded to children. See https://docs.docker.com/reference/compose-file/services/#init
restart:always# This makes sure that the container starts always together with the host OS. See https://docs.docker.com/reference/compose-file/services/#restart
container_name:nextcloud-aio-mastercontainer# This line is not allowed to be changed as otherwise AIO will not work correctly
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config# This line is not allowed to be changed as otherwise the built-in backup solution will not work
environment:
- /var/run/docker.sock:/var/run/docker.sock:ro# May be changed on macOS, Windows or docker rootless. See the applicable documentation. If adjusting, don't forget to also set 'WATCHTOWER_DOCKER_SOCKET_PATH'!
POSTGRES_DB:${NEXTCLOUD_POSTGRES_DB}
network_mode:bridge
POSTGRES_USER:${NEXTCLOUD_POSTGRES_USER}
POSTGRES_PASSWORD:${NEXTCLOUD_POSTGRES_PASSWORD}
networks:
- nextcloud
nextcloud:
image:nextcloud:31.0.7
restart:always
ports:
ports:
- 8081:80
- 8014:8080# This is the AIO interface, served via https and self-signed certificate. See https://github.com/nextcloud/all-in-one#explanation-of-used-ports
links:
environment:# Is needed when using any of the options below
- db
# AIO_DISABLE_BACKUP_SECTION: false # Setting this to true allows to hide the backup section in the AIO interface. See https://github.com/nextcloud/all-in-one#how-to-disable-the-backup-section
volumes:
APACHE_PORT:11000# Is needed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
- ${NEXTCLOUD_DATA_DIR}:/var/www/html
# APACHE_IP_BINDING: 127.0.0.1 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
environment:
# APACHE_ADDITIONAL_NETWORK: frontend_net # (Optional) Connect the apache container to an additional docker network. Needed when behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) running in a different docker network on same server. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
- POSTGRES_HOST=nextcloud_db
# BORG_RETENTION_POLICY: --keep-within=7d --keep-weekly=4 --keep-monthly=6 # Allows to adjust borgs retention policy. See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy
- POSTGRES_DB=${NEXTCLOUD_POSTGRES_DB}
# COLLABORA_SECCOMP_DISABLED: false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature
- POSTGRES_USER=${NEXTCLOUD_POSTGRES_USER}
# DOCKER_API_VERSION: 1.44 # You can adjust the internally used docker api version with this variable. ⚠️⚠️⚠️ Warning: please note that only the default api version (unset this variable) is supported and tested by the maintainers of Nextcloud AIO. So use this on your own risk and things might break without warning. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-internally-used-docker-api-version
# FULLTEXTSEARCH_JAVA_OPTIONS: "-Xms1024M -Xmx1024M" # Allows to adjust the fulltextsearch java options. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-fulltextsearch-java-options
- REDIS_HOST=nextcloud-redis
NEXTCLOUD_DATADIR:${NEXTCLOUD_DATA_DIR}# Allows to set the host directory for Nextcloud's datadir. ⚠️⚠️⚠️ Warning: do not set or adjust this value after the initial Nextcloud installation is done! See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
- REDIS_PORT=6379
# NEXTCLOUD_MOUNT: /mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
- NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_DOMAIN}
# NEXTCLOUD_UPLOAD_LIMIT: 16G # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud
networks:
# NEXTCLOUD_MAX_TIME: 3600 # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud
- nextcloud
# NEXTCLOUD_MEMORY_LIMIT: 512M # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud
cron:
# NEXTCLOUD_TRUSTED_CACERTS_DIR: /path/to/my/cacerts # CA certificates in this directory will be trusted by the OS of the nextcloud container (Useful e.g. for LDAPS) See https://github.com/nextcloud/all-in-one#how-to-trust-user-defined-certification-authorities-ca
image:nextcloud:31.0.7
# NEXTCLOUD_STARTUP_APPS: deck twofactor_totp tasks calendar contacts notes # Allows to modify the Nextcloud apps that are installed on starting AIO the first time. See https://github.com/nextcloud/all-in-one#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup
container_name:nextcloud-cron
# NEXTCLOUD_ADDITIONAL_APKS: imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-os-packages-permanently-to-the-nextcloud-container
volumes:
# NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS: imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container
- ${NEXTCLOUD_DATA_DIR}:/var/www/html
# NEXTCLOUD_ENABLE_DRI_DEVICE: true # This allows to enable the /dev/dri device for containers that profit from it. ⚠️⚠️⚠️ Warning: this only works if the '/dev/dri' device is present on the host! If it should not exist on your host, don't set this to true as otherwise the Nextcloud container will fail to start! See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud
entrypoint:/cron.sh
# NEXTCLOUD_ENABLE_NVIDIA_GPU: true # This allows to enable the NVIDIA runtime and GPU access for containers that profit from it. ⚠️⚠️⚠️ Warning: this only works if an NVIDIA gpu is installed on the server. See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud.
restart:unless-stopped
# NEXTCLOUD_KEEP_DISABLED_APPS: false # Setting this to true will keep Nextcloud apps that are disabled in the AIO interface and not uninstall them if they should be installed. See https://github.com/nextcloud/all-in-one#how-to-keep-disabled-apps
networks:
# SKIP_DOMAIN_VALIDATION: false # This should only be set to true if things are correctly configured. See https://github.com/nextcloud/all-in-one#how-to-skip-the-domain-validation
- nextcloud
# TALK_PORT: 3478 # This allows to adjust the port that the talk container is using which is exposed on the host. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port
nextcloud-redis:
image:redis:7
restart:always
networks:
- nextcloud
networks:
nextcloud:
volumes:# If you want to store the data on a different drive, see https://github.com/nextcloud/all-in-one#how-to-store-the-filesinstallation-on-a-separate-drive
nextcloud_aio_mastercontainer:
name:nextcloud_aio_mastercontainer# This line is not allowed to be changed as otherwise the built-in backup solution will not work
#- 3001:3001 We're only using this behind nginx, so no need for the https port
shm_size:"1gb"
restart:unless-stopped
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.