From e9155b5169f87e2481064306e141f03513e47334 Mon Sep 17 00:00:00 2001 From: Ryan Hamilton Date: Fri, 25 Jul 2025 09:15:33 -0500 Subject: [PATCH] feat: add initial Docker Compose configuration and environment variables --- .env.example | 19 +++++++++++++++++++ compose.yml | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 .env.example create mode 100644 compose.yml diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..3ce7864 --- /dev/null +++ b/.env.example @@ -0,0 +1,19 @@ +# Ivatar Configuration +# Copy this file to .env and customize the values + +# Site Configuration +SITE_NAME=My Ivatar Instance +BASE_URL=http://localhost:8080/avatar/ +SECURE_BASE_URL=https://your-domain.com/avatar/ + +# Database Configuration +POSTGRES_PASSWORD=ivatar_secure_password_change_me + +# Email Configuration +EMAIL_BACKEND=django.core.mail.backends.console.EmailBackend +SERVER_EMAIL=ivatar@your-domain.com +DEFAULT_FROM_EMAIL=ivatar@your-domain.com + +# Mailgun Configuration (optional) +# MAILGUN_API_KEY=your_mailgun_api_key +# MAILGUN_SENDER_DOMAIN=your-domain.com diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..249464d --- /dev/null +++ b/compose.yml @@ -0,0 +1,44 @@ +--- +services: + postgres: + image: postgres:16-alpine + restart: unless-stopped + volumes: + - postgres_data:/var/lib/postgresql/data + environment: + POSTGRES_DB: ivatar + POSTGRES_USER: ivatar + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-ivatar_secure_password} + networks: + - ivatar-network + ivatar: + image: gitea.purpleraft.com/ryan/ivatar-docker:latest + restart: unless-stopped + depends_on: + - postgres + ports: + - '8080:8080' + volumes: + - ivatar_data:/ivatar/media + environment: + SITE_NAME: ${SITE_NAME:-My Ivatar Instance} + BASE_URL: ${BASE_URL:-http://localhost:8080/avatar/} + SECURE_BASE_URL: ${SECURE_BASE_URL:-https://your-domain.com/avatar/} + POSTGRESQL_DATABASE: ivatar + POSTGRESQL_USER: ivatar + POSTGRESQL_PASSWORD: ${POSTGRES_PASSWORD:-ivatar_secure_password} + POSTGRESQL_HOST: postgres + POSTGRESQL_PORT: 5432 + EMAIL_BACKEND: ${EMAIL_BACKEND:-django.core.mail.backends.console.EmailBackend} + SERVER_EMAIL: ${SERVER_EMAIL:-ivatar@your-domain.com} + DEFAULT_FROM_EMAIL: ${DEFAULT_FROM_EMAIL:-ivatar@your-domain.com} + networks: + - ivatar-network + +volumes: + postgres_data: null + ivatar_data: null + +networks: + ivatar-network: + driver: bridge