aboutsummaryrefslogtreecommitdiff
path: root/roles/seafile_docker/templates/docker-compose.yaml.j2
blob: 3dd34b3adb64c0973cc2a266e39d3f2589b6c256 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
version: '2.0'
services:
  db:
    image: mariadb:10.5
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD={{ seafile_mysql_root_password }}
      - MYSQL_LOG_CONSOLE=true
    volumes:
      - {{ seafile_data_root }}/seafile-mysql/db:/var/lib/mysql
    networks:
      - seafile-net

  memcached:
    image: memcached:1.5.6
    container_name: seafile-memcached
    entrypoint: memcached -m 256
    networks:
      - seafile-net

  elasticsearch:
    image: seafileltd/elasticsearch-with-ik:5.6.16
    container_name: seafile-elasticsearch
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 2g
    volumes:
      - {{ seafile_data_root }}/seafile-elasticsearch/data:/usr/share/elasticsearch/data
    networks:
      - seafile-net

  seafile:
    image: {{ seafile_image_name }}:{{ seafile_image_tag }}
    container_name: seafile
    ports:
      - "{{ seafile_listen_port }}:80"
    volumes:
      - {{ seafile_data_root }}/seafile-data:/shared
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD={{ seafile_mysql_root_password }}
      - TIME_ZONE={{ seafile_timezone }}
      - SEAFILE_ADMIN_EMAIL={{ seafile_admin_email }}
      - SEAFILE_ADMIN_PASSWORD={{ seafile_admin_password }}
      - SEAFILE_SERVER_LETSENCRYPT=false
      #- SEAFILE_SERVER_HOSTNAME=example.seafile.com # Specifies your host name if https is enabled
    depends_on:
      - db
      - memcached
      - elasticsearch
    networks:
      - seafile-net

networks:
  seafile-net: