Openstatus www.openstatus.dev
at main 208 lines 5.8 kB view raw
1networks: 2 openstatus: 3 driver: bridge 4 name: openstatus 5 6volumes: 7 libsql-data: 8 name: openstatus-libsql-data 9 10services: 11 # External services 12 libsql: 13 container_name: openstatus-libsql 14 image: ghcr.io/tursodatabase/libsql-server:latest 15 networks: 16 - openstatus 17 ports: 18 - "8080:8080" 19 - "5001:5001" 20 volumes: 21 - libsql-data:/var/lib/sqld 22 environment: 23 - SQLD_NODE=primary 24 healthcheck: 25 test: 26 [ 27 "CMD-SHELL", 28 'perl -e ''use IO::Socket::INET; exit(IO::Socket::INET->new(PeerAddr=>"127.0.0.1:8080",Timeout=>1) ? 0 : 1);''', 29 ] 30 interval: 10s 31 timeout: 5s 32 retries: 5 33 start_period: 10s 34 restart: unless-stopped 35 36 tinybird-local: 37 container_name: openstatus-tinybird 38 image: tinybirdco/tinybird-local:latest 39 platform: linux/amd64 40 networks: 41 - openstatus 42 ports: 43 - "7181:7181" 44 environment: 45 - COMPATIBILITY_MODE=1 46 healthcheck: 47 test: ["CMD", "curl", "-f", "http://localhost:7181/"] 48 interval: 15s 49 timeout: 5s 50 retries: 5 51 start_period: 20s 52 restart: unless-stopped 53 54 # Internal Services 55 workflows: 56 container_name: openstatus-workflows 57 build: 58 context: . 59 dockerfile: apps/workflows/Dockerfile 60 image: openstatus/workflows:latest 61 networks: 62 - openstatus 63 ports: 64 - "3000:3000" 65 volumes: 66 - ./data:/app/data 67 env_file: 68 - .env.docker 69 environment: 70 - DATABASE_URL=http://libsql:8080 71 - PORT=3000 72 depends_on: 73 libsql: 74 condition: service_healthy 75 healthcheck: 76 test: ["CMD-SHELL", "curl -f http://localhost:3000/ping || exit 1"] 77 interval: 15s 78 timeout: 10s 79 retries: 3 80 start_period: 30s 81 restart: unless-stopped 82 83 server: 84 container_name: openstatus-server 85 build: 86 context: . 87 dockerfile: apps/server/Dockerfile 88 image: openstatus/server:latest 89 networks: 90 - openstatus 91 ports: 92 - "3001:3000" 93 env_file: 94 - .env.docker 95 environment: 96 - DATABASE_URL=http://libsql:8080 97 - PORT=3000 98 depends_on: 99 workflows: 100 condition: service_healthy 101 libsql: 102 condition: service_healthy 103 healthcheck: 104 test: ["CMD-SHELL", "curl -f http://localhost:3000/ping || exit 1"] 105 interval: 15s 106 timeout: 10s 107 retries: 3 108 start_period: 30s 109 restart: unless-stopped 110 111 private-location: 112 container_name: openstatus-private-location 113 build: 114 context: apps/private-location 115 dockerfile: Dockerfile 116 image: openstatus/private-location:latest 117 networks: 118 - openstatus 119 ports: 120 - "8081:8080" 121 env_file: 122 - .env.docker 123 environment: 124 - DB_URL=http://libsql:8080 125 - TINYBIRD_URL=http://tinybird-local:7181 126 - GIN_MODE=release 127 - PORT=8080 128 depends_on: 129 server: 130 condition: service_healthy 131 healthcheck: 132 test: 133 [ 134 "CMD", 135 "wget", 136 "--spider", 137 "-q", 138 "http://localhost:8080/health", 139 ] 140 interval: 15s 141 timeout: 10s 142 retries: 3 143 start_period: 30s 144 restart: unless-stopped 145 146 dashboard: 147 container_name: openstatus-dashboard 148 build: 149 context: . 150 dockerfile: apps/dashboard/Dockerfile 151 image: openstatus/dashboard:latest 152 networks: 153 - openstatus 154 ports: 155 - "3002:3000" 156 env_file: 157 - .env.docker 158 environment: 159 - DATABASE_URL=http://libsql:8080 160 - PORT=3000 161 - HOSTNAME=0.0.0.0 162 - AUTH_TRUST_HOST=true 163 depends_on: 164 workflows: 165 condition: service_healthy 166 libsql: 167 condition: service_healthy 168 server: 169 condition: service_healthy 170 healthcheck: 171 test: ["CMD-SHELL", "curl -f http://localhost:3000/ || exit 1"] 172 interval: 15s 173 timeout: 10s 174 retries: 3 175 start_period: 45s 176 restart: unless-stopped 177 178 status-page: 179 container_name: openstatus-status-page 180 build: 181 context: . 182 dockerfile: apps/status-page/Dockerfile 183 image: openstatus/status-page:latest 184 networks: 185 - openstatus 186 ports: 187 - "3003:3000" 188 env_file: 189 - .env.docker 190 environment: 191 - DATABASE_URL=http://libsql:8080 192 - PORT=3000 193 - HOSTNAME=0.0.0.0 194 - AUTH_TRUST_HOST=true 195 depends_on: 196 workflows: 197 condition: service_healthy 198 libsql: 199 condition: service_healthy 200 server: 201 condition: service_healthy 202 healthcheck: 203 test: ["CMD-SHELL", "curl -f http://localhost:3000/ || exit 1"] 204 interval: 15s 205 timeout: 10s 206 retries: 3 207 start_period: 45s 208 restart: unless-stopped