70 lines
2.0 KiB
YAML
70 lines
2.0 KiB
YAML
# version: '2.0'
|
|
services:
|
|
db:
|
|
image: mariadb:10.6
|
|
container_name: seafile-mysql
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=oiuasdf81723 # Requested, set the root's password of MySQL service.
|
|
- MYSQL_LOG_CONSOLE=true
|
|
volumes:
|
|
- seafile_db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
|
|
networks:
|
|
- tnet
|
|
memcached:
|
|
image: memcached:1.6.18
|
|
container_name: seafile-memcached
|
|
entrypoint: memcached -m 256
|
|
networks:
|
|
- tnet
|
|
seafile:
|
|
image: seafileltd/seafile-mc:11.0-latest
|
|
container_name: seafile
|
|
ports:
|
|
- 9180:80
|
|
volumes:
|
|
- seafile_datastore:/shared # Requested, specifies the path to Seafile data persistent store.
|
|
environment:
|
|
- DB_HOST=db
|
|
- DB_ROOT_PASSWD=${DB_ROOT_PW}
|
|
- TIME_ZONE=America/Los_Angeles
|
|
- SEAFILE_ADMIN_EMAIL=${SEAFILE_ADMIN_EMAIL}
|
|
- SEAFILE_ADMIN_PASSWORD=${SEAFILE_ADMIN_PW}
|
|
depends_on:
|
|
- db
|
|
- memcached
|
|
labels:
|
|
- homepage.group=Apps
|
|
- homepage.name=SeaFile
|
|
- homepage.icon=mdi-sync-circle
|
|
- homepage.description=File Sync Service (ana)
|
|
- homepage.href=https://seafile.phasefinal.com
|
|
- traefik.enable=true
|
|
- traefik.http.routers.seafile.tls=true
|
|
- traefik.http.routers.seafile.rule=Host(`seafile.phasefinal.com`)
|
|
- traefik.http.routers.seafile.tls.certresolver=anaprod
|
|
networks:
|
|
- tnet
|
|
env_file:
|
|
- .env
|
|
backup:
|
|
image: offen/docker-volume-backup:latest
|
|
restart: always
|
|
volumes:
|
|
# volumes to backup.
|
|
- seafile_db:/backup/seafile_db:ro
|
|
- seafile_datastore:/backup/seafile_datastore:ro
|
|
- /mnt/backup/docker/ana-docker/seafile:/archive
|
|
# can omit below if not stopping service.
|
|
# - /var/run/docker.sock:/var/run/docker.sock:ro
|
|
env_file:
|
|
- .env
|
|
networks:
|
|
- tnet
|
|
volumes:
|
|
seafile_db: null
|
|
seafile_datastore: null
|
|
networks:
|
|
tnet:
|
|
name: traefik-net
|
|
external: true
|