Expose local sites via secure tunnels using Expose app written in PHP.
🕹 f3l1x.io | 💻 f3l1x | 🐦 @xf3l1x
Fastest way:
docker run \
-it \
--rm \
-p 80:80 \
-e EXPOSE_HOST=yourdomain.dev \
-e EXPOSE_PORT=80 \
dockette/expose
Persistent way:
docker run \
-it \
--rm \
-p 80:80 \
-v $(pwd)/data:/data
dockette/expose
docker run \
-it \
--rm \
--network=host \
-e EXPOSE_HOST=yourdomain.dev \
-e EXPOSE_PORT=80 \
dockette/expose \
share \
--subdomain=foo \
http://0.0.0.0:5000
Use http://host.docker.internal:5000 on OSX.
You can easily setup Expose via environment variables. This is list of default values.
- EXPOSE_HOST=localhost # expose domain
- EXPOSE_PORT=8000 # expose port
- EXPOSE_USERNAME=dockette # dashboard user name
- EXPOSE_PASSWORD=expose # dashboard user password
- EXPOSE_TOKEN= # expose token
- EXPOSE_ADMIN=admin # dashboard subdomain
- EXPOSE_DB=/data/expose.db # expose database (for users)
For more details, take a look at Expose's official documentation.
How to test it?
# Server
docker run -it --rm -p 8000:8000 -e EXPOSE_HOST=expose.local dockette/expose
echo "Hello world" >> index.php
# Application
php -S http://0.0.0.0:5000 index.php
# Tunnel (Unix)
docker run -it --rm --network=host -e EXPOSE_HOST=expose.local dockette/expose share --subdomain=foo http://0.0.0.0:5000
Use http://host.docker.internal:5000 on OSX.
See how to contribute to this package.
This package is currently maintaining by these authors.
Consider to support f3l1x. Also thank you for using this package.