Files
SealShare/docker-compose.yml
T
Andreas Reinhold / reiniandClaude Opus 5 d860a16551
docker / test (8.5) (push) Successful in 2m13s
linter / quality (push) Successful in 1m8s
tests / ci (8.5) (push) Successful in 2m7s
docker / build-and-push (push) Failing after 9m54s
docker / release (push) Has been skipped
Move SealShare from GitHub to Gitea only
The workflows live in .gitea/workflows. The Docker workflow logs in to
the Gitea container registry with REGISTRY_TOKEN (Gitea's job token cannot
publish packages yet), publishes gitea.nonameweb.ch/nonameweb/sealshare
with a registry build cache, and makes the release on Gitea with the
version's section of the changelog as its notes.

The README, the website's quick start, both compose files and the image
label point to Gitea; the changelog announces the new image name and
links Gitea. GiteaOnlyTest keeps GitHub and ghcr.io out.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9NnLxnPp8vaaurb3Z1MFy
2026-09-13 13:59:07 +02:00

81 lines
2.6 KiB
YAML

services:
app:
image: gitea.nonameweb.ch/nonameweb/sealshare:latest
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- sealshare_storage:/app/storage/app
- sealshare_database:/app/database
- caddy_data:/data
- caddy_config:/config
environment:
APP_KEY: ${APP_KEY:?Set APP_KEY in .env or environment}
APP_URL: ${APP_URL:-http://localhost}
APP_ENV: ${APP_ENV:-production}
APP_DEBUG: ${APP_DEBUG:-false}
SERVER_NAME: ${SERVER_NAME:-localhost}
DB_CONNECTION: ${DB_CONNECTION:-sqlite}
DB_HOST: ${DB_HOST:-}
DB_PORT: ${DB_PORT:-}
DB_DATABASE: ${DB_DATABASE:-/app/database/database.sqlite}
DB_USERNAME: ${DB_USERNAME:-}
DB_PASSWORD: ${DB_PASSWORD:-}
LOG_CHANNEL: ${LOG_CHANNEL:-stderr}
LOG_LEVEL: ${LOG_LEVEL:-warning}
SESSION_DRIVER: ${SESSION_DRIVER:-database}
QUEUE_CONNECTION: ${QUEUE_CONNECTION:-database}
CACHE_STORE: ${CACHE_STORE:-database}
OCTANE_HTTPS: ${OCTANE_HTTPS:-false}
OCTANE_MAX_EXECUTION_TIME: ${OCTANE_MAX_EXECUTION_TIME:-300}
PHP_UPLOAD_MAX_FILESIZE: ${PHP_UPLOAD_MAX_FILESIZE:-4G}
PHP_POST_MAX_SIZE: ${PHP_POST_MAX_SIZE:-4G}
PHP_MAX_EXECUTION_TIME: ${PHP_MAX_EXECUTION_TIME:-300}
PHP_MAX_INPUT_TIME: ${PHP_MAX_INPUT_TIME:-300}
PHP_MEMORY_LIMIT: ${PHP_MEMORY_LIMIT:-512M}
LIVEWIRE_MAX_UPLOAD_TIME: ${LIVEWIRE_MAX_UPLOAD_TIME:-30}
healthcheck:
test: ["CMD", "curl", "--silent", "--fail", "http://localhost/up"]
interval: 30s
timeout: 5s
start_period: 10s
retries: 3
scheduler:
image: gitea.nonameweb.ch/nonameweb/sealshare:latest
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
entrypoint: ["php", "artisan", "schedule:work"]
volumes:
- sealshare_storage:/app/storage/app
- sealshare_database:/app/database
environment:
APP_KEY: ${APP_KEY:?Set APP_KEY in .env or environment}
APP_URL: ${APP_URL:-http://localhost}
APP_ENV: ${APP_ENV:-production}
APP_DEBUG: ${APP_DEBUG:-false}
DB_CONNECTION: ${DB_CONNECTION:-sqlite}
DB_HOST: ${DB_HOST:-}
DB_PORT: ${DB_PORT:-}
DB_DATABASE: ${DB_DATABASE:-/app/database/database.sqlite}
DB_USERNAME: ${DB_USERNAME:-}
DB_PASSWORD: ${DB_PASSWORD:-}
LOG_CHANNEL: ${LOG_CHANNEL:-stderr}
LOG_LEVEL: ${LOG_LEVEL:-warning}
depends_on:
app:
condition: service_healthy
volumes:
sealshare_storage:
sealshare_database:
caddy_data:
caddy_config: