A modern wallpaper generation and management platform with AI-powered image generation capabilities. (light/night themes)
- page main with wallpapers
- preview one wallpaper with similar images
- page categories
- page found similar wallpapers by loaded image
- login/auth page
- page favorite images
- page image generation (for admin only)
- AI-powered wallpaper generation
- Real-time image processing
- RESTful API for wallpaper management
- Modern web frontend
- SSL/HTTPS support
- Automatic certificate renewal
- Frontend: React/Vite application
- Backend: Go server with REST API
- Image Generator: Python service with AI models
- Database: PostgreSQL
- Cache: Redis
- Vector Database: Milvus
- Reverse Proxy: Nginx with SSL
- Container Orchestration: Docker Compose
- Docker and Docker Compose
- Domain name pointing to your server
- At least 4GB RAM (for Milvus)
git clone <repository-url>
cd wallpaperioCreate .env files in the following directories:
server/.env.prodserver_generator/.env.prod
docker-compose up -dStep 1: Create directories for certbot
mkdir -p certbot/conf certbot/wwwStep 2: Generate SSL certificates
docker-compose run --rm certbot certonly \
--webroot \
--webroot-path=/var/www/certbot \
--email AkitaSpam@gmail.com \
--agree-tos \
--no-eff-email \
-d wallpaperio.online \
-d www.wallpaperio.onlineStep 3: Restart nginx to load SSL certificates
docker-compose restart nginxStep 4: Verify SSL is working
curl -I https://wallpaperio.onlineAdd to crontab for monthly renewal:
crontab -eAdd this line:
0 12 1 * * cd /root/projects/wallpaperio && docker-compose run --rm certbot renew && docker-compose restart nginx
This renews certificates on the 1st of every month at 12:00 PM UTC.
- Frontend: https://wallpaperio.online
- API: https://wallpaperio.online/api/
- Milvus Attu: http://localhost:8000
wallpaperio/
βββ frontend/ # React frontend
βββ server/ # Go backend API
βββ server_generator/ # Python image generation service
βββ data/ # Persistent data storage
βββ certbot/ # SSL certificates
β βββ conf/ # Certificate configuration
β βββ www/ # Webroot for validation
βββ nginx.conf # Nginx configuration
βββ docker-compose.yml # Container orchestration
βββ README.md # This file
The nginx.conf file handles:
- HTTP to HTTPS redirects
- SSL certificate configuration
- API proxy to Go server
- Frontend proxy to React app
- nginx: Reverse proxy with SSL
- frontend: React application
- go_server: Go API server
- python_generator_server: AI image generation
- celery_worker: Background task processing
- postgres: Database
- redis: Cache and message broker
- milvus: Vector database
- etcd: Milvus dependency
- minio: Milvus dependency
- attu: Milvus management UI
- Set up your domain DNS to point to your server
- Configure environment variables
- Generate SSL certificates
- Start services:
docker-compose up -d
- Manual renewal:
docker-compose run --rm certbot renew - Check certificate status:
docker-compose run --rm certbot certificates - Force renewal:
docker-compose run --rm certbot renew --force-renewal
docker-compose ps# All services
docker-compose logs
# Specific service
docker-compose logs nginx
docker-compose logs go_server
docker-compose logs python_generator_server# Check certificate expiration
openssl x509 -in certbot/conf/live/wallpaperio.online/fullchain.pem -text -noout | grep -A 2 "Validity"- SSL/TLS encryption enabled
- Automatic certificate renewal
- Containerized services
- Environment variable configuration
- No hardcoded secrets
- Monitor certificate expiration
- Check service logs for errors
- Update Docker images periodically
- Backup database data
- SSL issues: Check certificate paths and nginx configuration
- Service not starting: Check logs with
docker-compose logs <service> - Certificate renewal fails: Verify domain DNS settings