AtAuth
at main 58 lines 1.7 kB view raw
1# ATAuth - Self-Hosted AT Protocol Authentication 2# 3# Quick Start: 4# 1. cp gateway/.env.example .env 5# 2. Edit .env -- set your domain and generate secrets 6# 3. docker compose up -d 7# 4. Open https://your-domain/admin/login 8 9services: 10 atauth: 11 build: 12 context: ./gateway 13 dockerfile: Dockerfile 14 image: ghcr.io/cache8063/atauth-gateway:latest 15 container_name: atauth-gateway 16 restart: unless-stopped 17 security_opt: 18 - no-new-privileges:true 19 read_only: true 20 tmpfs: 21 - /tmp 22 deploy: 23 resources: 24 limits: 25 memory: 512M 26 cpus: '1.0' 27 ports: 28 # Bind to localhost only -- use a reverse proxy for external access 29 - "127.0.0.1:3100:3100" 30 env_file: .env 31 environment: 32 # Override DB_PATH for container volume mount 33 - DB_PATH=/app/data/gateway.db 34 volumes: 35 - atauth-data:/app/data 36 healthcheck: 37 test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3100/health"] 38 interval: 30s 39 timeout: 3s 40 retries: 3 41 start_period: 10s 42 labels: 43 # Traefik labels (uncomment if using Traefik) 44 # - "traefik.enable=true" 45 # - "traefik.http.routers.atauth.rule=Host(`auth.example.com`)" 46 # - "traefik.http.routers.atauth.entrypoints=websecure" 47 # - "traefik.http.routers.atauth.tls.certresolver=letsencrypt" 48 # - "traefik.http.services.atauth.loadbalancer.server.port=3100" 49 50 # Homepage dashboard (optional) 51 - "homepage.group=Authentication" 52 - "homepage.name=ATAuth Gateway" 53 - "homepage.icon=lock" 54 - "homepage.description=AT Protocol SSO Gateway" 55 56volumes: 57 atauth-data: 58 driver: local