91 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| version: '3.2'
 | |
| 
 | |
| services:
 | |
|   postgresql:
 | |
|     image: postgres
 | |
|     volumes:
 | |
|       - database:/var/lib/postgresql/data
 | |
|     networks:
 | |
|       - internal
 | |
|     environment:
 | |
|       - POSTGRES_PASSWORD=${PG_PASS:-thisisnotagoodpassword}
 | |
|       - POSTGRES_USER=passbook
 | |
|       - POSTGRES_DB=passbook
 | |
|     labels:
 | |
|       - traefik.enable=false
 | |
|   redis:
 | |
|     image: redis
 | |
|     networks:
 | |
|       - internal
 | |
|     labels:
 | |
|       - traefik.enable=false
 | |
|   server:
 | |
|     build:
 | |
|       context: .
 | |
|     image: docker.beryju.org/passbook/server:${SERVER_TAG:-latest}
 | |
|     command:
 | |
|       - uwsgi
 | |
|       - uwsgi.ini
 | |
|     environment:
 | |
|       - PASSBOOK_DOMAIN=${PASSBOOK_DOMAIN}
 | |
|       - PASSBOOK_REDIS__HOST=redis
 | |
|       - PASSBOOK_POSTGRESQL__HOST=postgresql
 | |
|       - PASSBOOK_POSTGRESQL__PASSWORD=${PG_PASS:-thisisnotagoodpassword}
 | |
|     ports:
 | |
|       - 8000
 | |
|     networks:
 | |
|       - internal
 | |
|     labels:
 | |
|       - traefik.port=8000
 | |
|       - traefik.docker.network=internal
 | |
|       - traefik.frontend.rule=PathPrefix:/
 | |
|   worker:
 | |
|     image: docker.beryju.org/passbook/server:${SERVER_TAG:-latest}
 | |
|     command:
 | |
|       - celery
 | |
|       - worker
 | |
|       - --autoscale=10,3
 | |
|       - -E
 | |
|       - -B
 | |
|       - -A=passbook.root.celery
 | |
|       - -s=/tmp/celerybeat-schedule
 | |
|     networks:
 | |
|       - internal
 | |
|     labels:
 | |
|       - traefik.enable=false
 | |
|     environment:
 | |
|       - PASSBOOK_DOMAIN=${PASSBOOK_DOMAIN}
 | |
|       - PASSBOOK_REDIS__HOST=redis
 | |
|       - PASSBOOK_POSTGRESQL__HOST=postgresql
 | |
|       - PASSBOOK_POSTGRESQL__PASSWORD=${PG_PASS:-thisisnotagoodpassword}
 | |
|   static:
 | |
|     build:
 | |
|       context: .
 | |
|       dockerfile: static.Dockerfile
 | |
|     image: docker.beryju.org/passbook/static:latest
 | |
|     networks:
 | |
|       - internal
 | |
|     labels:
 | |
|       - traefik.frontend.rule=PathPrefix:/static, /robots.txt
 | |
|       - traefik.port=80
 | |
|       - traefik.docker.network=internal
 | |
|   traefik:
 | |
|     image: traefik:1.7
 | |
|     command: --api --docker
 | |
|     volumes:
 | |
|       - /var/run/docker.sock:/var/run/docker.sock:ro
 | |
|     ports:
 | |
|       - "0.0.0.0:80:80"
 | |
|       - "0.0.0.0:443:443"
 | |
|       - "0.0.0.0:8080:8080"
 | |
|     networks:
 | |
|       - internal
 | |
| 
 | |
| volumes:
 | |
|   database:
 | |
|     driver: local
 | |
| 
 | |
| networks:
 | |
|   internal: {}
 | 
