Skip to content

Instantly share code, notes, and snippets.

@BerendWouters
Created January 20, 2020 10:31
Show Gist options
  • Save BerendWouters/0745a8a6e2de50534a5ca9d3c0db3a75 to your computer and use it in GitHub Desktop.
Save BerendWouters/0745a8a6e2de50534a5ca9d3c0db3a75 to your computer and use it in GitHub Desktop.
Docker compose file for the CTFd/CTFd in Azure
version: '2'
services:
ctfd:
image: ctfd/ctfd:latest
user: root
restart: always
ports:
- "8000:8000"
environment:
- SECRET_KEY=REPLACE_WITH_RANDOM_KEY
- UPLOAD_FOLDER=/var/uploads
- DATABASE_URL=mysql+pymysql://root:ctfd@db/ctfd
- REDIS_URL=redis://cache:6379
- WORKERS=1
- LOG_FOLDER=/var/log/CTFd
- ACCESS_LOG=-
- ERROR_LOG=-
volumes:
- app_data-data-CTFd-logs:/var/log/CTFd
- app_data-data-CTFd-uploads:/var/uploads
- app_data-opt-CTFd:/opt/CTFd:ro
# depends_on:
# - db
networks:
default:
internal:
db:
image: mariadb:10.4
restart: always
environment:
- MYSQL_ROOT_PASSWORD=ctfd
- MYSQL_USER=ctfd
- MYSQL_PASSWORD=ctfd
- MYSQL_DATABASE=ctfd
volumes:
- db_data:/var/lib/mysql
networks:
internal:
# This command is required to set important mariadb defaults
command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --wait_timeout=28800, --log-warnings=0]
cache:
image: redis:4
restart: always
volumes:
- redis_data:/data
networks:
internal:
networks:
default:
internal:
internal: true
volumes:
app_data-data-CTFd-logs:
app_data-data-CTFd-uploads:
app_data-opt-CTFd:
redis_data:
db_data:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment