Compare commits

...

4 commits

Author SHA1 Message Date
85956e3183
update 2025-05-18 21:28:24 +08:00
e4d0a72877
update 2025-05-18 21:25:42 +08:00
b098331789
update 2025-05-18 21:20:49 +08:00
75ef48a4d0
update 2025-05-18 20:48:14 +08:00
3 changed files with 156 additions and 0 deletions

View file

@ -0,0 +1,92 @@
---
services:
postgres:
image: docker.io/library/postgres:16-alpine
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
volumes:
- database:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
POSTGRES_USER: ${PG_USER:-authentik}
POSTGRES_DB: ${PG_DB:-authentik}
env_file:
- .env
redis:
image: docker.io/library/redis:alpine
command: --save 60 1 --loglevel warning
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
start_period: 20s
interval: 30s
retries: 5
timeout: 3s
volumes:
- redis:/data
server:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.4.0}
restart: unless-stopped
command: server
environment:
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
volumes:
- ./media:/media
- ./custom-templates:/templates
env_file:
- .env
ports:
- "${COMPOSE_PORT_HTTP:-9000}:9000"
- "${COMPOSE_PORT_HTTPS:-9443}:9443"
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
worker:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.4.0}
restart: unless-stopped
command: worker
environment:
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
# `user: root` and the docker socket volume are optional.
# See more for the docker socket integration here:
# https://goauthentik.io/docs/outposts/integrations/docker
# Removing `user: root` also prevents the worker from fixing the permissions
# on the mounted folders, so when removing this make sure the folders have the correct UID/GID
# (1000:1000 by default)
user: root
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./media:/media
- ./certs:/certs
- ./custom-templates:/templates
env_file:
- .env
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
volumes:
database:
driver: local
redis:
driver: local

View file

@ -0,0 +1,28 @@
services:
gotosocial:
image: superseriousbusiness/gotosocial:0.19.1
container_name: gotosocial
restart: always
environment:
GTS_HOST: ${GTS_HOST}
GTS_TRUSTED_PROXIES: ${GTS_TRUSTED_PROXIES}
GTS_INSTANCE_LANGUAGE: ${GTS_INSTANCE_LANGUAGE}
GTS_OIDC_ENABLED: true
GTS_OIDC_ISSUER: ${GTS_OIDC_ISSUER}
GTS_OIDC_LINK_EXISTING: ${GTS_OIDC_LINK_EXISTING}
GTS_OIDC_ALLOWED_GROUPS: ${GTS_OIDC_ALLOWED_GROUPS}
GTS_OIDC_ADMIN_GROUPS: ${GTS_OIDC_ADMIN_GROUPS}
GTS_OIDC_CLIENT_ID: ${GTS_OIDC_CLIENT_ID}
GTS_OIDC_CLIENT_SECRET: ${GTS_OIDC_CLIENT_SECRET}
GTS_STORAGE_BACKEND: s3
GTS_STORAGE_S3_PROXY: false
GTS_STORAGE_S3_BUCKET: ${GTS_STORAGE_S3_BUCKET}
GTS_STORAGE_S3_ENDPOINT: ${GTS_STORAGE_S3_ENDPOINT}
GTS_STORAGE_S3_ACCESS_KEY: ${GTS_STORAGE_S3_ACCESS_KEY}
GTS_STORAGE_S3_SECRET_KEY: ${GTS_STORAGE_S3_SECRET_KEY}
ports:
- 80:8080
volumes:
- ${DATA_DIR:-./data}/gotosocial:/gotosocial/storage
- ${DATA_DIR:-./data}/cache:/gotosocial/.cache

36
umami/docker-compose.yaml Normal file
View file

@ -0,0 +1,36 @@
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-v2.18.1
container_name: umami
ports:
- 80:3000
environment:
DATABASE_URL: postgresql://umami:${POSTGRES_PASSWORD:-umami}@postgres:5432/umami
DATABASE_TYPE: postgresql
APP_SECRET: ${APP_SECRET}
init: true
restart: always
healthcheck:
test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
interval: 5s
timeout: 5s
retries: 5
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:17.5
container_name: postgres
restart: always
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-umami}
volumes:
- ${DATA_DIR:-./data}/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5