OneDev Auto-Deployer

A production-ready Docker Compose setup for OneDev, utilizing Docker volumes for data management and Caddy for automatic SSL and reverse proxying.

Prerequisites

  • Docker & Docker Compose installed.
  • Ports 80, 443, and 6611 open on your firewall.
  • Your domain's DNS A-Record pointing to your server's IP address.

Deployment

  1. Clone this repository and enter the directory.
  2. Run the initial setup:
    chmod +x run.sh
    ./run.sh
    
  3. The script will create a .env file. Edit this file and set your DOMAIN and EMAIL.
  4. Run ./run.sh again to start the services.

SSL & HTTP Configuration

This deployment handles routing automatically via Caddy:

  1. Auto SSL (Let's Encrypt): If you provide an EMAIL in the .env file, Caddy will automatically fetch and renew an SSL certificate.
  2. Custom SSL: If you place cert.pem and key.pem inside the certs/ folder, Caddy will use those instead.
  3. Plain HTTP: If you leave EMAIL completely blank in the .env file and provide no custom certificates, Caddy will serve the site over plain HTTP on port 80.

Custom SSL Certificates (Optional)

By default, the script will automatically obtain a Let's Encrypt certificate for your domain.

If you want to use your own certificates:

  1. Place your certificate and key inside the certs/ folder.
  2. Rename them to exactly cert.pem and key.pem.
  3. Run ./run.sh. The script will detect them and use them instead of Let's Encrypt.

Managing Data

Data is stored securely in Docker managed volumes. To back up your OneDev data, you need to back up the onedev_data docker volume.

Description
No description provided
Readme 28 KiB
Languages
Shell 100%