diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..7c42d7e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,131 @@ +services: + rustfs: + image: rustfs/rustfs:latest + container_name: rustfs + ports: + - "9000:9000" + - "9001:9001" + environment: + - RUSTFS_VOLUMES=/data/rustfs0 + - RUSTFS_ADDRESS=0.0.0.0:9000 + - RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001 + - RUSTFS_ACCESS_KEY=vadim + - RUSTFS_SECRET_KEY=!0218kiriLL + - RUSTFS_CONSOLE_ENABLE=true + - RUSTFS_CORS_ALLOWED_ORIGINS=* + - RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS=* + - RUSTFS_OBS_LOGGER_LEVEL=info + - RUSTFS_OBJECT_CACHE_ENABLE=true + - RUSTFS_OBJECT_CACHE_TTL_SECS=300 + volumes: + - rustfs_data_0:/data/rustfs0 + - ./rustfs/logs:/app/logs + restart: unless-stopped + message: + image: git.madsky.ru/lotti/message:latest + container_name: message + ports: + - "8070:8070" + volumes: + - ./message/config.yml:/app/config.yml + restart: unless-stopped + tracker: + image: git.madsky.ru/vadim/tracker:latest + container_name: tracker + ports: + - "3300:3000" + volumes: + - ./tracker/config.yaml:/app/config.yaml + restart: unless-stopped + nats: + image: nats + container_name: nats + restart: unless-stopped + command: -c /etc/nats/nats.conf + ports: + - "4222:4222" + - "6222:6222" + - "8222:8222" + volumes: + - ./nats.conf:/etc/nats/nats.conf + - ./nats:/data + redis: + image: redis:latest + container_name: redis + restart: unless-stopped + ports: + - "6379:6379" + command: ["redis-server", "--save", "60 1", "--loglevel", "warning"] + volumes: + - ./redis:/data + homebridge: + image: homebridge/homebridge:latest + container_name: homebridge + restart: unless-stopped + network_mode: host + volumes: + - ./homebridge:/homebridge + logging: + driver: json-file + options: + max-size: '10m' + max-file: '1' + healthcheck: + test: curl --fail localhost:8581 || exit 1 + interval: 60s + retries: 5 + start_period: 300s + timeout: 2s + mosquitto: + image: eclipse-mosquitto + container_name: mosquitto + restart: unless-stopped + ports: + - "1883:1883" + volumes: + - ./mosquitto/config:/mosquitto/config + postgres: + image: postgres:17.6-alpine + container_name: postgres + environment: + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres} + volumes: + - ./postgres:/var/lib/postgresql/data + ports: + - "5432:5432" + restart: unless-stopped + gitea: + image: docker.io/gitea/gitea:latest + container_name: gitea + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=postgres:5432 + - GITEA__database__NAME=gitea + - GITEA__database__USER=postgres + - GITEA__database__PASSWD=postgres + restart: unless-stopped + volumes: + - ./gitea:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "3000:3000" + - "2222:22" + depends_on: + - postgres + volume-permission-helper: + image: alpine + volumes: + - rustfs_data_0:/data0 + command: > + sh -c " + chown -R 10001:10001 /data0 /data1 /data2 /data3 /logs && + echo 'Volume Permissions fixed' && + exit 0 + " + restart: "no" + +volumes: + rustfs_data_0: \ No newline at end of file