Crates.io | outpost |
lib.rs | outpost |
version | 0.0.8 |
source | src |
created_at | 2024-06-16 18:55:31.126221 |
updated_at | 2024-06-30 01:41:52.00125 |
description | A command-line application for managing outpost |
homepage | |
repository | https://github.com/fossable/outpost |
max_upload_size | |
id | 1273747 |
size | 121,473 |
outpost allows you to expose self-hosted web services to the Internet via popular cloud providers.
HTTP sites can be hosted with Cloudflare easily:
name: example_com
services:
outpost:
image: fossable/outpost:latest
depends_on:
- www
environment:
OUTPOST_CONFIG: |
{
"www.example.com": {
"service": "www",
"provider": "cloudflare",
"ports": ["80:443"]
}
}
OUTPOST_CLOUDFLARE_ORIGIN_CERT: |
-----BEGIN PRIVATE KEY-----
www:
image: httpd:latest
outpost
can also use an EC2 proxy to expose any TCP/UDP port. The proxy instance
communicates with the origin service via an ephemeral wireguard tunnel.
name: example_com
services:
outpost:
image: fossable/outpost:latest
depends_on:
- www
cap_add:
- NET_ADMIN
- SYS_MODULE
volumes:
- /lib/modules:/lib/modules
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
environment:
OUTPOST_CONFIG: |
{
"www.example.com": {
"service": "www",
"provider": "aws",
"ports": ["80:443"]
}
}
AWS_ACCESS_KEY_ID: <...>
AWS_SECRET_ACCESS_KEY: <...>
www:
image: httpd:latest