mirror of
https://github.com/RayLabsHQ/gitea-mirror.git
synced 2026-01-27 12:50:54 +03:00
v3.5.4
This commit is contained in:
@@ -1,174 +0,0 @@
|
|||||||
version: "3.8"
|
|
||||||
|
|
||||||
services:
|
|
||||||
# PostgreSQL database for Authentik
|
|
||||||
authentik-db:
|
|
||||||
image: postgres:15-alpine
|
|
||||||
container_name: authentik-db
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
POSTGRES_USER: authentik
|
|
||||||
POSTGRES_PASSWORD: authentik-db-password
|
|
||||||
POSTGRES_DB: authentik
|
|
||||||
volumes:
|
|
||||||
- authentik-db-data:/var/lib/postgresql/data
|
|
||||||
networks:
|
|
||||||
- authentik-net
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD-SHELL", "pg_isready -U authentik"]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
|
|
||||||
# Redis cache for Authentik
|
|
||||||
authentik-redis:
|
|
||||||
image: redis:7-alpine
|
|
||||||
container_name: authentik-redis
|
|
||||||
restart: unless-stopped
|
|
||||||
command: redis-server --save 60 1 --loglevel warning
|
|
||||||
volumes:
|
|
||||||
- authentik-redis-data:/data
|
|
||||||
networks:
|
|
||||||
- authentik-net
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "redis-cli", "ping"]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
|
|
||||||
# Authentik Server
|
|
||||||
authentik-server:
|
|
||||||
image: ghcr.io/goauthentik/server:2024.2
|
|
||||||
container_name: authentik-server
|
|
||||||
restart: unless-stopped
|
|
||||||
command: server
|
|
||||||
environment:
|
|
||||||
# Core Settings
|
|
||||||
AUTHENTIK_SECRET_KEY: "change-me-to-a-random-50-char-string-for-production"
|
|
||||||
AUTHENTIK_ERROR_REPORTING__ENABLED: false
|
|
||||||
|
|
||||||
# Database
|
|
||||||
AUTHENTIK_POSTGRESQL__HOST: authentik-db
|
|
||||||
AUTHENTIK_POSTGRESQL__USER: authentik
|
|
||||||
AUTHENTIK_POSTGRESQL__NAME: authentik
|
|
||||||
AUTHENTIK_POSTGRESQL__PASSWORD: authentik-db-password
|
|
||||||
|
|
||||||
# Redis
|
|
||||||
AUTHENTIK_REDIS__HOST: authentik-redis
|
|
||||||
|
|
||||||
# Email (optional - for testing, uses console backend)
|
|
||||||
AUTHENTIK_EMAIL__HOST: localhost
|
|
||||||
AUTHENTIK_EMAIL__PORT: 25
|
|
||||||
AUTHENTIK_EMAIL__USE_TLS: false
|
|
||||||
AUTHENTIK_EMAIL__USE_SSL: false
|
|
||||||
AUTHENTIK_EMAIL__TIMEOUT: 10
|
|
||||||
AUTHENTIK_EMAIL__FROM: authentik@localhost
|
|
||||||
|
|
||||||
# Log Level
|
|
||||||
AUTHENTIK_LOG_LEVEL: info
|
|
||||||
|
|
||||||
# Disable analytics
|
|
||||||
AUTHENTIK_DISABLE_UPDATE_CHECK: true
|
|
||||||
AUTHENTIK_DISABLE_STARTUP_ANALYTICS: true
|
|
||||||
|
|
||||||
# Default admin user (only created on first run)
|
|
||||||
AUTHENTIK_BOOTSTRAP_PASSWORD: admin-password
|
|
||||||
AUTHENTIK_BOOTSTRAP_TOKEN: initial-admin-token
|
|
||||||
AUTHENTIK_BOOTSTRAP_EMAIL: admin@example.com
|
|
||||||
volumes:
|
|
||||||
- authentik-media:/media
|
|
||||||
- authentik-templates:/templates
|
|
||||||
ports:
|
|
||||||
- "9000:9000" # HTTP
|
|
||||||
- "9443:9443" # HTTPS (if configured)
|
|
||||||
networks:
|
|
||||||
- authentik-net
|
|
||||||
- gitea-mirror-net
|
|
||||||
depends_on:
|
|
||||||
authentik-db:
|
|
||||||
condition: service_healthy
|
|
||||||
authentik-redis:
|
|
||||||
condition: service_healthy
|
|
||||||
|
|
||||||
# Authentik Worker (background tasks)
|
|
||||||
authentik-worker:
|
|
||||||
image: ghcr.io/goauthentik/server:2024.2
|
|
||||||
container_name: authentik-worker
|
|
||||||
restart: unless-stopped
|
|
||||||
command: worker
|
|
||||||
environment:
|
|
||||||
# Same environment as server
|
|
||||||
AUTHENTIK_SECRET_KEY: "change-me-to-a-random-50-char-string-for-production"
|
|
||||||
AUTHENTIK_ERROR_REPORTING__ENABLED: false
|
|
||||||
AUTHENTIK_POSTGRESQL__HOST: authentik-db
|
|
||||||
AUTHENTIK_POSTGRESQL__USER: authentik
|
|
||||||
AUTHENTIK_POSTGRESQL__NAME: authentik
|
|
||||||
AUTHENTIK_POSTGRESQL__PASSWORD: authentik-db-password
|
|
||||||
AUTHENTIK_REDIS__HOST: authentik-redis
|
|
||||||
AUTHENTIK_EMAIL__HOST: localhost
|
|
||||||
AUTHENTIK_EMAIL__PORT: 25
|
|
||||||
AUTHENTIK_EMAIL__USE_TLS: false
|
|
||||||
AUTHENTIK_EMAIL__USE_SSL: false
|
|
||||||
AUTHENTIK_EMAIL__TIMEOUT: 10
|
|
||||||
AUTHENTIK_EMAIL__FROM: authentik@localhost
|
|
||||||
AUTHENTIK_LOG_LEVEL: info
|
|
||||||
AUTHENTIK_DISABLE_UPDATE_CHECK: true
|
|
||||||
AUTHENTIK_DISABLE_STARTUP_ANALYTICS: true
|
|
||||||
volumes:
|
|
||||||
- authentik-media:/media
|
|
||||||
- authentik-templates:/templates
|
|
||||||
networks:
|
|
||||||
- authentik-net
|
|
||||||
depends_on:
|
|
||||||
authentik-db:
|
|
||||||
condition: service_healthy
|
|
||||||
authentik-redis:
|
|
||||||
condition: service_healthy
|
|
||||||
|
|
||||||
# Gitea Mirror Application (uncomment to run together)
|
|
||||||
# gitea-mirror:
|
|
||||||
# build: .
|
|
||||||
# # OR use pre-built image:
|
|
||||||
# # image: ghcr.io/raylabshq/gitea-mirror:latest
|
|
||||||
# container_name: gitea-mirror
|
|
||||||
# restart: unless-stopped
|
|
||||||
# environment:
|
|
||||||
# # Core Settings
|
|
||||||
# BETTER_AUTH_URL: http://localhost:4321
|
|
||||||
# BETTER_AUTH_TRUSTED_ORIGINS: http://localhost:4321,http://localhost:9000
|
|
||||||
# BETTER_AUTH_SECRET: "your-32-character-secret-key-here"
|
|
||||||
#
|
|
||||||
# # GitHub Settings (configure as needed)
|
|
||||||
# GITHUB_USERNAME: ${GITHUB_USERNAME}
|
|
||||||
# GITHUB_TOKEN: ${GITHUB_TOKEN}
|
|
||||||
#
|
|
||||||
# # Gitea Settings (configure as needed)
|
|
||||||
# GITEA_URL: ${GITEA_URL}
|
|
||||||
# GITEA_USERNAME: ${GITEA_USERNAME}
|
|
||||||
# GITEA_TOKEN: ${GITEA_TOKEN}
|
|
||||||
# volumes:
|
|
||||||
# - ./data:/app/data
|
|
||||||
# ports:
|
|
||||||
# - "4321:4321"
|
|
||||||
# networks:
|
|
||||||
# - gitea-mirror-net
|
|
||||||
# depends_on:
|
|
||||||
# - authentik-server
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
authentik-db-data:
|
|
||||||
name: authentik-db-data
|
|
||||||
authentik-redis-data:
|
|
||||||
name: authentik-redis-data
|
|
||||||
authentik-media:
|
|
||||||
name: authentik-media
|
|
||||||
authentik-templates:
|
|
||||||
name: authentik-templates
|
|
||||||
|
|
||||||
networks:
|
|
||||||
authentik-net:
|
|
||||||
name: authentik-net
|
|
||||||
driver: bridge
|
|
||||||
gitea-mirror-net:
|
|
||||||
name: gitea-mirror-net
|
|
||||||
driver: bridge
|
|
||||||
@@ -1,130 +0,0 @@
|
|||||||
version: "3.8"
|
|
||||||
|
|
||||||
services:
|
|
||||||
# PostgreSQL database for Keycloak
|
|
||||||
keycloak-db:
|
|
||||||
image: postgres:15-alpine
|
|
||||||
container_name: keycloak-db
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
POSTGRES_DB: keycloak
|
|
||||||
POSTGRES_USER: keycloak
|
|
||||||
POSTGRES_PASSWORD: keycloak-db-password
|
|
||||||
volumes:
|
|
||||||
- keycloak-db-data:/var/lib/postgresql/data
|
|
||||||
networks:
|
|
||||||
- keycloak-net
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD-SHELL", "pg_isready -U keycloak"]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
|
|
||||||
# Keycloak Identity Provider
|
|
||||||
keycloak:
|
|
||||||
image: quay.io/keycloak/keycloak:23.0
|
|
||||||
container_name: keycloak
|
|
||||||
restart: unless-stopped
|
|
||||||
command: start-dev # Use 'start' for production with HTTPS
|
|
||||||
environment:
|
|
||||||
# Admin credentials
|
|
||||||
KEYCLOAK_ADMIN: admin
|
|
||||||
KEYCLOAK_ADMIN_PASSWORD: admin-password
|
|
||||||
|
|
||||||
# Database configuration
|
|
||||||
KC_DB: postgres
|
|
||||||
KC_DB_URL_HOST: keycloak-db
|
|
||||||
KC_DB_URL_DATABASE: keycloak
|
|
||||||
KC_DB_USERNAME: keycloak
|
|
||||||
KC_DB_PASSWORD: keycloak-db-password
|
|
||||||
|
|
||||||
# HTTP settings
|
|
||||||
KC_HTTP_ENABLED: true
|
|
||||||
KC_HTTP_PORT: 8080
|
|
||||||
KC_HOSTNAME_STRICT: false
|
|
||||||
KC_HOSTNAME_STRICT_HTTPS: false
|
|
||||||
KC_PROXY: edge # If behind a proxy
|
|
||||||
|
|
||||||
# Development settings (remove for production)
|
|
||||||
KC_HOSTNAME: localhost
|
|
||||||
KC_HOSTNAME_PORT: 8080
|
|
||||||
KC_HOSTNAME_ADMIN: localhost
|
|
||||||
|
|
||||||
# Features
|
|
||||||
KC_FEATURES: token-exchange,admin-fine-grained-authz
|
|
||||||
|
|
||||||
# Health and metrics
|
|
||||||
KC_HEALTH_ENABLED: true
|
|
||||||
KC_METRICS_ENABLED: true
|
|
||||||
|
|
||||||
# Log level
|
|
||||||
KC_LOG_LEVEL: INFO
|
|
||||||
# Uncomment for debug logging
|
|
||||||
# KC_LOG_LEVEL: DEBUG
|
|
||||||
# QUARKUS_LOG_CATEGORY__ORG_KEYCLOAK_SERVICES: DEBUG
|
|
||||||
ports:
|
|
||||||
- "8080:8080" # HTTP
|
|
||||||
- "8443:8443" # HTTPS (if configured)
|
|
||||||
- "9000:9000" # Management
|
|
||||||
networks:
|
|
||||||
- keycloak-net
|
|
||||||
- gitea-mirror-net
|
|
||||||
depends_on:
|
|
||||||
keycloak-db:
|
|
||||||
condition: service_healthy
|
|
||||||
volumes:
|
|
||||||
# For custom themes (optional)
|
|
||||||
- keycloak-themes:/opt/keycloak/themes
|
|
||||||
# For importing realm configurations
|
|
||||||
- ./keycloak-realm-export.json:/opt/keycloak/data/import/realm.json:ro
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:8080/health/ready"]
|
|
||||||
interval: 15s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 10
|
|
||||||
start_period: 60s
|
|
||||||
|
|
||||||
# Gitea Mirror Application (uncomment to run together)
|
|
||||||
# gitea-mirror:
|
|
||||||
# build: .
|
|
||||||
# # OR use pre-built image:
|
|
||||||
# # image: ghcr.io/raylabshq/gitea-mirror:latest
|
|
||||||
# container_name: gitea-mirror
|
|
||||||
# restart: unless-stopped
|
|
||||||
# environment:
|
|
||||||
# # Core Settings
|
|
||||||
# BETTER_AUTH_URL: http://localhost:4321
|
|
||||||
# BETTER_AUTH_TRUSTED_ORIGINS: http://localhost:4321,http://localhost:8080
|
|
||||||
# BETTER_AUTH_SECRET: "your-32-character-secret-key-here"
|
|
||||||
#
|
|
||||||
# # GitHub Settings (configure as needed)
|
|
||||||
# GITHUB_USERNAME: ${GITHUB_USERNAME}
|
|
||||||
# GITHUB_TOKEN: ${GITHUB_TOKEN}
|
|
||||||
#
|
|
||||||
# # Gitea Settings (configure as needed)
|
|
||||||
# GITEA_URL: ${GITEA_URL}
|
|
||||||
# GITEA_USERNAME: ${GITEA_USERNAME}
|
|
||||||
# GITEA_TOKEN: ${GITEA_TOKEN}
|
|
||||||
# volumes:
|
|
||||||
# - ./data:/app/data
|
|
||||||
# ports:
|
|
||||||
# - "4321:4321"
|
|
||||||
# networks:
|
|
||||||
# - gitea-mirror-net
|
|
||||||
# depends_on:
|
|
||||||
# keycloak:
|
|
||||||
# condition: service_healthy
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
keycloak-db-data:
|
|
||||||
name: keycloak-db-data
|
|
||||||
keycloak-themes:
|
|
||||||
name: keycloak-themes
|
|
||||||
|
|
||||||
networks:
|
|
||||||
keycloak-net:
|
|
||||||
name: keycloak-net
|
|
||||||
driver: bridge
|
|
||||||
gitea-mirror-net:
|
|
||||||
name: gitea-mirror-net
|
|
||||||
driver: bridge
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "gitea-mirror",
|
"name": "gitea-mirror",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "3.5.3",
|
"version": "3.5.4",
|
||||||
"engines": {
|
"engines": {
|
||||||
"bun": ">=1.2.9"
|
"bun": ">=1.2.9"
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user