How To: Run Orcpub on Windows 10 with Docker - Orcpub/orcpub GitHub Wiki
Requirements
Requires Microsoft Windows 10 Professional or Enterprise 64-bit. (Hyper-V Support IS required)
Install git with defaults. https://git-scm.com/downloads
Install Docker with defaults. (reboot is required) https://www.docker.com/get-started
Install Notepad++ https://notepad-plus-plus.org/download/ (optional but a good editor)
Install Cygwin https://www.cygwin.com/setup-x86_64.exe
Install to c:\cygwin\ and save the repository to c:\cygwin\
Next add c:\cygwin\bin\ to your System Variables Path.
# Select Path under System Variables
C:\Users\john>rundll32 sysdm.cpl,EditEnvironmentVariables
Pre install checks
Check to see if you have OpenSSL installed (Part of Cygwin)
Open a cmd prompt (start -> cmd) type:
openssl
The output should look like
C:\Users\john>openssl
OpenSSL>
(CNTRL+C to exit)
Install OrcPub
Open a cmd prompt (start -> cmd)
mkdir c:\orcpub
cd c:\orcpub
git clone https://github.com/Orcpub/orcpub.git
This will copy the orcpub from Github down to your orcpub dir Now edit docker-compose.yaml with notepad++ and change settings:
Change:
EMAIL_SERVER_URL: ''
EMAIL_ACCESS_KEY: ''
EMAIL_SECRET_KEY: ''
EMAIL_SERVER_PORT: 587
# Email address to send errors to
EMAIL_ERRORS_TO: ''
To your email server. In this example we will use gmail to send our emails. (Do not use this enter your own)
EMAIL_SERVER_URL: 'smtp.gmail.com'
EMAIL_ACCESS_KEY: '<your full [email protected]>'
EMAIL_SECRET_KEY: '<yourpassword>'
EMAIL_SERVER_PORT: 587
# Email address to send errors to
EMAIL_ERRORS_TO: '<email address to end errors to> - or just leave blank'
Generate Certificates:
Open a cmd prompt (if you closed it) (start -> cmd)
cd c:\orcpub\orcpub\deploy\
snakeoil.bat
You should see the output
C:\orcpub\orcpub\deploy>snakeoil.bat
C:\orcpub\orcpub\deploy>openssl req -subj "/C=PL/ST=Warsaw/L=Warsaw/O=Orcpub Web/OU=Orcpub/CN=*/" -x509 -nodes -days 365 -newkey rsa:2048 -keyout "snakeoil.key" -out "snakeoil.crt"
Generating a 2048 bit RSA private key
....+++++
...............................................................................+++++
unable to write 'random state'
writing new private key to 'snakeoil.key'
-----
(or replace the ones under deploy with your real ones, file names can be found in the deploy/nginx.conf)
Enable the shared drive. https://docs.docker.com/docker-for-windows/ See the Shared Drive section. Check the checkbox on C: and enter your credentials.
Start the docker:
Open a Admin PowerShell prompt (start -> PowerShell, right click run as admin)
cd c:\orcpub\orcpub\
docker-compose up --build
At this point you will see a lot of text scrolling by, if successful it will end with:
[main] INFO org.eclipse.jetty.server.ServerConnector - Started ServerConnector@1082883b{HTTP/1.1,[http/1.1, h2c, h2c-17, h2c-16, h2c-15, h2c-14]}{0.0.0.0}
[main] INFO org.eclipse.jetty.server.Server - Started @12505ms
Hit your ip address in your browser https://localhost or http://localhost and you should get the orcpub page.
Errors and what to do about them
ERROR: for orcpub_web_1 Cannot start service web: driver failed programming external connectivity on endpoint
orcpub_web_1 (10a745f2ec8f3a6bfc370f19c04dd56b1ce67ed66ac6a1b3388caa37d7c97db1):
Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error Permission denied
or
ERROR: for orcpub_web_1 Cannot start service web: driver failed programming external connectivity on endpoint
orcpub_web_1 (10a745f2ec8f3a6bfc370f19c04dd56b1ce67ed66ac6a1b3388caa37d7c97db1):
Error starting userland proxy: Bind for 0.0.0.0:443: unexpected error Permission denied
Something is using port 80 or 443. Disable World Wide Web Publishing Service or find the process with
netstat -anb|more