Here is the docker-compose.yml
file I’m using.
version: "3.8"
services:
eventstore-simple:
container_name: eventstore
image: eventstore/eventstore:latest # release-5.0.8
ports:
- 2113:2113
- 1113:1113
environment:
- EVENTSTORE_EXT_HTTP_PORT=2113
- EVENTSTORE_HTTP_PORT=2113
- EVENTSTORE_HTTP_PORT_ADVERTISE_AS=2113
- EVENTSTORE_EXT_TCP_PORT=1113
- EVENTSTORE_EXT_HTTPS_PREFIXES=http://*:2113/
- EVENTSTORE_ENABLE_EXTERNAL_TCP=True
- EVENTSTORE_DISABLE_FIRST_LEVEL_HTTP_AUTHORIZATION=True
volumes:
- eventstore-data:/var/lib/eventstore
- eventstore-log:/var/log/eventstore
command: --dev
volumes:
eventstore-data:
eventstore-log:
My log looks like this…
eventstore | [ 1, 1,02:40:58.561,INF]
eventstore | "ES VERSION:" "0.0.0" ("Unknown"/"Unknown", "Unknown")
eventstore | [ 1, 1,02:40:58.575,INF] "OS:" Linux ("Unix 4.19.76.0")
eventstore | [ 1, 1,02:40:58.578,INF] "RUNTIME:" ".NET 3.1.4" (64-bit)
eventstore | [ 1, 1,02:40:58.578,INF] "GC:" "3 GENERATIONS"
eventstore | [ 1, 1,02:40:58.578,INF] "LOGS:" "/var/log/eventstore"
eventstore | [ 1, 1,02:40:58.588,INF] MODIFIED OPTIONS:
eventstore |
eventstore | DEV: True (Command Line)
eventstore | HTTP PORT: 2113 (Environment Variable)
eventstore | ENABLE EXTERNAL TCP: True (Environment Variable)
eventstore | EXT TCP PORT: 1113 (Environment Variable)
eventstore | HTTP PORT ADVERTISE AS: 2113 (Environment Variable)
eventstore | DISABLE FIRST LEVEL HTTP AUTHORIZATION: True (Environment Variable)
eventstore | MEM DB: True (Set by 'Development Mode' mode)
eventstore | TRUSTED ROOT CERTIFICATES PATH: /opt/eventstore/dev-ca (Set by 'Development Mode' mode)
eventstore | CERTIFICATE FILE: /opt/eventstore/dev-ca/server1.pem (Set by 'Development Mode' mode)
eventstore | CERTIFICATE PRIVATE KEY FILE: /opt/eventstore/dev-ca/server1.key (Set by 'Development Mode' mode)
eventstore | ENABLE ATOM PUB OVER HTTP: True (Set by 'Development Mode' mode)
eventstore |
eventstore | DEFAULT OPTIONS:
eventstore |
eventstore | HELP: False (<DEFAULT>)
eventstore | VERSION: False (<DEFAULT>)
eventstore | LOG: /var/log/eventstore (<DEFAULT>)
eventstore | CONFIG: <empty> (<DEFAULT>)
eventstore | WHAT IF: False (<DEFAULT>)
eventstore | START STANDARD PROJECTIONS: False (<DEFAULT>)
eventstore | DISABLE HTTP CACHING: False (<DEFAULT>)
eventstore | INT IP: 127.0.0.1 (<DEFAULT>)
eventstore | EXT IP: 127.0.0.1 (<DEFAULT>)
eventstore | INT TCP PORT: 1112 (<DEFAULT>)
eventstore | EXT HOST ADVERTISE AS: <empty> (<DEFAULT>)
eventstore | EXT TCP PORT ADVERTISE AS: 0 (<DEFAULT>)
eventstore | INT HOST ADVERTISE AS: <empty> (<DEFAULT>)
eventstore | INT TCP PORT ADVERTISE AS: 0 (<DEFAULT>)
eventstore | INT TCP HEARTBEAT TIMEOUT: 700 (<DEFAULT>)
eventstore | EXT TCP HEARTBEAT TIMEOUT: 1000 (<DEFAULT>)
eventstore | INT TCP HEARTBEAT INTERVAL: 700 (<DEFAULT>)
eventstore | EXT TCP HEARTBEAT INTERVAL: 2000 (<DEFAULT>)
eventstore | GOSSIP ON SINGLE NODE: False (<DEFAULT>)
eventstore | CONNECTION PENDING SEND BYTES THRESHOLD: 10485760 (<DEFAULT>)
eventstore | CONNECTION QUEUE SIZE THRESHOLD: 50000 (<DEFAULT>)
eventstore | CLUSTER SIZE: 1 (<DEFAULT>)
eventstore | NODE PRIORITY: 0 (<DEFAULT>)
eventstore | MIN FLUSH DELAY MS: 2 (<DEFAULT>)
eventstore | COMMIT COUNT: -1 (<DEFAULT>)
eventstore | PREPARE COUNT: -1 (<DEFAULT>)
eventstore | DISABLE ADMIN UI: False (<DEFAULT>)
eventstore | DISABLE STATS ON HTTP: False (<DEFAULT>)
eventstore | DISABLE GOSSIP ON HTTP: False (<DEFAULT>)
eventstore | DISABLE SCAVENGE MERGING: False (<DEFAULT>)
eventstore | SCAVENGE HISTORY MAX AGE: 30 (<DEFAULT>)
eventstore | DISCOVER VIA DNS: True (<DEFAULT>)
eventstore | CLUSTER DNS: fake.dns (<DEFAULT>)
eventstore | CLUSTER GOSSIP PORT: 30777 (<DEFAULT>)
eventstore | GOSSIP SEED: <empty> (<DEFAULT>)
eventstore | STATS PERIOD SEC: 30 (<DEFAULT>)
eventstore | CACHED CHUNKS: -1 (<DEFAULT>)
eventstore | READER THREADS COUNT: 4 (<DEFAULT>)
eventstore | CHUNKS CACHE SIZE: 536871424 (<DEFAULT>)
eventstore | MAX MEM TABLE SIZE: 1000000 (<DEFAULT>)
eventstore | HASH COLLISION READ LIMIT: 100 (<DEFAULT>)
eventstore | DB: /var/lib/eventstore (<DEFAULT>)
eventstore | INDEX: <empty> (<DEFAULT>)
eventstore | SKIP DB VERIFY: False (<DEFAULT>)
eventstore | WRITE THROUGH: False (<DEFAULT>)
eventstore | UNBUFFERED: False (<DEFAULT>)
eventstore | CHUNK INITIAL READER COUNT: 5 (<DEFAULT>)
eventstore | RUN PROJECTIONS: None (<DEFAULT>)
eventstore | PROJECTION THREADS: 3 (<DEFAULT>)
eventstore | WORKER THREADS: 5 (<DEFAULT>)
eventstore | PROJECTIONS QUERY EXPIRY: 5 (<DEFAULT>)
eventstore | FAULT OUT OF ORDER PROJECTIONS: False (<DEFAULT>)
eventstore | ENABLE TRUSTED AUTH: False (<DEFAULT>)
eventstore | CERTIFICATE PASSWORD: <empty> (<DEFAULT>)
eventstore | CERTIFICATE STORE LOCATION: <empty> (<DEFAULT>)
eventstore | CERTIFICATE STORE NAME: <empty> (<DEFAULT>)
eventstore | CERTIFICATE SUBJECT NAME: <empty> (<DEFAULT>)
eventstore | CERTIFICATE THUMBPRINT: <empty> (<DEFAULT>)
eventstore | DISABLE INTERNAL TCP TLS: False (<DEFAULT>)
eventstore | DISABLE EXTERNAL TCP TLS: False (<DEFAULT>)
eventstore | AUTHORIZATION TYPE: internal (<DEFAULT>)
eventstore | AUTHENTICATION TYPE: internal (<DEFAULT>)
eventstore | AUTHORIZATION CONFIG: <empty> (<DEFAULT>)
eventstore | AUTHENTICATION CONFIG: <empty> (<DEFAULT>)
eventstore | PREPARE TIMEOUT MS: 2000 (<DEFAULT>)
eventstore | COMMIT TIMEOUT MS: 2000 (<DEFAULT>)
eventstore | WRITE TIMEOUT MS: 2000 (<DEFAULT>)
eventstore | UNSAFE DISABLE FLUSH TO DISK: False (<DEFAULT>)
eventstore | UNSAFE IGNORE HARD DELETE: False (<DEFAULT>)
eventstore | SKIP INDEX VERIFY: False (<DEFAULT>)
eventstore | INDEX CACHE DEPTH: 16 (<DEFAULT>)
eventstore | OPTIMIZE INDEX MERGE: False (<DEFAULT>)
eventstore | GOSSIP INTERVAL MS: 2000 (<DEFAULT>)
eventstore | GOSSIP ALLOWED DIFFERENCE MS: 60000 (<DEFAULT>)
eventstore | GOSSIP TIMEOUT MS: 2500 (<DEFAULT>)
eventstore | READ ONLY REPLICA: False (<DEFAULT>)
eventstore | UNSAFE ALLOW SURPLUS NODES: False (<DEFAULT>)
eventstore | ENABLE HISTOGRAMS: False (<DEFAULT>)
eventstore | LOG HTTP REQUESTS: False (<DEFAULT>)
eventstore | LOG FAILED AUTHENTICATION ATTEMPTS: False (<DEFAULT>)
eventstore | ALWAYS KEEP SCAVENGED: False (<DEFAULT>)
eventstore | SKIP INDEX SCAN ON READS: False (<DEFAULT>)
eventstore | REDUCE FILE CACHE PRESSURE: False (<DEFAULT>)
eventstore | INITIALIZATION THREADS: 1 (<DEFAULT>)
eventstore | MAX AUTO MERGE INDEX LEVEL: 2147483647 (<DEFAULT>)
eventstore | WRITE STATS TO DB: False (<DEFAULT>)
eventstore | MAX TRUNCATION: 268435456 (<DEFAULT>)
eventstore | MAX APPEND SIZE: 1048576 (<DEFAULT>)
eventstore | DEAD MEMBER REMOVAL PERIOD SEC: 1800 (<DEFAULT>)
eventstore |
eventstore | [ 1, 1,02:40:58.591,WRN]
eventstore | ========================================================================================================
eventstore | DEVELOPMENT MODE IS ON. THIS MODE IS *NOT* INTENDED FOR PRODUCTION USE.
eventstore | WHEN IN DEVELOPMENT MODE EVENT STORE WILL
eventstore | - NOT WRITE ANY DATA TO DISK.
eventstore | - USE A SELF SIGNED CERTIFICATE.
eventstore | ========================================================================================================
eventstore |
eventstore | [ 1, 1,02:40:58.591,INF]
eventstore | INTERFACES
eventstore | External TCP (Protobuf)
eventstore | Enabled : True
eventstore | Port : 1113
eventstore | HTTP (AtomPub)
eventstore | Enabled : True
eventstore | Port : 2113
eventstore |
eventstore | [ 1, 1,02:40:58.591,WRN]
eventstore | DEPRECATION WARNING: AtomPub over HTTP Interface has been deprecated as of version 20.02. It is recommended to use gRPC instead.
eventstore |
eventstore | [ 1, 1,02:40:58.591,WRN]
eventstore | DEPRECATION WARNING: The Legacy TCP Client Interface has been deprecated as of version 20.02. The External TCP Interface can be re-enabled with the 'EnableExternalTCP' option. It is recommended to use gRPC instead.
eventstore |
eventstore | [ 1, 1,02:40:58.604,INF] Quorum size set to 1
eventstore | [ 1, 1,02:40:58.651,INF] Trusted root certificate file loaded: "ca.pem"
eventstore | [ 1, 1,02:40:58.651,INF] Trusted root certificate file loaded: "server1.pem"
eventstore | [ 1, 1,02:40:58.664,INF] Cannot find plugins path: "/usr/share/eventstore/plugins"
eventstore | [ 1, 1,02:40:58.853,DBG] MessageHierarchy initialization took 00:00:00.1485896.
eventstore | [ 1, 1,02:40:58.857,INF] "INSTANCE ID:" c3edb8b5-8082-4607-ab2a-3409035c3a82
eventstore | [ 1, 1,02:40:58.857,INF] "DATABASE:" "/tmp/EmbeddedEventStore/2020-07-07_02.40.58.606795-EmbeddedNode"
eventstore | [ 1, 1,02:40:58.858,INF] "WRITER CHECKPOINT:" 0 (0x0)
eventstore | [ 1, 1,02:40:58.858,INF] "CHASER CHECKPOINT:" 0 (0x0)
eventstore | [ 1, 1,02:40:58.858,INF] "EPOCH CHECKPOINT:" -1 (0xFFFFFFFFFFFFFFFF)
eventstore | [ 1, 1,02:40:58.858,INF] "TRUNCATE CHECKPOINT:" -1 (0xFFFFFFFFFFFFFFFF)
eventstore | [ 1, 1,02:40:58.926,DBG] Could not create performance counter: category='"Processor"', counter='"% Processor Time"', instance='"_Total"'. Error: "Performance Counters are not supported on this platform."
eventstore | [ 1, 1,02:40:58.926,DBG] Could not create performance counter: category='"Memory"', counter='"Available Bytes"', instance='""'. Error: "Performance Counters are not supported on this platform."
eventstore | [ 1, 1,02:40:59.096,INF] Starting MiniWeb for "/web/es/js/projections" ==> "/opt/eventstore/projections"
eventstore | [ 1, 1,02:40:59.096,INF] Starting MiniWeb for "/web/es/js/projections/v8/Prelude" ==> "/opt/eventstore/Prelude"
eventstore | [ 1, 1,02:40:59.104,INF] Starting MiniWeb for "/web" ==> "/opt/eventstore/clusternode-web"
eventstore | [ 1,12,02:40:59.174,INF] ========== ["127.0.0.1:2113"] SYSTEM INIT...
eventstore | [ 1,12,02:40:59.179,INF] Starting "Secure" TCP listening on TCP endpoint: "127.0.0.1:1113".
eventstore | [ 1,14,02:40:59.184,INF] TableIndex initialization...
eventstore | [ 1,14,02:40:59.189,INF] ReadIndex building...
eventstore | [ 1,14,02:40:59.191,DBG] ReadIndex rebuilding done: total processed 0 records, time elapsed: 00:00:00.0016229.
eventstore | [ 1,12,02:40:59.193,INF] ========== ["127.0.0.1:2113"] Service '"StorageReader"' initialized.
eventstore | [ 1,12,02:40:59.194,INF] ========== ["127.0.0.1:2113"] Service '"StorageWriter"' initialized.
eventstore | [ 1,12,02:40:59.210,INF] ========== ["127.0.0.1:2113"] Service '"StorageChaser"' initialized.
eventstore | [ 1,12,02:40:59.210,INF] ========== ["127.0.0.1:2113"] SYSTEM START...
eventstore | [ 1,12,02:40:59.216,INF] ========== ["127.0.0.1:2113"] IS UNKNOWN...
eventstore | [ 1, 9,02:40:59.219,DBG] Persistent subscriptions received state change to Unknown. Stopping listening
eventstore | [ 1,12,02:40:59.219,INF] ELECTIONS: STARTING ELECTIONS.
eventstore | [ 1,12,02:40:59.221,INF] ELECTIONS: (V=0) SHIFT TO LEADER ELECTION.
eventstore | [ 1,12,02:40:59.223,INF] ELECTIONS: (V=0) VIEWCHANGE FROM ["Unspecified/127.0.0.1:2113", {c3edb8b5-8082-4607-ab2a-3409035c3a82}].
eventstore | [ 1,12,02:40:59.225,INF] ELECTIONS: (V=0) MAJORITY OF VIEWCHANGE.
eventstore | [ 1,12,02:40:59.227,INF] ELECTIONS: (V=0) SHIFT TO PREPARE PHASE.
eventstore | [ 1,12,02:40:59.229,INF] ELECTIONS: (V=0) PREPARE_OK FROM "[Unspecified/127.0.0.1:2113,{c3edb8b5-8082-4607-ab2a-3409035c3a82}](L=-1,W=0,C=0,E-1@-1:{00000000-0000-0000-0000-000000000000} (L={00000000-0000-0000-0000-000000000000}),Priority=0)".
eventstore | [ 1,12,02:40:59.229,INF] ELECTIONS: (V=0) SHIFT TO REG_LEADER.
eventstore | [ 1,12,02:40:59.240,DBG] ELECTIONS: (V=0) Proposing node: {c3edb8b5-8082-4607-ab2a-3409035c3a82} as best leader candidate
eventstore | [ 1,12,02:40:59.241,INF] ELECTIONS: (V=0) SENDING PROPOSAL CANDIDATE: "[Unspecified/127.0.0.1:2113,{c3edb8b5-8082-4607-ab2a-3409035c3a82}](L=-1,W=0,C=0,E-1@-1:{00000000-0000-0000-0000-000000000000} (L={00000000-0000-0000-0000-000000000000}),Priority=0)", ME: "[Unspecified/127.0.0.1:2113,{c3edb8b5-8082-4607-ab2a-3409035c3a82}](L=-1,W=0,C=0,E-1@-1:{00000000-0000-0000-0000-000000000000} (L={00000000-0000-0000-0000-000000000000}),Priority=0)".
eventstore | [ 1,12,02:40:59.242,INF] ELECTIONS: (V=0) ACCEPT FROM ["Unspecified/127.0.0.1:2113",{c3edb8b5-8082-4607-ab2a-3409035c3a82}] M=["Unspecified/127.0.0.1:2113",{c3edb8b5-8082-4607-ab2a-3409035c3a82}]).
eventstore | [ 1,12,02:40:59.243,INF] ELECTIONS: (V=0) DONE. ELECTED LEADER = "[Unspecified/127.0.0.1:2113,{c3edb8b5-8082-4607-ab2a-3409035c3a82}](L=-1,W=0,C=0,E-1@-1:{00000000-0000-0000-0000-000000000000} (L={00000000-0000-0000-0000-000000000000}),Priority=0)". ME="[Unspecified/127.0.0.1:2113,{c3edb8b5-8082-4607-ab2a-3409035c3a82}](L=-1,W=0,C=0,E-1@-1:{00000000-0000-0000-0000-000000000000} (L={00000000-0000-0000-0000-000000000000}),Priority=0)".
eventstore | [ 1,12,02:40:59.245,INF] ========== ["127.0.0.1:2113"] PRE-LEADER STATE, WAITING FOR CHASER TO CATCH UP...
eventstore | [ 1, 4,02:40:59.246,DBG] Persistent subscriptions received state change to PreLeader. Stopping listening
eventstore | [ 1,12,02:40:59.251,INF] ========== ["127.0.0.1:2113"] IS LEADER... SPARTA!
eventstore | [ 1,18,02:40:59.252,DBG] Persistent subscriptions Became Leader so now handling subscriptions
eventstore | [ 1,12,02:40:59.254,DBG] Searching for incomplete scavenges on node "127.0.0.1:2113".
eventstore | [ 1,12,02:40:59.262,DBG] No incomplete scavenges found on node "127.0.0.1:2113".
eventstore | [ 1,12,02:40:59.265,DBG] Setting max age for the "$scavenges" stream to 30.00:00:00.
eventstore | [ 1,12,02:40:59.265,DBG] Setting $ops read permission for the "$scavenges" stream
eventstore | [ 1, 1,02:40:59.332,WRN] Overriding address(es) '"http://+:80"'. Binding to endpoints defined in "UseKestrel()" instead.
eventstore | [ 1,10,02:40:59.386,DBG] === Writing E0@0:{ad27ebf9-1533-4fd3-bf42-103664bc9227} (previous epoch at -1). L={c3edb8b5-8082-4607-ab2a-3409035c3a82}.
eventstore | [ 1,10,02:40:59.387,DBG] === Update Last Epoch E0@0:{ad27ebf9-1533-4fd3-bf42-103664bc9227} (previous epoch at -1) L={c3edb8b5-8082-4607-ab2a-3409035c3a82}.
eventstore | [ 1, 6,02:40:59.492,INF] 'admin' user account has been created.
eventstore | [ 1,17,02:40:59.494,INF] 'ops' user account has been created.
eventstore | [ 1,20,02:40:59.496,INF] 'admin' user added to $users.
eventstore | [ 1,17,02:40:59.496,INF] 'ops' user added to $users.
eventstore | [ 1,21,02:40:59.500,INF] PROJECTIONS SUBSYSTEM: Starting components for Instance: f861bd60-370d-4417-a959-f0558918f011
eventstore | [ 1,21,02:40:59.501,DBG] PROJECTIONS: Projection Core Coordinator component starting. Correlation: f861bd60-370d-4417-a959-f0558918f011
eventstore | [ 1,21,02:40:59.502,DBG] PROJECTIONS: Starting Projections Core Coordinator
eventstore | [ 1,21,02:40:59.504,DBG] PROJECTIONS: SubComponent Started: "EventReaderCoreService"
eventstore | [ 1,21,02:40:59.505,DBG] PROJECTIONS SUBSYSTEM: Component '"ProjectionCoreCoordinator"' started for Instance: f861bd60-370d-4417-a959-f0558918f011
eventstore | [ 1,21,02:40:59.506,INF] PROJECTIONS SUBSYSTEM: All components started for Instance: f861bd60-370d-4417-a959-f0558918f011
eventstore | [ 1,12,02:40:59.507,INF] ========== ["127.0.0.1:2113"] Sub System '"Projections"' initialized.
When I hit http://localhost:2113
or https://localhost:2113
I get nothing.
Is there anything else that I need to set up in environment to get this to work?
At this point I’m just randomly changing environment variables to see what happens.