services: caddy: image: caddy restart: unless-stopped ports: - "80:80" - "443:443" - "443:443/udp" networks: auth caddy volumes: - caddy/Caddyfile:/etc/caddy/Caddyfile - ./website/public:/srv/keegan - ./fish:/srv/fish - caddy_data:/data - caddy_config:/config gitea: image: gitea/gitea environment: - USER_UID=1000 - USER_GID=1000 restart: always networks: - gitea - caddy volumes: - gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro # allows ssh pushing via locally stored keys - /home/git/.ssh:/data/git/.ssh ports: - "127.0.0.1:2222:22" postgres: image: postgresql:latest env-file: "priv/env" networks: postgres: mariadb: image: mariadb:10.11 container_name: seafile-mysql environment: # - MYSQL_ROOT_PASSWORD=8RK5bG4u4Xbthp9Zr9kQ # Requested, set the root's password of MySQL service. - MYSQL_ROOT_PASSWORD=${SEAFILE_DB_PASS} - MYSQL_LOG_CONSOLE=true volumes: - /opt/seafile-mysql/db:/var/lib/mysql networks: - seafile-net memcached: image: memcached:1.6.18 container_name: seafile-memcached entrypoint: memcached -m 256 networks: - seafile-net seafile: image: seafileltd/seafile-mc:10.0-latest container_name: seafile volumes: - /opt/seafile-mysql:/shared env-file: "priv/env" environment: - DB_HOST=seafile-db - DB_ROOT_PASSWD=${SEAFILE_DB_PASSWORD} depends_on: - db - memcached networks: - seafile-net - caddy volumes: gitea: caddy_data: caddy_config: networks: gitea-net: external: false seafile-net: external: false caddy: external: false driver: bridge auth: external: true postgres: external: false