Add Makeflie

This commit is contained in:
Elijah McMorris 2024-08-06 23:24:42 -07:00
parent 4d3e2c5b72
commit afc20907a6
Signed by: NexVeridian
SSH key fingerprint: SHA256:bsA1SKZxuEcEVHAy3gY1HUeM5ykRJl0U0kQHQn0hMg8
9 changed files with 129 additions and 109 deletions

View file

@ -32,13 +32,16 @@
// Features to add to the dev container. More info: https://containers.dev/features. // Features to add to the dev container. More info: https://containers.dev/features.
"features": { "features": {
"ghcr.io/devcontainers/features/git:1": {}, "ghcr.io/devcontainers/features/git:1": {},
"ghcr.io/devcontainers/features/docker-in-docker": {} "ghcr.io/devcontainers/features/docker-in-docker": {},
// "ghcr.io/devcontainers/features/nix:1": { "ghcr.io/devcontainers/features/nix:1": {
// "packages": [ "packages": [
// "btop", "btop",
// "lazygit" "lazygit",
// ] "cargo-nextest",
// } "nixpkgs-fmt"
],
"extraNixConfig": "experimental-features = nix-command flakes"
}
}, },
// Use 'forwardPorts' to make a list of ports inside the container available locally. // Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [], // "forwardPorts": [],

View file

@ -18,7 +18,7 @@ Run tests with `cargo t`
## Docker Compose ## Docker Compose
`git clone` `git clone`
`docker compose -f docker-compose.dev.yml build && docker compose -f docker-compose.dev.yml up --pull always -d` `make up-surrealdb.dev`
Remove the cargo cache for buildkit with `docker builder prune --filter type=exec.cachemount` Remove the cargo cache for buildkit with `docker builder prune --filter type=exec.cachemount`

View file

@ -8,16 +8,16 @@ license = "MIT OR Apache-2.0"
anyhow = "1.0" anyhow = "1.0"
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0" serde_json = "1.0"
surrealdb = "1.1" surrealdb = "1.5.4"
tokio = { version = "1.35", features = ["time"] } tokio = { version = "1.39", features = ["time"] }
futures = "0.3" futures = "0.3"
wikidata = "1.0" wikidata = "1.1"
bzip2 = { version = "0.4", features = ["tokio"] } bzip2 = { version = "0.4", features = ["tokio"] }
lazy_static = "1.4" lazy_static = "1.5"
indicatif = "0.17" indicatif = "0.17"
[dev-dependencies] [dev-dependencies]
surrealdb = { version = "1.1", features = ["kv-mem"] } surrealdb = { version = "1.5", features = ["kv-mem"] }
criterion = { version = "0.5", features = ["async_tokio"] } criterion = { version = "0.5", features = ["async_tokio"] }
pprof = { version = "0.13", features = ["criterion", "protobuf-codec"] } pprof = { version = "0.13", features = ["criterion", "protobuf-codec"] }

14
Makefile Normal file
View file

@ -0,0 +1,14 @@
COMPOSE_FILES := surrealdb surrealdb.dev
.PHONY: $(addprefix up-,$(COMPOSE_FILES)) $(addprefix down-,$(COMPOSE_FILES))
$(addprefix up-,$(COMPOSE_FILES)):
make down-$(subst up-,,$@)
docker compose -f docker-compose-$(subst up-,,$@).yml up --build --pull always -d
$(addprefix down-,$(COMPOSE_FILES)):
docker compose -f docker-compose-$(subst down-,,$@).yml down --volumes --remove-orphans
docker network prune -f
view:
docker attach wikidata-to-surrealdb

View file

@ -20,7 +20,7 @@ https://www.wikidata.org/wiki/Special:EntityData/P527.json
``` ```
# Install # Install
Copy [docker-compose.yml](./docker-compose.yml) Copy [docker-compose-surrealdb.yml](./docker-compose-surrealdb.yml)
Create data folder next to docker-compose.yml and .env, place data inside, and set the data type in .env Create data folder next to docker-compose.yml and .env, place data inside, and set the data type in .env
``` ```
@ -28,14 +28,19 @@ Create data folder next to docker-compose.yml and .env, place data inside, and s
│ ├── Entity.json │ ├── Entity.json
│ ├── latest-all.json.bz2 │ ├── latest-all.json.bz2
│ └── surrealdb │ └── surrealdb
├── Makefile
├── docker-compose.yml ├── docker-compose.yml
└── .env └── .env
``` ```
`docker compose up --pull always -d` ### Then run:
`make up-surrealdb`
### Exit with:
`make down-surrealdb`
## View Progress ## View Progress
`docker attach wikidata-to-surrealdb` `make view`
## Example .env ## Example .env
``` ```

View file

@ -0,0 +1,46 @@
services:
surrealdb:
container_name: surrealdb
image: surrealdb/surrealdb:v2.0.0-alpha.9
env_file:
- .env
entrypoint:
- /surreal
- start
- --user
- $DB_USER
- --pass
- $DB_PASSWORD
- file:/data/surrealdb
restart: always
deploy:
resources:
reservations:
cpus: 1.0
ports:
- 8000:8000
volumes:
- ./data:/data
networks:
- surrealdb
wikidata-to-surrealdb:
container_name: wikidata-to-surrealdb
build:
context: .
env_file:
- .env
restart: no
tty: true
depends_on:
- surrealdb
volumes:
- ./data:/data
networks:
- surrealdb
volumes:
data:
networks:
surrealdb:

View file

@ -0,0 +1,45 @@
services:
surrealdb:
container_name: surrealdb
image: surrealdb/surrealdb:v2.0.0-alpha.9
env_file:
- .env
entrypoint:
- /surreal
- start
- --user
- $DB_USER
- --pass
- $DB_PASSWORD
- file:/data/surrealdb
restart: always
deploy:
resources:
reservations:
cpus: 1.0
ports:
- 8000:8000
volumes:
- ./data:/data
networks:
- surrealdb
wikidata-to-surrealdb:
container_name: wikidata-to-surrealdb
image: ghcr.io/nexveridian/wikidata-to-surrealdb:latest
env_file:
- .env
restart: no
tty: true
depends_on:
- surrealdb
volumes:
- ./data:/data
networks:
- surrealdb
volumes:
data:
networks:
surrealdb:

View file

@ -1,47 +0,0 @@
version: "3"
services:
surrealdb:
container_name: surrealdb
image: surrealdb/surrealdb:latest
env_file:
- .env
entrypoint:
- /surreal
- start
- --user
- $DB_USER
- --pass
- $DB_PASSWORD
- file:/data/surrealdb
restart: always
deploy:
resources:
reservations:
cpus: '1'
ports:
- 8000:8000
volumes:
- ./data:/data
networks:
- surrealdb
wikidata-to-surrealdb:
container_name: wikidata-to-surrealdb
build:
context: .
env_file:
- .env
restart: no
tty: true
depends_on:
- surrealdb
volumes:
- ./data:/data
networks:
- surrealdb
volumes:
data:
networks:
surrealdb:

View file

@ -1,46 +0,0 @@
version: "3"
services:
surrealdb:
container_name: surrealdb
image: surrealdb/surrealdb:latest
env_file:
- .env
entrypoint:
- /surreal
- start
- --user
- $DB_USER
- --pass
- $DB_PASSWORD
- file:/data/surrealdb
restart: always
deploy:
resources:
reservations:
cpus: '1'
ports:
- 8000:8000
volumes:
- ./data:/data
networks:
- surrealdb
wikidata-to-surrealdb:
container_name: wikidata-to-surrealdb
image: ghcr.io/nexveridian/wikidata-to-surrealdb:latest
env_file:
- .env
restart: no
tty: true
depends_on:
- surrealdb
volumes:
- ./data:/data
networks:
- surrealdb
volumes:
data:
networks:
surrealdb: