services:
  typecho:
    image: joyqi/typecho:1.3.0-php8.2-apache
    container_name: ${CONTAINER_NAME}
    restart: always
    command:
      - /bin/bash
      - -c
      - |
        set -e
        # Refresh core files while preserving config.inc.php, usr and .htaccess.
        for file in admin install var index.php install.php; do
          rm -rf "/app/$$file"
          cp -a "/usr/src/typecho/$$file" "/app/$$file"
          chown -R www-data:www-data "/app/$$file"
        done
        exec /bin/init_typecho apache
    environment:
      - TYPECHO_INSTALL=1
      - TYPECHO_DB_ADAPTER=${TYPECHO_DB_ADAPTER}
      - TYPECHO_DB_HOST=${PANEL_DB_HOST}
      - TYPECHO_DB_DATABASE=${PANEL_DB_NAME}
      - TYPECHO_DB_PORT=${PANEL_DB_PORT}
      - TYPECHO_DB_USER=${PANEL_DB_USER}
      - TYPECHO_DB_PASSWORD=${PANEL_DB_USER_PASSWORD}
      - TYPECHO_USER_NAME=${TYPECHO_USER_NAME}
      - TYPECHO_USER_PASSWORD=${TYPECHO_USER_PASSWORD}
      - TYPECHO_USER_MAIL=${TYPECHO_USER_MAIL}
      - TYPECHO_SITE_URL=${TYPECHO_EXTERNAL_URL}
    ports:
      - ${PANEL_APP_PORT_HTTP}:80
    networks:
      - 1panel-network
    volumes:
      - ./data:/app
    labels:
      createdBy: "Apps"
networks:
  1panel-network:
    external: true
