obsidian #8

Merged
kevinheyer merged 4 commits from obsidian into main 2025-03-24 20:15:16 +00:00
3 changed files with 158 additions and 0 deletions
Showing only changes of commit 10140fabba - Show all commits

5
solidtime/.env-example Normal file
View file

@ -0,0 +1,5 @@
SOLIDTIME_VERSION=latest
SOLIDTIME_DOMAIN=solidtime.example.com
SOLIDTIME_POSTGRES_DATABASE=solidtime
SOLIDTIME_POSTGRES_USERNAME=solidtime
SOLIDTIME_POSTGRES_PASSWORD=randompassword

View file

@ -0,0 +1,109 @@
services:
app:
image: "solidtime/solidtime:${SOLIDTIME_VERSION:-latest}"
container_name: solidtime
restart: always
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.solidtime.entrypoints=http"
- "traefik.http.routers.solidtime.rule=Host(`${SOLIDTIME_DOMAIN:?error}`)"
- "traefik.http.middlewares.solidtime-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.solidtime.middlewares=solidtime-https-redirect"
- "traefik.http.routers.solidtime-secure.entrypoints=https"
- "traefik.http.routers.solidtime-secure.rule=Host(`${SOLIDTIME_DOMAIN:?error}`)"
- "traefik.http.routers.solidtime-secure.tls=true"
- "traefik.http.routers.solidtime-secure.service=solidtime"
- "traefik.http.services.solidtime.loadbalancer.server.port=8000"
networks:
- traefik
- solidtime
volumes:
- "app-storage:/var/www/html/storage"
- "./data/logs:/var/www/html/storage/logs"
- "./data/app-storage:/var/www/html/storage/app"
environment:
CONTAINER_MODE: http
healthcheck:
test: [ "CMD-SHELL", "curl --fail http://localhost:8000/health-check/up || exit 1" ]
env_file:
- laravel.env
depends_on:
- database
scheduler:
image: "solidtime/solidtime:${SOLIDTIME_VERSION:-latest}"
restart: always
networks:
- solidtime
volumes:
- "app-storage:/var/www/html/storage"
- "./data/logs:/var/www/html/storage/logs"
- "./data/app-storage:/var/www/html/storage/app"
environment:
CONTAINER_MODE: scheduler
healthcheck:
test: [ "CMD-SHELL", "supervisorctl status scheduler:scheduler_00" ]
env_file:
- laravel.env
depends_on:
- database
queue:
restart: always
image: "solidtime/solidtime:${SOLIDTIME_VERSION:-latest}"
networks:
- solidtime
volumes:
- "app-storage:/var/www/html/storage"
- "./data/logs:/var/www/html/storage/logs"
- "./data/app-storage:/var/www/html/storage/app"
environment:
CONTAINER_MODE: worker
WORKER_COMMAND: "php /var/www/html/artisan queue:work"
healthcheck:
test: [ "CMD-SHELL", "supervisorctl status worker:worker_00" ]
env_file:
- laravel.env
depends_on:
- database
database:
restart: always
image: 'postgres:${SOLIDTIME_POSTGRES_VERSION:-16}'
environment:
PGPASSWORD: '${SOLIDTIME_POSGRES_PASSWORD:?error}'
POSTGRES_DB: '${SOLIDTIME_POSTGRES_DATABASE:?error}'
POSTGRES_USER: '${SOLIDTIME_POSTGRES_USERNAME:?error}'
POSTGRES_PASSWORD: '${SOLIDTIME_POSTGRES_PASSWORD:?error}'
volumes:
- 'database-storage:/var/lib/postgresql/data'
networks:
- solidtime
healthcheck:
test:
- CMD
- pg_isready
- '-q'
- '-d'
- '${SOLIDTIME_POSTGRES_DATABASE}'
- '-U'
- '${SOLIDTIME_POSTGRES_USERNAME}'
retries: 3
timeout: 5s
gotenberg:
image: gotenberg/gotenberg:8
networks:
- solidtime
healthcheck:
test: [ "CMD", "curl", "--silent", "--fail", "http://localhost:3000/health" ]
networks:
traefik:
external: true
internal:
volumes:
database-storage:
app-storage:

View file

@ -0,0 +1,44 @@
APP_ENV="production"
APP_DEBUG="false"
APP_URL="https://solidtime.example.com"
APP_FORCE_HTTPS="true"
TRUSTED_PROXIES="0.0.0.0/0,2000:0:0:0:0:0:0:0/3"
# Authentication
APP_KEY=""
PASSPORT_PRIVATE_KEY=""
PASSPORT_PUBLIC_KEY=""
SUPER_ADMINS=""
# Logging
LOG_CHANNEL="stderr_daily"
LOG_LEVEL="debug"
# Database
DB_CONNECTION="pgsql"
DB_HOST="database"
DB_PORT="5432"
DB_SSLMODE="require"
DB_DATABASE="solidtime"
DB_USERNAME="solidtime"
DB_PASSWORD="randompassword"
# Mail
MAIL_MAILER="smtp"
MAIL_HOST=""
MAIL_PORT=""
MAIL_ENCRYPTION="tls"
MAIL_FROM_ADDRESS="no-reply@solidtime.example.com"
MAIL_FROM_NAME="solidtime"
MAIL_USERNAME=""
MAIL_PASSWORD=""
# Queue
QUEUE_CONNECTION="database"
# File storage
FILESYSTEM_DISK="local"
PUBLIC_FILESYSTEM_DISK="public"
# Services
GOTENBERG_URL="http://gotenberg:3000"