mirror of
https://github.com/R0m1k3/Apiflow-gateway.git
synced 2026-10-11 17:27:08 +02:00
Initial commit : Gateway Hostinger (frps + Caddy)
- frps : reçoit le tunnel frpc depuis le serveur magasin - Caddy : reverse proxy HTTPS avec SSL automatique Let's Encrypt - Expose api.ffnancy.fr → tunnel → API interne magasin Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
05802dd72f
5 files changed
+73
No files matched your search
@@ -0,0 +1,5 @@
|
||||
# Copier ce fichier en .env et remplir les valeurs
|
||||
|
||||
# Token partagé entre frps (Hostinger) et frpc (magasin)
|
||||
# Doit être identique dans frps.toml ET frpc.toml côté magasin
|
||||
FRP_TOKEN=CHANGE_ME_FRP_SECRET_TOKEN
|
||||
@@ -0,0 +1,5 @@
|
||||
.env
|
||||
# frps.toml contient le token secret — ne pas committer
|
||||
frps.toml
|
||||
caddy_data/
|
||||
caddy_config/
|
||||
@@ -0,0 +1,20 @@
|
||||
# Caddy obtient automatiquement le certificat Let's Encrypt pour api.ffnancy.fr
|
||||
# Prérequis : DNS A record api.ffnancy.fr → IP du serveur Hostinger
|
||||
|
||||
api.ffnancy.fr {
|
||||
# Proxifie vers le port exposé par frps (trafic tunnel depuis le magasin)
|
||||
reverse_proxy frps:13000
|
||||
|
||||
# Headers de sécurité
|
||||
header {
|
||||
X-Content-Type-Options nosniff
|
||||
X-Frame-Options DENY
|
||||
Referrer-Policy no-referrer
|
||||
}
|
||||
|
||||
# Logs
|
||||
log {
|
||||
output stdout
|
||||
level INFO
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
services:
|
||||
|
||||
# Reçoit le tunnel entrant du serveur magasin (frpc → frps)
|
||||
# Expose le port 7000 sur internet pour que le magasin puisse s'y connecter
|
||||
frps:
|
||||
image: snowdreamtech/frps:latest
|
||||
container_name: ff_frps
|
||||
volumes:
|
||||
- ./frps.toml:/etc/frp/frps.toml:ro
|
||||
ports:
|
||||
- "7000:7000" # connexions frpc entrant depuis le magasin
|
||||
restart: unless-stopped
|
||||
|
||||
# Reverse proxy HTTPS avec SSL automatique (Let's Encrypt)
|
||||
# Proxifie api.ffnancy.fr → tunnel frp → API du magasin
|
||||
caddy:
|
||||
image: caddy:2-alpine
|
||||
container_name: ff_caddy
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "443:443/udp"
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
||||
- caddy_data:/data
|
||||
- caddy_config:/config
|
||||
depends_on:
|
||||
- frps
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
caddy_data:
|
||||
caddy_config:
|
||||
@@ -0,0 +1,10 @@
|
||||
# Copier en frps.toml et remplir le token
|
||||
# frps.toml est exclu du git (contient le token secret)
|
||||
|
||||
bindAddr = "0.0.0.0"
|
||||
bindPort = 7000
|
||||
|
||||
auth.method = "token"
|
||||
auth.token = "CHANGE_ME_FRP_SECRET_TOKEN"
|
||||
|
||||
log.level = "info"
|
||||
Reference in new issue
Block a user