services: nginx: image: nginx:alpine container_name: s3_nginx restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./nginx/certs:/etc/nginx/certs:ro - nginx_logs:/var/log/nginx depends_on: - rustfs - xavia - gitea networks: - s3_net rustfs_perm: image: alpine:latest container_name: rustfs_perm volumes: - /mnt/data:/data command: chown -R 10001:10001 /data rustfs: image: rustfs/rustfs:latest depends_on: rustfs_perm: condition: service_completed_successfully hostname: rustfs container_name: rustfs restart: unless-stopped volumes: - /mnt/data:/data - /mnt/logs:/logs environment: - RUSTFS_ACCESS_KEY=${RUSTFS_ACCESS_KEY:-iBacJPHUHSf6SMTnxrr} - RUSTFS_SECRET_KEY=${RUSTFS_SECRET_KEY:-4jNzZhstv1WkwTwtvR4gHSbrx01m4sJl4LBBleeJ} - RUSTFS_SERVER_DOMAINS=rustfs.uber-stup.club - RUSTFS_CONSOLE_ENABLE=true - RUSTFS_ADDRESS=:9000 - RUSTFS_CONSOLE_ADDRESS=:9001 networks: - s3_net xavia_db: image: postgres:16-alpine container_name: xavia_db restart: unless-stopped environment: - POSTGRES_USER=${XAVIA_POSTGRES_USER:-xavia} - POSTGRES_PASSWORD=${XAVIA_POSTGRES_PASSWORD} - POSTGRES_DB=${XAVIA_POSTGRES_DB:-releases_db} volumes: - xavia_db_data:/var/lib/postgresql/data networks: - s3_net xavia: image: xaviaio/xavia-ota:latest container_name: xavia restart: unless-stopped environment: - HOST=https://ota.uber-stup.club - BLOB_STORAGE_TYPE=local - DB_TYPE=postgres - ADMIN_PASSWORD=${XAVIA_ADMIN_PASSWORD} - UPLOAD_KEY=${XAVIA_UPLOAD_KEY} - PRIVATE_KEY_BASE_64=${XAVIA_PRIVATE_KEY_BASE_64} - POSTGRES_USER=${XAVIA_POSTGRES_USER:-xavia} - POSTGRES_PASSWORD=${XAVIA_POSTGRES_PASSWORD} - POSTGRES_DB=${XAVIA_POSTGRES_DB:-releases_db} - POSTGRES_HOST=xavia_db - POSTGRES_PORT=5432 volumes: - xavia_blobs:/app/blobs depends_on: - xavia_db networks: - s3_net gitea: image: docker.gitea.com/gitea:latest container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 restart: always volumes: - gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro networks: - s3_net dozzle-agent: image: amir20/dozzle:latest command: agent volumes: - /var/run/docker.sock:/var/run/docker.sock:ro ports: - "7007:7007" restart: unless-stopped networks: s3_net: driver: bridge volumes: nginx_logs: xavia_db_data: xavia_blobs: gitea: