mirror of
https://github.com/shlinkio/shlink.git
synced 2024-12-18 09:02:04 +03:00
159 lines
4.4 KiB
YAML
159 lines
4.4 KiB
YAML
version: '3'
|
|
|
|
services:
|
|
shlink_nginx:
|
|
container_name: shlink_nginx
|
|
image: nginx:1.19.6-alpine
|
|
ports:
|
|
- "8000:80"
|
|
volumes:
|
|
- ./:/home/shlink/www
|
|
- ./docs:/home/shlink/www/public/docs
|
|
- ./data/infra/vhost.conf:/etc/nginx/conf.d/default.conf
|
|
links:
|
|
- shlink_php
|
|
|
|
shlink_php:
|
|
container_name: shlink_php
|
|
build:
|
|
context: .
|
|
dockerfile: ./data/infra/php.Dockerfile
|
|
ports:
|
|
- '8888:8888'
|
|
volumes:
|
|
- ./:/home/shlink/www
|
|
- ./data/infra/php.ini:/usr/local/etc/php/php.ini
|
|
links:
|
|
- shlink_db_mysql
|
|
- shlink_db_postgres
|
|
- shlink_db_maria
|
|
- shlink_db_ms
|
|
- shlink_redis
|
|
- shlink_mercure
|
|
- shlink_mercure_proxy
|
|
- shlink_rabbitmq
|
|
environment:
|
|
LC_ALL: C
|
|
extra_hosts:
|
|
- 'host.docker.internal:host-gateway'
|
|
|
|
shlink_swoole_proxy:
|
|
container_name: shlink_swoole_proxy
|
|
image: nginx:1.19.6-alpine
|
|
ports:
|
|
- "8002:80"
|
|
volumes:
|
|
- ./:/home/shlink/www
|
|
- ./data/infra/swoole_proxy_vhost.conf:/etc/nginx/conf.d/default.conf
|
|
links:
|
|
- shlink_swoole
|
|
|
|
shlink_swoole:
|
|
container_name: shlink_swoole
|
|
build:
|
|
context: .
|
|
dockerfile: ./data/infra/swoole.Dockerfile
|
|
ports:
|
|
- "8080:8080"
|
|
- "9001:9001"
|
|
volumes:
|
|
- ./:/home/shlink
|
|
- ./data/infra/php.ini:/usr/local/etc/php/php.ini
|
|
links:
|
|
- shlink_db_mysql
|
|
- shlink_db_postgres
|
|
- shlink_db_maria
|
|
- shlink_db_ms
|
|
- shlink_redis
|
|
- shlink_mercure
|
|
- shlink_mercure_proxy
|
|
- shlink_rabbitmq
|
|
environment:
|
|
LC_ALL: C
|
|
extra_hosts:
|
|
- 'host.docker.internal:host-gateway'
|
|
|
|
shlink_db_mysql:
|
|
container_name: shlink_db_mysql
|
|
image: mysql:5.7
|
|
ports:
|
|
- "3307:3306"
|
|
volumes:
|
|
- ./:/home/shlink/www
|
|
- ./data/infra/database:/var/lib/mysql
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_DATABASE: shlink
|
|
|
|
shlink_db_postgres:
|
|
container_name: shlink_db_postgres
|
|
image: postgres:12.2-alpine
|
|
ports:
|
|
- "5433:5432"
|
|
volumes:
|
|
- ./:/home/shlink/www
|
|
- ./data/infra/database_pg:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_PASSWORD: root
|
|
POSTGRES_DB: shlink
|
|
PGDATA: /var/lib/postgresql/data/pgdata
|
|
|
|
shlink_db_maria:
|
|
container_name: shlink_db_maria
|
|
image: mariadb:10.7
|
|
ports:
|
|
- "3308:3306"
|
|
volumes:
|
|
- ./:/home/shlink/www
|
|
- ./data/infra/database_maria:/var/lib/mysql
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_DATABASE: shlink
|
|
MYSQL_INITDB_SKIP_TZINFO: 1
|
|
|
|
shlink_db_ms:
|
|
container_name: shlink_db_ms
|
|
image: mcr.microsoft.com/mssql/server:2019-latest
|
|
ports:
|
|
- "1433:1433"
|
|
environment:
|
|
ACCEPT_EULA: Y
|
|
SA_PASSWORD: "Passw0rd!"
|
|
|
|
shlink_redis:
|
|
container_name: shlink_redis
|
|
image: redis:6.0-alpine
|
|
ports:
|
|
- "6380:6379"
|
|
|
|
shlink_mercure_proxy:
|
|
container_name: shlink_mercure_proxy
|
|
image: nginx:1.19.6-alpine
|
|
ports:
|
|
- "8001:80"
|
|
volumes:
|
|
- ./:/home/shlink/www
|
|
- ./data/infra/mercure_proxy_vhost.conf:/etc/nginx/conf.d/default.conf
|
|
links:
|
|
- shlink_mercure
|
|
|
|
shlink_mercure:
|
|
container_name: shlink_mercure
|
|
image: dunglas/mercure:v0.13
|
|
ports:
|
|
- "3080:80"
|
|
environment:
|
|
SERVER_NAME: ":80"
|
|
MERCURE_PUBLISHER_JWT_KEY: mercure_jwt_key
|
|
MERCURE_SUBSCRIBER_JWT_KEY: mercure_jwt_key
|
|
MERCURE_EXTRA_DIRECTIVES: "cors_origins https://app.shlink.io http://localhost:3000 http://127.0.0.1:3000"
|
|
|
|
shlink_rabbitmq:
|
|
container_name: shlink_rabbitmq
|
|
image: rabbitmq:3.9-management-alpine
|
|
ports:
|
|
- "15672:15672"
|
|
- "5672:5672"
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: "rabbit"
|
|
RABBITMQ_DEFAULT_PASS: "rabbit"
|