Openstatus www.openstatus.dev
at 06d8d5363ea4f7a0dc0b45b6599d94efd108c80d 206 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 env_file: 66 - .env.docker 67 environment: 68 - DATABASE_URL=http://libsql:8080 69 - PORT=3000 70 depends_on: 71 libsql: 72 condition: service_healthy 73 healthcheck: 74 test: ["CMD-SHELL", "curl -f http://localhost:3000/ping || exit 1"] 75 interval: 15s 76 timeout: 10s 77 retries: 3 78 start_period: 30s 79 restart: unless-stopped 80 81 server: 82 container_name: openstatus-server 83 build: 84 context: . 85 dockerfile: apps/server/Dockerfile 86 image: openstatus/server:latest 87 networks: 88 - openstatus 89 ports: 90 - "3001:3000" 91 env_file: 92 - .env.docker 93 environment: 94 - DATABASE_URL=http://libsql:8080 95 - PORT=3000 96 depends_on: 97 workflows: 98 condition: service_healthy 99 libsql: 100 condition: service_healthy 101 healthcheck: 102 test: ["CMD-SHELL", "curl -f http://localhost:3000/ping || exit 1"] 103 interval: 15s 104 timeout: 10s 105 retries: 3 106 start_period: 30s 107 restart: unless-stopped 108 109 private-location: 110 container_name: openstatus-private-location 111 build: 112 context: apps/private-location 113 dockerfile: Dockerfile 114 image: openstatus/private-location:latest 115 networks: 116 - openstatus 117 ports: 118 - "8081:8080" 119 env_file: 120 - .env.docker 121 environment: 122 - DB_URL=http://libsql:8080 123 - TINYBIRD_URL=http://tinybird-local:7181 124 - GIN_MODE=release 125 - PORT=8080 126 depends_on: 127 server: 128 condition: service_healthy 129 healthcheck: 130 test: 131 [ 132 "CMD", 133 "wget", 134 "--spider", 135 "-q", 136 "http://localhost:8080/health", 137 ] 138 interval: 15s 139 timeout: 10s 140 retries: 3 141 start_period: 30s 142 restart: unless-stopped 143 144 dashboard: 145 container_name: openstatus-dashboard 146 build: 147 context: . 148 dockerfile: apps/dashboard/Dockerfile 149 image: openstatus/dashboard:latest 150 networks: 151 - openstatus 152 ports: 153 - "3002:3000" 154 env_file: 155 - .env.docker 156 environment: 157 - DATABASE_URL=http://libsql:8080 158 - PORT=3000 159 - HOSTNAME=0.0.0.0 160 - AUTH_TRUST_HOST=true 161 depends_on: 162 workflows: 163 condition: service_healthy 164 libsql: 165 condition: service_healthy 166 server: 167 condition: service_healthy 168 healthcheck: 169 test: ["CMD-SHELL", "curl -f http://localhost:3000/ || exit 1"] 170 interval: 15s 171 timeout: 10s 172 retries: 3 173 start_period: 45s 174 restart: unless-stopped 175 176 status-page: 177 container_name: openstatus-status-page 178 build: 179 context: . 180 dockerfile: apps/status-page/Dockerfile 181 image: openstatus/status-page:latest 182 networks: 183 - openstatus 184 ports: 185 - "3003:3000" 186 env_file: 187 - .env.docker 188 environment: 189 - DATABASE_URL=http://libsql:8080 190 - PORT=3000 191 - HOSTNAME=0.0.0.0 192 - AUTH_TRUST_HOST=true 193 depends_on: 194 workflows: 195 condition: service_healthy 196 libsql: 197 condition: service_healthy 198 server: 199 condition: service_healthy 200 healthcheck: 201 test: ["CMD-SHELL", "curl -f http://localhost:3000/ || exit 1"] 202 interval: 15s 203 timeout: 10s 204 retries: 3 205 start_period: 45s 206 restart: unless-stopped