mirror of
https://github.com/offen/website.git
synced 2024-11-22 09:00:28 +01:00
173 lines
5.5 KiB
YAML
173 lines
5.5 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
|
|
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:
|
|
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
|
|
JWT_PRIVATE_KEY: |-
|
|
-----BEGIN PRIVATE KEY-----
|
|
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCa6AEl0RUW43YS
|
|
6cfbYkEDoSxQV8WoEQPuwM9OPdrJjTHYwX9+J9dPhvdnuSIGca86jgYwg45xG5MC
|
|
7arOIIGOI8rBuXWyPF/iZliWxUmzEMIsmZYFNTjezRl95ymy43ZH9JCS2pw2gTTq
|
|
Z4ln/hPkl2KMs+Two7iux52sgFRAxWYPNgqCpkbzEAL+zCHIPaZqsZjRX/nES7/y
|
|
JZWyvSSDQ/CsdeR+xssx2F1JXjQHl68dBEJJc7hAU4xNqs9aP5vaaL6PbwWOh6S7
|
|
bzieDvankyZSrCxVBbMy8+JHXDLLQTp8Lv3y38HL/Ez0gefm2kRnGNTU19kwoFT+
|
|
ceeuYE6RAgMBAAECggEAcZ2g2d/UnAkRXSXi1GHoVYUtP3BhJLf2LnN0mWp8wj+x
|
|
Q84IeLs4DLhtVcJP1nIjl8r7dzHGk+cpmIhBMxZcb6iI2jXwwV3O5fszFsJ1H8U2
|
|
5gdwJTm4EJJWFCYsS2zSIEycjVmSIdf6u8Jc4c1VQeBXA+QeEvHCT09RsmgdY7NA
|
|
zEZtpIf4EUXtQMmZdKwYVRJUJlBccAP2IR23lhAV6pS5n0pwOodnZD7lf/XAIrOm
|
|
Shy0WE+8DAxmg1DXzFLC+vw45kGJTdhHKc+ZFj86Nv2nUx0u12mb1hF3XlC66ojc
|
|
jmS0i5NbJVCqTSSXlC81V/16wCJmWIF0+O6y2EkZwQKBgQDLcgORV1QhUAz6QfiP
|
|
wR9OIWCJyxaGbaBe1FZvx8T9ofri8z/ycwxkzlEDCLYu7CZ2ZCpZLMwE5njzfmTq
|
|
ixhiVvu/fCPgo4bXRt6H/BaggBs04p8UB3ZJKl0ib67kKMXQjH2qFhuCS2Jpy3ru
|
|
REmRoukY4iAqHRdIrP6zW0y55QKBgQDC7BDIZrSbZNwkdbj+UilKEit+plBAvdan
|
|
7CGLg4XhwiW7XYr9gHM3RKCAlUFRIsAaFClxiCvy21p3UpbO0XC5aIC5ReWYK9zh
|
|
THqwjxgDCev4FIe0md2fQCP7TP4wTYwvKjSqzI4v/XW86VYynegDBQSqeI8heuY4
|
|
YbTBYMvHPQKBgQCy89wdiVJwZwizTTpFwNs3j3ZqXmC26FEreN17P56Qd13HKa6z
|
|
Je3d8fkikRQnnAONGjiB7jybhtsXW7OK98UAI4EYAytP2qeuTyFJPj3s+iJ0V28U
|
|
YCf03bXEp7aP7Slrc1jKNt4Fsyei5aCBW0HXQBSHlcgzIxmrDLiRrZqE3QKBgBPu
|
|
KUUkY0EkTfIYa2LtqbUeKH5ZqQkFoCYpWcC3IQBVZqBCz0xeTumOxc5/9F7Ea9n+
|
|
x8IJB11cmmJq+mqJNbpvegH3qKMnkP0kYcMdznm5EPybtMh9lxCKcWNnmvH7a+MC
|
|
sMHqCnvTsa8wOJUSWj+8yp5Xl2L3+wQ20VGYgR2NAoGAE8/BCLHcescaA9PGr4Kx
|
|
EfVfoULTXOJp8a8j+N3C8cXhnroXGT6IYnETb34Z2J713m/5Ko/74PBWXnRvvnu4
|
|
ATPZbyXlmtsorV5E5lRs9x6U9bRUzDEWLp1yITfaDHflYUWkrtAKDZ6GslCMbvQz
|
|
9/CbsOaHzDf73JYos55E78E=
|
|
-----END PRIVATE KEY-----
|
|
JWT_PUBLIC_KEY: |-
|
|
-----BEGIN PUBLIC KEY-----
|
|
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmugBJdEVFuN2EunH22JB
|
|
A6EsUFfFqBED7sDPTj3ayY0x2MF/fifXT4b3Z7kiBnGvOo4GMIOOcRuTAu2qziCB
|
|
jiPKwbl1sjxf4mZYlsVJsxDCLJmWBTU43s0ZfecpsuN2R/SQktqcNoE06meJZ/4T
|
|
5JdijLPk8KO4rsedrIBUQMVmDzYKgqZG8xAC/swhyD2marGY0V/5xEu/8iWVsr0k
|
|
g0PwrHXkfsbLMdhdSV40B5evHQRCSXO4QFOMTarPWj+b2mi+j28Fjoeku284ng72
|
|
p5MmUqwsVQWzMvPiR1wyy0E6fC798t/By/xM9IHn5tpEZxjU1NfZMKBU/nHnrmBO
|
|
kQIDAQAB
|
|
-----END PUBLIC KEY-----
|
|
|
|
volumes:
|
|
kmsdeps:
|
|
serverdeps:
|
|
scriptdeps:
|
|
auditoriumdeps:
|
|
vaultdeps:
|
|
accountdeps:
|