mirror of
https://github.com/tubearchivist/tubearchivist-server.git
synced 2024-11-21 19:30:12 +00:00
197 lines
4.6 KiB
YAML
197 lines
4.6 KiB
YAML
version: '3.3'
|
|
|
|
services:
|
|
nginx-proxy:
|
|
image: nginxproxy/nginx-proxy
|
|
container_name: nginx-proxy
|
|
restart: always
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
volumes:
|
|
- ./volume/nginx-proxy/certs:/etc/nginx/certs
|
|
- ./volume/nginx-proxy/vhost:/etc/nginx/vhost.d
|
|
- ./volume/nginx-proxy/html:/usr/share/nginx/html
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
networks:
|
|
- front
|
|
- tubearchivist_network
|
|
- umami_network
|
|
- gitea_network
|
|
- members_network
|
|
nginx-proxy-acme:
|
|
image: nginxproxy/acme-companion
|
|
container_name: nginx-proxy-acme
|
|
restart: always
|
|
volumes:
|
|
- ./volume/nginx-proxy/certs:/etc/nginx/certs
|
|
- ./volume/nginx-proxy/vhost:/etc/nginx/vhost.d
|
|
- ./volume/nginx-proxy/html:/usr/share/nginx/html
|
|
- ./volume/nginx-proxy/acme:/etc/acme.sh
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
environment:
|
|
- NGINX_PROXY_CONTAINER=nginx-proxy
|
|
networks:
|
|
- front
|
|
# main flask site
|
|
nginx:
|
|
build: ./tubearchivist/nginx
|
|
container_name: backend_nginx
|
|
restart: always
|
|
expose:
|
|
- "8000"
|
|
depends_on:
|
|
- tubearchivist
|
|
environment:
|
|
- VIRTUAL_HOST=tubearchivist.com,www.tubearchivist.com
|
|
- LETSENCRYPT_HOST=tubearchivist.com,www.tubearchivist.com
|
|
networks:
|
|
- tubearchivist_network
|
|
tubearchivist:
|
|
container_name: tubearchivist
|
|
build: ./tubearchivist/web
|
|
restart: always
|
|
volumes:
|
|
- ./volume/tubearchivist/data:/data
|
|
env_file:
|
|
- ./env/tubearchivist.env
|
|
environment:
|
|
- discord=gkWMk9Qupk
|
|
expose:
|
|
- "8080"
|
|
networks:
|
|
- tubearchivist_network
|
|
# backend postgres
|
|
postgres:
|
|
image: postgres:14
|
|
container_name: postgres
|
|
restart: always
|
|
volumes:
|
|
- ./volume/postgres:/var/lib/postgresql/data/
|
|
env_file:
|
|
- ./env/postgres.env
|
|
expose:
|
|
- "5432"
|
|
networks:
|
|
- tubearchivist_network
|
|
redis:
|
|
image: redislabs/rejson:latest
|
|
container_name: redis
|
|
restart: always
|
|
ports:
|
|
- "127.0.0.1:6379:6379"
|
|
volumes:
|
|
- ./volume/redis:/data
|
|
networks:
|
|
- tubearchivist_network
|
|
# umami stats
|
|
umami:
|
|
image: ghcr.io/mikecao/umami:postgresql-latest
|
|
container_name: umami
|
|
expose:
|
|
- "3000"
|
|
env_file:
|
|
- ./env/umami.env
|
|
environment:
|
|
- VIRTUAL_HOST=www.stats.tubearchivist.com,stats.tubearchivist.com
|
|
- LETSENCRYPT_HOST=www.stats.tubearchivist.com,stats.tubearchivist.com
|
|
depends_on:
|
|
- umami-db
|
|
restart: always
|
|
networks:
|
|
- umami_network
|
|
umami-db:
|
|
image: postgres:14
|
|
container_name: umami-db
|
|
env_file:
|
|
- ./env/umami.env
|
|
volumes:
|
|
- ./volume/umami/db:/var/lib/postgresql/data
|
|
restart: always
|
|
networks:
|
|
- umami_network
|
|
# gitea
|
|
gitea:
|
|
image: gitea/gitea
|
|
container_name: gitea
|
|
hostname: gitea
|
|
env_file:
|
|
- ./env/gitea.env
|
|
environment:
|
|
- VIRTUAL_HOST=git.tubearchivist.com,www.git.tubearchivist.com
|
|
- LETSENCRYPT_HOST=git.tubearchivist.com,www.git.tubearchivist.com
|
|
restart: always
|
|
volumes:
|
|
- ./volume/gitea/data:/data
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "3000"
|
|
ports:
|
|
- '127.0.0.1:22:22'
|
|
networks:
|
|
- gitea_network
|
|
gitea-db:
|
|
image: postgres:14
|
|
container_name: gitea-db
|
|
restart: always
|
|
env_file:
|
|
- ./env/gitea.env
|
|
volumes:
|
|
- ./volume/gitea/db:/var/lib/postgresql/data
|
|
networks:
|
|
- gitea_network
|
|
redditbot:
|
|
container_name: redditbot
|
|
restart: unless-stopped
|
|
image: bbilly1/redditbot
|
|
volumes:
|
|
- ./volume/redditbot/data:/data
|
|
env_file:
|
|
- ./env/redditbot.env
|
|
# members
|
|
members_backend_nginx:
|
|
build: ./members/nginx
|
|
container_name: members_backend_nginx
|
|
restart: always
|
|
expose:
|
|
- "8000"
|
|
environment:
|
|
- VIRTUAL_HOST=members.tubearchivist.com
|
|
- LETSENCRYPT_HOST=members.tubearchivist.com
|
|
- VIRTUAL_PORT=8000
|
|
depends_on:
|
|
- members_web
|
|
networks:
|
|
- members_network
|
|
members_web:
|
|
container_name: members_web
|
|
build: ./members/web
|
|
restart: always
|
|
expose:
|
|
- "8080"
|
|
volumes:
|
|
- ./volume/members/web/data:/data
|
|
networks:
|
|
- members_network
|
|
members_pubsub:
|
|
container_name: members_pubsub
|
|
build: ./members/hook
|
|
restart: always
|
|
expose:
|
|
- "8081"
|
|
networks:
|
|
- members_network
|
|
|
|
networks:
|
|
front:
|
|
driver: bridge
|
|
tubearchivist_network:
|
|
driver: bridge
|
|
umami_network:
|
|
driver: bridge
|
|
gitea_network:
|
|
driver: bridge
|
|
members_network:
|
|
driver: bridge
|