A lightweight web-based manager for Outline VPN servers and access keys.
- π Access Key Management: Create and manage VPN access keys with ease
- π Server Information: View server details and statistics
- π± Responsive Design: Modern, mobile-friendly interface built with Tailwind CSS
- π One-click Sharing: Copy access URLs to clipboard with a single click
- π³ Docker Support: Easy deployment with Docker
- Frontend: Next.js, TypeScript, Tailwind CSS
- VPN Integration: Outline VPN API
- Deployment: Docker
Before running this application, you need:
- Outline VPN Server: A running Outline VPN server
- API Access: API URL and fingerprint from your Outline server
- Runtime: Bun (recommended) or Node.js 18+
To get your Outline server API URL and fingerprint you can use this command on your Outline server:
cd opt/outline && cat access.txt-
Clone the repository
git clone https://github.com/enotcode/outline-manager.git cd outline-manager -
Install dependencies
bun install
-
Set up environment variables
Create a
.env.localfile in the root directory:OUTLINE_API_URL=https://your-outline-server:port/api OUTLINE_FINGERPRINT=your-server-fingerprint
-
Run the development server
bun dev
-
Open your browser
Navigate to http://localhost:3000
-
Create environment file
Create a
.envfile with your Outline server credentials:OUTLINE_API_URL=https://your-outline-server:port/api OUTLINE_FINGERPRINT=your-server-fingerprint
-
Deploy with Docker Compose
docker-compose up -d
The application will be available at http://localhost:3000
- Connection Error: Verify your
OUTLINE_API_URLandOUTLINE_FINGERPRINT - Build Failures: Ensure environment variables are set during Docker build
- Port Conflicts: Change the port mapping in docker-compose.override.yml if needed
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CHANGELOG.md for a list of changes.
This project is licensed under the MIT License - see the LICENSE file for details.