Ctrl K
ComunidadGuías…

docker-compose-prod.yml

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# This is intended as the simplest way to get a complete ArchivesSpace system up and running on a single instance using Docker.
# See also: https://docs.archivesspace.org/administration/docker/

x-logging: &default-logging
  driver: "json-file"
  options:
    max-file: "5"
    max-size: "10m"

services:
  app:
    image: archivesspace/archivesspace:${ARCHIVESSPACE_DOCKER_TAG}
    platform: linux/x86_64
    container_name: archivesspace
    restart: unless-stopped
    logging: *default-logging
    env_file:
      - .env
    depends_on:
      - db
      - solr
    volumes:
      - app-data:/archivesspace/data
      - ./plugins:/archivesspace/plugins
      - ./config:/archivesspace/config
      - ./locales:/archivesspace/locales
      - ./stylesheets:/archivesspace/stylesheets

  db:
    image: mysql:8.4
    platform: linux/x86_64
    cap_add:
      - SYS_NICE
    container_name: mysql
    restart: unless-stopped
    logging: *default-logging
    env_file:
      - .env
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --innodb_buffer_pool_size=1G  --innodb_buffer_pool_instances=1 --log_bin_trust_function_creators=1
    ports:
      - "3306:3306"
    volumes:
      - db-data:/var/lib/mysql
      - ./sql:/docker-entrypoint-initdb.d

  db-backup:
    image: databack/mysql-backup:1.5.0
    platform: linux/x86_64
    container_name: db-backup
    restart: unless-stopped
    logging: *default-logging
    user: "0"
    env_file:
      - .env
    environment:
      DB_DUMP_CRON: "0 2 * * *" # UTC
      DB_DUMP_TARGET: /db
      DB_SERVER: db
      DB_USER: root
      DB_PASS: ${MYSQL_ROOT_PASSWORD} # from .env
    command: dump
    volumes:
      - ./backups:/db
    depends_on:
      - db

  solr:
    image: archivesspace/solr:${ARCHIVESSPACE_DOCKER_TAG}
    platform: linux/x86_64
    container_name: solr
    restart: unless-stopped
    logging: *default-logging
    env_file:
      - .env
    command:
      - solr-precreate
      - archivesspace
      - /opt/solr/server/solr/configsets/archivesspace
    ports:
      - "8983:8983"
    volumes:
      - solr-data:/var/solr

  proxy:
    image: nginx:1.30-alpine
    platform: linux/x86_64
    container_name: proxy
    restart: unless-stopped
    logging: *default-logging
    env_file:
      - .env
    depends_on:
      - app
    ports:
      - "${NGINX_PORT}:80"
    volumes:
      - ./proxy-config:/etc/nginx/conf.d/

volumes:
  app-data:
  db-data:
  solr-data: