139 lines
6.6 KiB
YAML
139 lines
6.6 KiB
YAML
captainVersion: 4
|
|
services:
|
|
$$cap_appname-api:
|
|
caproverExtra:
|
|
containerHttpPort: 8000
|
|
image: ghcr.io/saleor/saleor:$$cap_SALEOR_CORE_VERSION
|
|
environment:
|
|
DASHBOARD_URL: http://$$cap_appname.$$cap_root_domain
|
|
DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB
|
|
CELERY_BROKER_URL: redis://srv-captain--$$cap_appname-cache
|
|
DEFAULT_FROM_EMAIL: $$cap_SALEOR_DEFAULT_FROM_EMAIL
|
|
SECRET_KEY: $$cap_SALEOR_SECRET_KEY
|
|
DEFAULT_CHANNEL_SLUG: default-channel
|
|
ALLOWED_HOSTS: $$cap_appname-api.$$cap_root_domain
|
|
ALLOWED_CLIENT_HOSTS: $$cap_appname-api.$$cap_root_domain
|
|
ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL: $$cap_ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL
|
|
depends_on:
|
|
- $$cap_appname-db
|
|
- $$cap_appname-cache
|
|
volumes:
|
|
- $$cap_appname-media:/app/media
|
|
$$cap_appname:
|
|
image: ghcr.io/saleor/saleor-dashboard:$$cap_SALEOR_DASHBOARD_VERSION
|
|
environment:
|
|
API_URL: http://$$cap_appname-api.$$cap_root_domain/graphql/
|
|
$$cap_appname-db:
|
|
caproverExtra:
|
|
notExposeAsWebApp: 'true'
|
|
image: postgres:$$cap_POSTGRES_VERSION
|
|
environment:
|
|
POSTGRES_DB: $$cap_POSTGRES_DB
|
|
POSTGRES_USER: $$cap_POSTGRES_USER
|
|
POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD
|
|
volumes:
|
|
- $$cap_appname-db:/var/lib/postgresql/data
|
|
$$cap_appname-cache:
|
|
caproverExtra:
|
|
notExposeAsWebApp: 'true'
|
|
image: redis:$$cap_REDIS_VERSION
|
|
volumes:
|
|
- $$cap_appname-cache:/data
|
|
$$cap_appname-worker:
|
|
caproverExtra:
|
|
notExposeAsWebApp: 'true'
|
|
dockerfileLines:
|
|
- FROM ghcr.io/saleor/saleor:$$cap_SALEOR_CORE_VERSION
|
|
- CMD celery -A saleor --app=saleor.celeryconf:app worker --loglevel=info -B
|
|
environment:
|
|
DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB
|
|
CELERY_BROKER_URL: redis://srv-captain--$$cap_appname-cache
|
|
DEFAULT_FROM_EMAIL: $$cap_SALEOR_DEFAULT_FROM_EMAIL
|
|
SECRET_KEY: $$cap_SALEOR_SECRET_KEY
|
|
DEFAULT_CHANNEL_SLUG: default-channel
|
|
ALLOWED_HOSTS: $$cap_appname-api.$$cap_root_domain
|
|
ALLOWED_CLIENT_HOSTS: $$cap_appname-api.$$cap_root_domain
|
|
ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL: $$cap_ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL
|
|
depends_on:
|
|
- $$cap_appname-cache
|
|
volumes:
|
|
- $$cap_appname-media:/app/media
|
|
caproverOneClickApp:
|
|
displayName: Saleor
|
|
description: An open-source, GraphQL-first e-commerce platform delivering ultra-fast, dynamic and personalized shopping experiences
|
|
isOfficial: true
|
|
documentation: https://saleor.io
|
|
instructions:
|
|
start: |-
|
|
Saleor is an open-source ecosystem for building rich e-commerce experiences.
|
|
Its centerpiece is Saleor GraphQL API that processes complex online store logic.
|
|
|
|
**You will need access to your server via SSH to perform some commands after deployment. This needs to be done only once.**
|
|
end: |-
|
|
Saleor has been successfully deployed! It might take few moments before it's fully started.
|
|
|
|
Before you can start using it, you need to perform some steps.
|
|
You only need to do this once.
|
|
**Please screenshot/copy the following instructions before proceeding:**
|
|
|
|
1. Access your server via SSH
|
|
2. Execute following command to trigger database migrations: `docker exec -it $(docker ps --filter name=srv-captain--$$cap_appname-api -q) python3 manage.py migrate`
|
|
3. **Optional**: If you want to populate the database with sample data, execute following command: `docker exec -it $(docker ps --filter name=srv-captain--$$cap_appname-api -q) python3 manage.py populatedb`
|
|
4. Execute following command to create your account: `docker exec -it $(docker ps --filter name=srv-captain--$$cap_appname-api -q) python3 manage.py createsuperuser`
|
|
|
|
That's it!
|
|
|
|
You can access the dashboard at `http://$$cap_appname.$$cap_root_domain`
|
|
You can access the API at `http://$$cap_appname-api.$$cap_root_domain`
|
|
variables:
|
|
- id: $$cap_SALEOR_CORE_VERSION
|
|
label: Core | Version
|
|
description: Saleor core version. Check out their valid tags at https://github.com/saleor/saleor/pkgs/container/saleor
|
|
defaultValue: '3.12.5'
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_SALEOR_DASHBOARD_VERSION
|
|
label: Dashboard | Version
|
|
description: Saleor dashboard version. Check out their valid tags at https://github.com/saleor/saleor-dashboard/pkgs/container/saleor-dashboard
|
|
defaultValue: '3.12.1'
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_ENABLE_ACCOUNT_CONFIRMATION_BY_EMAIL
|
|
label: Core | Email Confirmation
|
|
description: Whether registering new customer accounts should require email confirmation.
|
|
defaultValue: 'False'
|
|
validRegex: /^(True|False)$/
|
|
- id: $$cap_POSTGRES_VERSION
|
|
label: Database | Version
|
|
description: PostgreSQL version. Check out their valid tags at https://hub.docker.com/_/postgres/tags
|
|
defaultValue: '15.0-alpine'
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_POSTGRES_DB
|
|
label: Database | Name
|
|
description: Name of the PostgreSQL database.
|
|
defaultValue: saleor
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_POSTGRES_USER
|
|
label: Database | User Name
|
|
description: Name of the PostgreSQL user.
|
|
defaultValue: saleor
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_POSTGRES_PASSWORD
|
|
label: Database | User Password
|
|
description: Password of the PostgreSQL user.
|
|
defaultValue: $$cap_gen_random_hex(16)
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_REDIS_VERSION
|
|
label: Cache | Version
|
|
description: Redis version. Check out their valid tags at https://hub.docker.com/_/redis/tags
|
|
defaultValue: '7.0-alpine'
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_SALEOR_DEFAULT_FROM_EMAIL
|
|
label: Mail | Version
|
|
description: Sender email address.
|
|
defaultValue: 'noreply@example.com'
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_SALEOR_SECRET_KEY
|
|
label: Security | Secret Key
|
|
description: Secret key.
|
|
defaultValue: $$cap_gen_random_hex(16)
|
|
validRegex: /.{1,}/
|