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": {
"ghcr.io/devcontainers/features/git:1": {},
"ghcr.io/devcontainers/features/docker-in-docker": {}
// "ghcr.io/devcontainers/features/nix:1": {
// "packages": [
// "btop",
// "lazygit"
// ]
// }
"ghcr.io/devcontainers/features/docker-in-docker": {},
"ghcr.io/devcontainers/features/nix:1": {
"packages": [
"btop",
"lazygit",
"cargo-nextest",
"nixpkgs-fmt"
],
"extraNixConfig": "experimental-features = nix-command flakes"
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

View file

@ -18,7 +18,7 @@ Run tests with `cargo t`
## Docker Compose
`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`

View file

@ -8,16 +8,16 @@ license = "MIT OR Apache-2.0"
anyhow = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
surrealdb = "1.1"
tokio = { version = "1.35", features = ["time"] }
surrealdb = "1.5.4"
tokio = { version = "1.39", features = ["time"] }
futures = "0.3"
wikidata = "1.0"
wikidata = "1.1"
bzip2 = { version = "0.4", features = ["tokio"] }
lazy_static = "1.4"
lazy_static = "1.5"
indicatif = "0.17"
[dev-dependencies]
surrealdb = { version = "1.1", features = ["kv-mem"] }
surrealdb = { version = "1.5", features = ["kv-mem"] }
criterion = { version = "0.5", features = ["async_tokio"] }
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
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
```
@ -28,14 +28,19 @@ Create data folder next to docker-compose.yml and .env, place data inside, and s
│ ├── Entity.json
│ ├── latest-all.json.bz2
│ └── surrealdb
├── Makefile
├── docker-compose.yml
└── .env
```
`docker compose up --pull always -d`
### Then run:
`make up-surrealdb`
### Exit with:
`make down-surrealdb`
## View Progress
`docker attach wikidata-to-surrealdb`
`make view`
## 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: