diff --git a/.github/workflows/release_dev.yaml b/.github/workflows/release_dev.yaml new file mode 100644 index 00000000..8d681938 --- /dev/null +++ b/.github/workflows/release_dev.yaml @@ -0,0 +1,34 @@ +name: Publish dev Release + +on: + push: + branches: + - main + +jobs: + docker-build: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version: '1.22' + + - name: Login to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build Docker Images + run: | + docker buildx build db/ --no-cache -t ghcr.io/open-wanderer/wanderer-db:dev --platform=linux/amd64,linux/arm64 --push + docker buildx build web/ --no-cache -t ghcr.io/open-wanderer/wanderer-web:dev --platform=linux/amd64,linux/arm64 --push diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml new file mode 100644 index 00000000..c6c78ce6 --- /dev/null +++ b/docker/docker-compose.dev.yml @@ -0,0 +1,74 @@ +version: '3' + +services: + search: + image: getmeili/meilisearch:v1.11.3 + environment: + MEILI_URL: http://search:7700 + MEILI_MASTER_KEY: ${MEILI_MASTER_KEY:?} + MEILI_NO_ANALYTICS: "true" + volumes: + - meili_data:/meili_data + restart: unless-stopped + healthcheck: + test: curl --fail http://localhost:7700/health || exit 1 + interval: 15s + retries: 10 + start_period: 20s + timeout: 10s + db: + image: ghcr.io/open-wanderer/wanderer-db:dev + depends_on: + search: + condition: service_healthy + environment: + MEILI_URL: http://search:7700 + MEILI_MASTER_KEY: ${MEILI_MASTER_KEY:?} + POCKETBASE_ENCRYPTION_KEY: ${POCKETBASE_ENCRYPTION_KEY:?} + ORIGIN: ${ORIGIN:?} + restart: unless-stopped + volumes: + - pb_data:/pb_data + healthcheck: + test: ["CMD", "/curl", "--fail", "http://localhost:8090/health"] + interval: 15s + retries: 10 + start_period: 20s + timeout: 10s + web: + image: ghcr.io/open-wanderer/wanderer-web:dev + depends_on: + search: + condition: service_healthy + db: + condition: service_healthy + environment: + MEILI_URL: http://search:7700 + MEILI_MASTER_KEY: ${MEILI_MASTER_KEY:?} + ORIGIN: ${ORIGIN:?} + BODY_SIZE_LIMIT: Infinity + PUBLIC_POCKETBASE_URL: http://db:8090 + PUBLIC_DISABLE_SIGNUP: "false" + UPLOAD_FOLDER: /app/uploads + UPLOAD_USER: + UPLOAD_PASSWORD: + PUBLIC_OVERPASS_API_URL: https://overpass-api.de + PUBLIC_VALHALLA_URL: https://valhalla1.openstreetmap.de + PUBLIC_NOMINATIM_URL: https://nominatim.openstreetmap.org + volumes: + - uploads:/app/uploads + # - ./data/about.md:/app/build/client/md/about.md + expose: + - "3000" + restart: unless-stopped + healthcheck: + test: ["CMD", "/curl", "--fail", "http://localhost:3000/"] + interval: 15s + retries: 10 + start_period: 20s + timeout: 10s + +volumes: + meili_data: + pb_data: + uploads: diff --git a/docker-compose.prod.yml b/docker/docker-compose.prod.yml similarity index 100% rename from docker-compose.prod.yml rename to docker/docker-compose.prod.yml