add garage
All checks were successful
lint-test-docker / docker-lint (push) Successful in 8s
renovate / renovate (push) Successful in 1m21s

This commit is contained in:
2025-10-21 18:42:26 -05:00
parent 19fa8db6f4
commit 3f02c53445
3 changed files with 115 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
services:
tailscale-garage:
image: ghcr.io/tailscale/tailscale:v1.88.4
container_name: tailscale-garage
cap_add:
- net_admin
- sys_module
environment:
- TS_STATE_DIR=/var/lib/tailscale
- TS_ENABLE_METRICS=true
- TS_HOSTNAME=garage-ps10rp
- TS_SERVE_CONFIG=/config/serve.json
network_mode: service:garage
restart: always
volumes:
- tailscale:/var/lib/tailscale
- ${PWD}/serve.json:/config/serve.json:ro
devices:
- /dev/net/tun:/dev/net/tun
garage:
image: dxflrs/garage:v2.1.0
container_name: garage
restart: always
volumes:
- ${PWD}/garage.toml:/etc/garage.toml:ro
- meta:/var/lib/garage/meta
- data:/var/lib/garage/data
webui:
image: khairul169/garage-webui:1.1.0
container_name: garage-webui
restart: always
volumes:
- ${PWD}/garage.toml:/etc/garage.toml:ro
environment:
API_BASE_URL: "http://127.0.0.1:3903"
S3_ENDPOINT_URL: "http://127.0.0.1:3900"
volumes:
tailscale:
meta:
data:

View File

@@ -0,0 +1,28 @@
replication_factor = 1
consistency_mode = "consistent"
metadata_dir = "/var/lib/garage/meta"
data_dir = "/var/lib/garage/data"
db_engine = "sqlite"
compression_level = 1
rpc_bind_addr = "[::]:3901"
rpc_public_addr = "127.0.0.1:3901"
allow_world_readable_secrets = false
[s3_api]
s3_region = "garage"
api_bind_addr = "[::]:3900"
root_domain = ".s3.garage.alexlebens.net"
[s3_web]
bind_addr = "[::]:3902"
root_domain = ".web.garage.alexlebens.net"
add_host_to_metrics = true
[admin]
api_bind_addr = "[::]:3903"
metrics_require_token = true

View File

@@ -0,0 +1,44 @@
{
"TCP": {
"443": {
"HTTPS": true
}
},
"Web": {
"${TS_CERT_DOMAIN}:443": {
"Handlers": {
"/": {
"Proxy": "http://127.0.0.1:3909"
}
}
},
"${TS_CERT_DOMAIN}.s3:3900": {
"Handlers": {
"/": {
"Proxy": "http://127.0.0.1:3900"
}
}
},
"${TS_CERT_DOMAIN}.rpc:3901": {
"Handlers": {
"/": {
"Proxy": "http://127.0.0.1:3901"
}
}
},
"${TS_CERT_DOMAIN}.web:3902": {
"Handlers": {
"/": {
"Proxy": "http://127.0.0.1:3902"
}
}
},
"${TS_CERT_DOMAIN}.api:3903": {
"Handlers": {
"/": {
"Proxy": "http://127.0.0.1:3903"
}
}
}
}
}