diff --git a/immich.env b/immich.env
new file mode 100644
index 0000000..d53d7dd
--- /dev/null
+++ b/immich.env
@@ -0,0 +1,106 @@
+##################################################################################
+# Database
+###################################################################################
+
+DB_HOSTNAME=immich_postgres
+DB_USERNAME=mol
+DB_PASSWORD=Gf%!CT&!bY6rUU
+DB_DATABASE_NAME=immich
+
+# Optional Database settings:
+# DB_PORT=5432
+
+###################################################################################
+# Redis
+###################################################################################
+
+REDIS_HOSTNAME=immich_redis
+
+# REDIS_URL will be used to pass custom options to ioredis.
+# Example for Sentinel
+# {"sentinels":[{"host":"redis-sentinel-node-0","port":26379},{"host":"redis-sentinel-node-1","port":26379},{"host":"redis-sentinel-node-2","port":26379}],"name":"redis-sentinel"}
+# REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJyZWRpcy1zZW50aW5lbDEiLCJwb3J0IjoyNjM3OX0seyJob3N0IjoicmVkaXMtc2VudGluZWwyIiwicG9ydCI6MjYzNzl9XSwibmFtZSI6Im15bWFzdGVyIn0=
+
+# Optional Redis settings:
+
+# Note: these parameters are not automatically passed to the Redis Container
+# to do so, please edit the docker-compose.yml file as well. Redis is not configured
+# via environment variables, only redis.conf or the command line
+
+# REDIS_PORT=6379
+# REDIS_DBINDEX=0
+# REDIS_USERNAME=
+# REDIS_PASSWORD=
+# REDIS_SOCKET=
+
+###################################################################################
+# Upload File Location
+#
+# This is the location where uploaded files are stored.
+###################################################################################
+
+UPLOAD_LOCATION=/mnt/data/opt/immich/upload
+
+###################################################################################
+# Typesense
+###################################################################################
+TYPESENSE_API_KEY=conghua20230212
+# TYPESENSE_ENABLED=false
+# TYPESENSE_URL uses base64 encoding for the nodes json.
+# Example JSON that was used:
+# [
+# { 'host': 'typesense-1.example.net', 'port': '443', 'protocol': 'https' },
+# { 'host': 'typesense-2.example.net', 'port': '443', 'protocol': 'https' },
+# { 'host': 'typesense-3.example.net', 'port': '443', 'protocol': 'https' },
+# ]
+# TYPESENSE_URL=ha://WwogICAgeyAnaG9zdCc6ICd0eXBlc2Vuc2UtMS5leGFtcGxlLm5ldCcsICdwb3J0JzogJzQ0MycsICdwcm90b2NvbCc6ICdodHRwcycgfSwKICAgIHsgJ2hvc3QnOiAndHlwZXNlbnNlLTIuZXhhbXBsZS5uZXQnLCAncG9ydCc6ICc0NDMnLCAncHJvdG9jb2wnOiAnaHR0cHMnIH0sCiAgICB7ICdob3N0JzogJ3R5cGVzZW5zZS0zLmV4YW1wbGUubmV0JywgJ3BvcnQnOiAnNDQzJywgJ3Byb3RvY29sJzogJ2h0dHBzJyB9LApd
+
+###################################################################################
+# Reverse Geocoding
+#
+# Reverse geocoding is done locally which has a small impact on memory usage
+# This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable
+# This ranges from 0-3 with 3 being the most precise
+# 3 - Cities > 500 population: ~200MB RAM
+# 2 - Cities > 1000 population: ~150MB RAM
+# 1 - Cities > 5000 population: ~80MB RAM
+# 0 - Cities > 15000 population: ~40MB RAM
+####################################################################################
+
+# DISABLE_REVERSE_GEOCODING=false
+# REVERSE_GEOCODING_PRECISION=3
+
+####################################################################################
+# WEB - Optional
+#
+# Custom message on the login page, should be written in HTML form.
+# For example:
+# PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.
Email: demo@demo.de
Password: demo"
+####################################################################################
+
+PUBLIC_LOGIN_PAGE_MESSAGE="葱花家的云相册"
+
+####################################################################################
+# Alternative Service Addresses - Optional
+#
+# This is an advanced feature for users who may be running their immich services on different hosts.
+# It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers.
+# Note: immich-microservices is bound to 3002, but no references are made
+####################################################################################
+
+IMMICH_WEB_URL=http://immich-web:3000
+IMMICH_SERVER_URL=http://immich-server:3001
+IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
+
+####################################################################################
+# Alternative API's External Address - Optional
+#
+# This is an advanced feature used to control the public server endpoint returned to clients during Well-known discovery.
+# You should only use this if you want mobile apps to access the immich API over a custom URL. Do not include trailing slash.
+# NOTE: At this time, the web app will not be affected by this setting and will continue to use the relative path: /api
+# Examples: http://localhost:3001, http://immich-api.example.com, etc
+####################################################################################
+
+#IMMICH_API_URL_EXTERNAL=http://localhost:3001
+#MACHINE_LEARNING_CLASSIFICATION_MODEL=google/vit-base-patch16-224
+#MACHINE_LEARNING_OBJECT_MODEL=facebook/detr-resnet-101