Files
zerobyte/docker-compose.yml

127 lines
3.9 KiB
YAML

services:
zerobyte-dev:
build:
context: .
dockerfile: Dockerfile
target: development
container_name: zerobyte
restart: unless-stopped
devices:
- /dev/fuse:/dev/fuse
cap_add:
- SYS_ADMIN
env_file:
- .env.local
environment:
- NODE_ENV=development
ports:
- "${PORT:-3000}:3000"
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/lib/zerobyte:/var/lib/zerobyte
- ./app:/app/app
- ~/.config/rclone:/root/.config/rclone:ro
- ./tmp/:/test-data
zerobyte-prod:
# image: ghcr.io/nicotsx/zerobyte:v0.22.0
build:
context: .
dockerfile: Dockerfile
target: production
args:
- APP_VERSION=0.20.0
container_name: zerobyte
restart: unless-stopped
devices:
- /dev/fuse:/dev/fuse
cap_add:
- SYS_ADMIN
ports:
- "4096:4096"
environment:
- APP_SECRET=94bad4678ce84a60b9789bd2114a6bf780aeb38df426f7352c941c66e25d5c2b
- BASE_URL=http://localhost:4096
- PORT=4096
- LOG_LEVEL=debug
volumes:
- /etc/localtime:/etc/localtime:ro
- ~/.config/rclone:/root/.config/rclone:ro
- ./tmp:/test-data
- ./data:/var/lib/zerobyte
zerobyte-e2e:
build:
context: .
dockerfile: Dockerfile
target: production
container_name: zerobyte
restart: unless-stopped
environment:
- DISABLE_RATE_LIMITING=true
- APP_SECRET=94bad4678ce84a60b9789bd2114a6bf780aeb38df426f7352c941c66e25d5c2b
- BASE_URL=http://localhost:4096
- TRUSTED_ORIGINS=https://tinyauth.example.com:5557,https://localhost:5557
- NODE_EXTRA_CA_CERTS=/tinyauth-ca/caddy/pki/authorities/local/root.crt
- SSL_CERT_FILE=/tinyauth-ca/caddy/pki/authorities/local/root.crt
devices:
- /dev/fuse:/dev/fuse
cap_add:
- SYS_ADMIN
ports:
- "4096:4096"
depends_on:
tinyauth:
condition: service_healthy
volumes:
- /etc/localtime:/etc/localtime:ro
- ./playwright/data:/var/lib/zerobyte/data
- ./playwright/temp:/test-data
- ./playwright/tinyauth/caddy-data:/tinyauth-ca:ro
tinyauth-app:
image: ghcr.io/steveiliop56/tinyauth:v5
restart: unless-stopped
environment:
- TINYAUTH_APPURL=https://tinyauth.example.com:5557
- TINYAUTH_SERVER_PORT=3000
- TINYAUTH_SERVER_ADDRESS=0.0.0.0
- TINYAUTH_DATABASE_PATH=/data/tinyauth.db
- TINYAUTH_AUTH_USERSFILE=/config/users.txt
- TINYAUTH_OIDC_PRIVATEKEYPATH=/data/tinyauth_oidc_key
- TINYAUTH_OIDC_PUBLICKEYPATH=/data/tinyauth_oidc_key.pub
- TINYAUTH_OIDC_CLIENTS_ZEROBYTE_CLIENTID=zerobyte-test
- TINYAUTH_OIDC_CLIENTS_ZEROBYTE_CLIENTSECRET=test-secret-12345
- TINYAUTH_OIDC_CLIENTS_ZEROBYTE_TRUSTEDREDIRECTURIS=http://localhost:4096/api/auth/sso/callback/test-oidc-register,http://localhost:4096/api/auth/sso/callback/test-oidc-uninvited,http://localhost:4096/api/auth/sso/callback/test-oidc-invited,http://localhost:4096/api/auth/sso/callback/test-oidc-autolink
- TINYAUTH_OIDC_CLIENTS_ZEROBYTE_NAME=Zerobyte Test
- TINYAUTH_LOG_LEVEL=debug
- TINYAUTH_LOG_JSON=true
volumes:
- ./playwright/tinyauth/users.txt:/config/users.txt:ro
- ./playwright/tinyauth/app-data:/data
tinyauth:
image: caddy:2-alpine
restart: unless-stopped
depends_on:
- tinyauth-app
ports:
- "5557:5557"
volumes:
- ./playwright/tinyauth/caddy.json:/etc/caddy/caddy.json:ro
- ./playwright/tinyauth/caddy-data:/data
command: caddy run --config /etc/caddy/caddy.json
healthcheck:
test:
[
"CMD-SHELL",
"test -f /data/caddy/pki/authorities/local/root.crt && wget -qO- --no-check-certificate https://localhost:5557/.well-known/openid-configuration >/dev/null",
]
interval: 1s
timeout: 5s
retries: 30
networks:
default:
aliases:
- tinyauth.example.com