server/docker-compose.yml

96 lines
1.9 KiB
YAML

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