|
| 1 | +# Rider-friendly single-file development configuration. |
| 2 | +# Keep this file synchronized with compose.yaml + compose.dev.yaml. |
| 3 | +name: truthgate |
| 4 | + |
| 5 | +services: |
| 6 | + truthgate: |
| 7 | + image: truthgate-ipfs:dev |
| 8 | + build: |
| 9 | + context: . |
| 10 | + dockerfile: Dockerfile |
| 11 | + target: development |
| 12 | + args: |
| 13 | + DOTNET_VERSION: ${DOTNET_VERSION:-10.0} |
| 14 | + KUBO_VERSION: ${KUBO_VERSION:-v0.42.0} |
| 15 | + TRUTHGATE_UID: ${TRUTHGATE_UID:-1000} |
| 16 | + TRUTHGATE_GID: ${TRUTHGATE_GID:-1000} |
| 17 | + container_name: ${TRUTHGATE_CONTAINER_NAME:-truthgate} |
| 18 | + command: ["development"] |
| 19 | + restart: "no" |
| 20 | + read_only: false |
| 21 | + working_dir: /workspace |
| 22 | + security_opt: |
| 23 | + - no-new-privileges:true |
| 24 | + sysctls: |
| 25 | + net.ipv4.ip_unprivileged_port_start: "0" |
| 26 | + environment: |
| 27 | + ASPNETCORE_ENVIRONMENT: Development |
| 28 | + DOTNET_ENVIRONMENT: Development |
| 29 | + ASPNETCORE_URLS: http://0.0.0.0:80 |
| 30 | + DOTNET_USE_POLLING_FILE_WATCHER: "1" |
| 31 | + IPFS_PATH: /data/ipfs/repo |
| 32 | + TMPDIR: /run/truthgate |
| 33 | + TRUTHGATE_ACME_STAGING: ${TRUTHGATE_ACME_STAGING:-false} |
| 34 | + TRUTHGATE_CERT_IPS: ${TRUTHGATE_CERT_IPS:-} |
| 35 | + TRUTHGATE_CERT_PATH: /data/truthgate/certificates |
| 36 | + TRUTHGATE_CONFIG_PATH: /data/truthgate/config/config.json |
| 37 | + TRUTHGATE_DATABASE_PATH: /data/truthgate/database |
| 38 | + TRUTHGATE_STATE_PATH: /data/truthgate/state |
| 39 | + TRUTHGATE_DEV_PROJECT: /workspace/TruthGate-Web/TruthGate-Web/TruthGate-Web.csproj |
| 40 | + TRUTHGATE_HEALTH_URL: http://127.0.0.1:80/ |
| 41 | + ports: |
| 42 | + - "${TRUTHGATE_DEV_HTTP_PORT:-8080}:80/tcp" |
| 43 | + - "${IPFS_SWARM_PORT:-4001}:4001/tcp" |
| 44 | + - "${IPFS_SWARM_PORT:-4001}:4001/udp" |
| 45 | + volumes: |
| 46 | + - type: bind |
| 47 | + source: . |
| 48 | + target: /workspace |
| 49 | + - type: volume |
| 50 | + source: truthgate_nuget |
| 51 | + target: /home/truthgate/.nuget/packages |
| 52 | + - type: bind |
| 53 | + source: ${TRUTHGATE_DATA_HOST_PATH:-./data/truthgate} |
| 54 | + target: /data/truthgate |
| 55 | + - type: bind |
| 56 | + source: ${IPFS_REPO_HOST_PATH:-./data/ipfs/repo} |
| 57 | + target: /data/ipfs/repo |
| 58 | + - type: bind |
| 59 | + source: ${IPFS_BLOCKS_HOST_PATH:-./data/ipfs/blocks} |
| 60 | + target: /data/ipfs/repo/blocks |
| 61 | + tmpfs: |
| 62 | + - /tmp:rw,noexec,nosuid,size=256m |
| 63 | + - /run/truthgate:rw,noexec,nosuid,size=64m |
| 64 | + healthcheck: |
| 65 | + test: ["CMD", "/usr/local/bin/truthgate-healthcheck"] |
| 66 | + interval: 30s |
| 67 | + timeout: 10s |
| 68 | + start_period: 90s |
| 69 | + retries: 3 |
| 70 | + stop_grace_period: 45s |
| 71 | + |
| 72 | +volumes: |
| 73 | + truthgate_nuget: |
0 commit comments