ci/woodpecker/pr/cli Pipeline was successful
ci/woodpecker/pr/config Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/push/cli Pipeline was successful
ci/woodpecker/push/config Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
59 lines
1.6 KiB
YAML
59 lines
1.6 KiB
YAML
services:
|
|
directory-app:
|
|
# Replace latest with a published version or digest to pin updates.
|
|
image: ghcr.io/eleith/directory:latest
|
|
platform: linux/amd64
|
|
# Optional values for ${VAR} references in directory.yaml.
|
|
env_file:
|
|
- path: .env
|
|
required: false
|
|
environment:
|
|
PORT: ${PORT:-3000}
|
|
ports:
|
|
# Localhost only. Use '3000:3000' for LAN access; restrict it with your firewall.
|
|
# Change the left port to use a different host port, e.g. '127.0.0.1:8080:3000'.
|
|
# Set site.url explicitly when the external address differs.
|
|
- '127.0.0.1:${PORT:-3000}:${PORT:-3000}'
|
|
volumes:
|
|
- ./config:/app/config:ro
|
|
- ./public:/app/public:ro
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp:rw,noexec,nosuid,size=16m
|
|
cap_drop:
|
|
- ALL
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- node
|
|
- --eval
|
|
- fetch('http://localhost:'+(process.env.PORT || '3000')+'/healthz').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))
|
|
interval: 30s
|
|
timeout: 3s
|
|
start_period: 5s
|
|
retries: 3
|
|
|
|
directory-cli:
|
|
# Keep this version matched to the web image if you pin it.
|
|
image: ghcr.io/eleith/directory-cli:latest
|
|
platform: linux/amd64
|
|
profiles:
|
|
- tools
|
|
# Optional values for ${VAR} references in directory.yaml.
|
|
env_file:
|
|
- path: .env
|
|
required: false
|
|
environment:
|
|
PORT: ${PORT:-3000}
|
|
volumes:
|
|
- ./config:/app/config:ro
|
|
read_only: true
|
|
network_mode: none
|
|
cap_drop:
|
|
- ALL
|
|
security_opt:
|
|
- no-new-privileges:true
|