2
0
mirror of https://github.com/offen/website.git synced 2024-10-18 12:10:25 +02:00
website/docker-compose.yml

136 lines
3.1 KiB
YAML

version: '3'
services:
kms:
build:
context: '.'
dockerfile: Dockerfile.golang
working_dir: /offen/kms
volumes:
- .:/offen
- kmsdeps:/go/pkg/mod
environment:
KEY_FILE: key.txt
PORT: 8081
JWT_PUBLIC_KEY: http://accounts:5000/api/key
ports:
- 8081:8081
command: refresh run
links:
- accounts
server_database:
image: postgres:11.2
environment:
POSTGRES_PASSWORD: develop
accounts_database:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: mysql
MYSQL_ROOT_PASSWORD: develop
server:
build:
context: '.'
dockerfile: Dockerfile.golang
working_dir: /offen/server
volumes:
- .:/offen
- ./bootstrap.yml:/offen/server/bootstrap.yml
- serverdeps:/go/pkg/mod
environment:
POSTGRES_CONNECTION_STRING: postgres://postgres:develop@server_database:5432/postgres?sslmode=disable
KMS_ENCRYPTION_ENDPOINT: http://kms:8081/encrypt
PORT: 8080
JWT_PUBLIC_KEY: http://accounts:5000/api/key
DEVELOPMENT: '1'
ports:
- 8080:8080
command: refresh run
links:
- server_database
depends_on:
- kms
vault:
build:
context: '.'
dockerfile: Dockerfile.node
working_dir: /offen/vault
volumes:
- .:/offen
- vaultdeps:/offen/vault/node_modules
command: npm start -- --port 9977
ports:
- 9977:9977
environment:
- SERVER_HOST=http://localhost:8080
- KMS_HOST=http://localhost:8081
- SCRIPT_HOST=http://localhost:9977
- AUDITORIUM_HOST=http://localhost:9955
- ACCOUNTS_HOST=http://localhost:5000
script:
build:
context: '.'
dockerfile: Dockerfile.node
working_dir: /offen/script
volumes:
- .:/offen
- scriptdeps:/offen/script/node_modules
command: npm start -- --port 9966
ports:
- 9966:9966
environment:
- VAULT_HOST=http://localhost:9977
auditorium:
build:
context: '.'
dockerfile: Dockerfile.node
working_dir: /offen/auditorium
volumes:
- .:/offen
- auditoriumdeps:/offen/auditorium/node_modules
command: npm start -- --port 9955
ports:
- 9955:9955
environment:
- VAULT_HOST=http://localhost:9977
- OPT_OUT_PIXEL_LOCATION=http://localhost:8080/opt-out
- OPT_IN_PIXEL_LOCATION=http://localhost:8080/opt-in
accounts:
build:
context: '.'
dockerfile: Dockerfile.python
working_dir: /offen/accounts
volumes:
- .:/offen
- ./bootstrap.yml:/offen/accounts/bootstrap.yml
- accountdeps:/root/.local
command: flask run --host 0.0.0.0
ports:
- 5000:5000
links:
- accounts_database
environment:
CONFIG_CLASS: accounts.config.LocalConfig
FLASK_APP: accounts:app
FLASK_ENV: development
MYSQL_CONNECTION_STRING: mysql+pymysql://root:develop@accounts_database:3306/mysql
CORS_ORIGIN: http://localhost:9977
SERVER_HOST: http://server:8080
SESSION_SECRET: vndJRFJTiyjfgtTF
volumes:
kmsdeps:
serverdeps:
scriptdeps:
auditoriumdeps:
vaultdeps:
accountdeps: