docker-nginx
By linuxserver
docker-swag
Nginx webserver and reverse proxy with php support and a built-in Certbot (Let's Encrypt) client. It also contains fail2ban for intrusion prevention. (by linuxserver)
docker-nginx | docker-swag | |
---|---|---|
1 | 296 | |
127 | 2,569 | |
0.8% | 3.2% | |
8.1 | 9.1 | |
6 days ago | about 23 hours ago | |
Dockerfile | Dockerfile | |
GNU General Public License v3.0 only | GNU General Public License v3.0 only |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
docker-nginx
Posts with mentions or reviews of docker-nginx.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-11-06.
-
Install nginx docker on DS920+
skip@PierHouseFiles:/volume1/docker/nginx-proxy$ sudo docker container inspect linuxserver-nginx Password: [ { "Id": "1992aa80d4546645e28dfc1d27b4fc54c10916da817b1a6150ef769bbbd32a20", "Created": "2022-11-06T22:07:59.711897196Z", "Path": "/init", "Args": [], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 1385, "ExitCode": 0, "Error": "", "StartedAt": "2022-11-07T00:54:46.198891333Z", "FinishedAt": "2022-11-07T00:54:34.639372852Z", "StartedTs": 1667782486, "FinishedTs": 1667782474 }, "Image": "sha256:8e3370038aa95ec282128b14524586d5c8144b3f05ccc265c8a9a75e482197ae", "ResolvConfPath": "/volume1/@docker/containers/1992aa80d4546645e28dfc1d27b4fc54c10916da817b1a6150ef769bbbd32a20/resolv.conf", "HostnamePath": "/volume1/@docker/containers/1992aa80d4546645e28dfc1d27b4fc54c10916da817b1a6150ef769bbbd32a20/hostname", "HostsPath": "/volume1/@docker/containers/1992aa80d4546645e28dfc1d27b4fc54c10916da817b1a6150ef769bbbd32a20/hosts", "LogPath": "/volume1/@docker/containers/1992aa80d4546645e28dfc1d27b4fc54c10916da817b1a6150ef769bbbd32a20/log.db", "Name": "/linuxserver-nginx", "RestartCount": 0, "Driver": "btrfs", "Platform": "linux", "MountLabel": "", "ProcessLabel": "", "AppArmorProfile": "docker-default", "ExecIDs": null, "HostConfig": { "Binds": [ "/volume1/docker/nginx-proxy/data:/data:rw", "/volume1/docker/nginx-proxy/letsencrypt:/etc/letsencrypt:rw", "/volume1/docker/nginx-proxy/config.json:/app/config/production.json:rw" ], "ContainerIDFile": "", "LogConfig": { "Type": "db", "Config": {} }, "NetworkMode": "npm_bridge", "PortBindings": { "443/tcp": [ { "HostIp": "", "HostPort": "4443" } ], "80/tcp": [ { "HostIp": "", "HostPort": "8880" } ] }, "RestartPolicy": { "Name": "always", "MaximumRetryCount": 0 }, "AutoRemove": false, "VolumeDriver": "", "VolumesFrom": null, "CapAdd": null, "CapDrop": null, "CgroupnsMode": "host", "Dns": null, "DnsOptions": null, "DnsSearch": null, "ExtraHosts": null, "GroupAdd": null, "IpcMode": "private", "Cgroup": "", "Links": null, "OomScoreAdj": 0, "PidMode": "", "Privileged": false, "PublishAllPorts": false, "ReadonlyRootfs": false, "SecurityOpt": null, "UTSMode": "", "UsernsMode": "", "ShmSize": 67108864, "Runtime": "runc", "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PS1=$(whoami)@$(hostname):$(pwd)\\$ ", "HOME=/root", "TERM=xterm", "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0", "S6_BEHAVIOUR_IF_STAGE2_FAILS=2", "MYSQL_DATABASE=nginxproxymanager", "MYSQL_USER=hidden", "MYSQL_PASSWORD=hidden", "MYSQL_ROOT_PASSWORD=hidden" ], "ConsoleSize": [ 0, 0 ], "Isolation": "", "CpuShares": 0, "Memory": 0, "NanoCpus": 0, "CgroupParent": "", "BlkioWeight": 0, "BlkioWeightDevice": null, "BlkioDeviceReadBps": null, "BlkioDeviceWriteBps": null, "BlkioDeviceReadIOps": null, "BlkioDeviceWriteIOps": null, "CpuPeriod": 0, "CpuQuota": 0, "CpuRealtimePeriod": 0, "CpuRealtimeRuntime": 0, "CpusetCpus": "", "CpusetMems": "", "Devices": null, "DeviceCgroupRules": null, "DeviceRequests": null, "KernelMemory": 0, "KernelMemoryTCP": 0, "MemoryReservation": 0, "MemorySwap": 0, "MemorySwappiness": null, "OomKillDisable": false, "PidsLimit": null, "Ulimits": null, "CpuCount": 0, "CpuPercent": 0, "IOMaximumIOps": 0, "IOMaximumBandwidth": 0, "MaskedPaths": [ "/proc/asound", "/proc/acpi", "/proc/kcore", "/proc/keys", "/proc/latency_stats", "/proc/timer_list", "/proc/timer_stats", "/proc/sched_debug", "/proc/scsi", "/sys/firmware" ], "ReadonlyPaths": [ "/proc/bus", "/proc/fs", "/proc/irq", "/proc/sys", "/proc/sysrq-trigger" ] }, "GraphDriver": { "Data": null, "Name": "btrfs" }, "Mounts": [ { "Type": "bind", "Source": "/volume1/docker/nginx-proxy/data", "Destination": "/data", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Type": "bind", "Source": "/volume1/docker/nginx-proxy/letsencrypt", "Destination": "/etc/letsencrypt", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Type": "bind", "Source": "/volume1/docker/nginx-proxy/config.json", "Destination": "/app/config/production.json", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Type": "volume", "Name": "7fbb4023bcb8e7d59ebc0792a5dc347ef82c9a749fe03d161e6453dcd9f2d722", "Source": "/volume1/@docker/volumes/7fbb4023bcb8e7d59ebc0792a5dc347ef82c9a749fe03d161e6453dcd9f2d722/_data", "Destination": "/config", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ], "Config": { "Hostname": "linuxserver-nginx", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "443/tcp": {}, "80/tcp": {} }, "Tty": true, "OpenStdin": true, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PS1=$(whoami)@$(hostname):$(pwd)\\$ ", "HOME=/root", "TERM=xterm", "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0", "S6_BEHAVIOUR_IF_STAGE2_FAILS=2", "MYSQL_DATABASE=nginxproxymanager", "MYSQL_USER=hidden", "MYSQL_PASSWORD=hidden", "MYSQL_ROOT_PASSWORD=hidden" ], "Cmd": null, "Image": "linuxserver/nginx:latest", "Volumes": { "/config": {} }, "WorkingDir": "", "Entrypoint": [ "/init" ], "OnBuild": null, "Labels": { "build_version": "Linuxserver.io version:- 1.20.2-r1-ls200 Build-date:- 2022-11-04T14:50:09+01:00", "maintainer": "aptalca", "org.opencontainers.image.authors": "linuxserver.io", "org.opencontainers.image.created": "2022-11-04T14:50:09+01:00", "org.opencontainers.image.description": "[Nginx](https://nginx.org/) is a simple webserver with php support. The config files reside in for easy user customization.", "org.opencontainers.image.documentation": "https://docs.linuxserver.io/images/docker-nginx", "org.opencontainers.image.licenses": "GPL-3.0-only", "org.opencontainers.image.ref.name": "e49aeaf3e1a21f85be2ea9c55bc4c59f090db35f", "org.opencontainers.image.revision": "e49aeaf3e1a21f85be2ea9c55bc4c59f090db35f", "org.opencontainers.image.source": "https://github.com/linuxserver/docker-nginx", "org.opencontainers.image.title": "Nginx", "org.opencontainers.image.url": "https://github.com/linuxserver/docker-nginx/packages", "org.opencontainers.image.vendor": "linuxserver.io", "org.opencontainers.image.version": "1.20.2-r1-ls200" }, "DDSM": false }, "NetworkSettings": { "Bridge": "", "SandboxID": "4e77b58ede86c73a1258e6062fb9ba46e86ad1664c768e05247efc7a9d176056", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": { "443/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "4443" } ], "80/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "8880" } ] }, "SandboxKey": "/var/run/docker/netns/4e77b58ede86", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "366e9218dba163346ef0afec8b9d44af9cd3fcb59ab953ee4ec1770a10127131", "Gateway": "172.17.0.1", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "172.17.0.4", "IPPrefixLen": 16, "IPv6Gateway": "", "MacAddress": "02:42:ac:11:00:04", "Networks": { "bridge": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "0ecdce302b301515ad78f03b22358badf987b3b717e6d554a487b34e59ed981a", "EndpointID": "366e9218dba163346ef0afec8b9d44af9cd3fcb59ab953ee4ec1770a10127131", "Gateway": "172.17.0.1", "IPAddress": "172.17.0.4", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:11:00:04", "DriverOpts": null }, "npm_bridge": { "IPAMConfig": null, "Links": null, "Aliases": [ "1992aa80d454", "linuxserver-nginx" ], "NetworkID": "320416ae6c03da99e99b2706b83135076461f7f1d6a5da299e06b340a3f40fbd", "EndpointID": "7e8d7891e647165f57e53aa97234b5070301a9677ad2bb9ec0306181a229edb1", "Gateway": "192.168.10.1", "IPAddress": "192.168.10.2", "IPPrefixLen": 24, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:c0:a8:0a:02", "DriverOpts": null }, "npm_network": { "IPAMConfig": null, "Links": null, "Aliases": [ "1992aa80d454", "linuxserver-nginx" ], "NetworkID": "9de50cd14ec2a8a9bacf1539de15880eca8f026d0bc12fc9a39f962f866ada3f", "EndpointID": "86736580c42dc525017fcfe75f493c0db04b225e404be5077ac103d5d54f3001", "Gateway": "192.168.0.1", "IPAddress": "192.168.0.198", "IPPrefixLen": 24, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:c0:a8:00:c6", "DriverOpts": null } } } } ] ############################################## ############################################## skip@PierHouseFiles:/volume1/docker/nginx-proxy$ sudo docker container inspect linuxserver-mariadb [ { "Id": "7aa9e9dcbf295f3ab5de0e62055cadcc4315bd7f63477e05c5a24b9c5eabc071", "Created": "2022-11-06T22:02:11.484075802Z", "Path": "/init", "Args": [], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 7058, "ExitCode": 0, "Error": "", "StartedAt": "2022-11-06T22:02:18.804575795Z", "FinishedAt": "0001-01-01T00:00:00Z", "StartedTs": 1667772138, "FinishedTs": -62135596800 }, "Image": "sha256:89cd4ef08db07c8f3ae6a3ba77c590b2ee29f6b431d78c0bcb769d5fc3338834", "ResolvConfPath": "/volume1/@docker/containers/7aa9e9dcbf295f3ab5de0e62055cadcc4315bd7f63477e05c5a24b9c5eabc071/resolv.conf", "HostnamePath": "/volume1/@docker/containers/7aa9e9dcbf295f3ab5de0e62055cadcc4315bd7f63477e05c5a24b9c5eabc071/hostname", "HostsPath": "/volume1/@docker/containers/7aa9e9dcbf295f3ab5de0e62055cadcc4315bd7f63477e05c5a24b9c5eabc071/hosts", "LogPath": "/volume1/@docker/containers/7aa9e9dcbf295f3ab5de0e62055cadcc4315bd7f63477e05c5a24b9c5eabc071/log.db", "Name": "/linuxserver-mariadb", "RestartCount": 0, "Driver": "btrfs", "Platform": "linux", "MountLabel": "", "ProcessLabel": "", "AppArmorProfile": "docker-default", "ExecIDs": null, "HostConfig": { "Binds": [ "/volume1/docker/mariadb:/var/lib/mysql:rw" ], "ContainerIDFile": "", "LogConfig": { "Type": "db", "Config": {} }, "NetworkMode": "bridge", "PortBindings": { "3306/tcp": [ { "HostIp": "", "HostPort": "3306" } ] }, "RestartPolicy": { "Name": "always", "MaximumRetryCount": 0 }, "AutoRemove": false, "VolumeDriver": "", "VolumesFrom": null, "CapAdd": null, "CapDrop": null, "CgroupnsMode": "host", "Dns": null, "DnsOptions": null, "DnsSearch": null, "ExtraHosts": null, "GroupAdd": null, "IpcMode": "private", "Cgroup": "", "Links": null, "OomScoreAdj": 0, "PidMode": "", "Privileged": false, "PublishAllPorts": false, "ReadonlyRootfs": false, "SecurityOpt": null, "UTSMode": "", "UsernsMode": "", "ShmSize": 67108864, "Runtime": "runc", "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PS1=$(whoami)@$(hostname):$(pwd)\\$ ", "HOME=/root", "TERM=xterm", "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0", "S6_VERBOSITY=1", "S6_STAGE2_HOOK=/docker-mods", "MYSQL_DIR=/config", "DATADIR=/config/databases" ], "ConsoleSize": [ 0, 0 ], "Isolation": "", "CpuShares": 0, "Memory": 0, "NanoCpus": 0, "CgroupParent": "", "BlkioWeight": 0, "BlkioWeightDevice": null, "BlkioDeviceReadBps": null, "BlkioDeviceWriteBps": null, "BlkioDeviceReadIOps": null, "BlkioDeviceWriteIOps": null, "CpuPeriod": 0, "CpuQuota": 0, "CpuRealtimePeriod": 0, "CpuRealtimeRuntime": 0, "CpusetCpus": "", "CpusetMems": "", "Devices": null, "DeviceCgroupRules": null, "DeviceRequests": null, "KernelMemory": 0, "KernelMemoryTCP": 0, "MemoryReservation": 0, "MemorySwap": 0, "MemorySwappiness": null, "OomKillDisable": false, "PidsLimit": null, "Ulimits": null, "CpuCount": 0, "CpuPercent": 0, "IOMaximumIOps": 0, "IOMaximumBandwidth": 0, "MaskedPaths": [ "/proc/asound", "/proc/acpi", "/proc/kcore", "/proc/keys", "/proc/latency_stats", "/proc/timer_list", "/proc/timer_stats", "/proc/sched_debug", "/proc/scsi", "/sys/firmware" ], "ReadonlyPaths": [ "/proc/bus", "/proc/fs", "/proc/irq", "/proc/sys", "/proc/sysrq-trigger" ] }, "GraphDriver": { "Data": null, "Name": "btrfs" }, "Mounts": [ { "Type": "bind", "Source": "/volume1/docker/mariadb", "Destination": "/var/lib/mysql", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Type": "volume", "Name": "01afa1366dc9bea2017f3b62a4d76804e574748adc9e686d1bc65ad9390460b9", "Source": "/volume1/@docker/volumes/01afa1366dc9bea2017f3b62a4d76804e574748adc9e686d1bc65ad9390460b9/_data", "Destination": "/config", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ], "Config": { "Hostname": "linuxserver-mariadb", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "3306/tcp": {} }, "Tty": true, "OpenStdin": true, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PS1=$(whoami)@$(hostname):$(pwd)\\$ ", "HOME=/root", "TERM=xterm", "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0", "S6_VERBOSITY=1", "S6_STAGE2_HOOK=/docker-mods", "MYSQL_DIR=/config", "DATADIR=/config/databases" ], "Cmd": null, "Image": "linuxserver/mariadb:latest", "Volumes": { "/config": {} }, "WorkingDir": "", "Entrypoint": [ "/init" ], "OnBuild": null, "Labels": { "build_version": "Linuxserver.io version:- 10.6.10-r0-ls73 Build-date:- 2022-11-05T06:47:10+01:00", "maintainer": "thelamer,nemchik", "org.opencontainers.image.authors": "linuxserver.io", "org.opencontainers.image.created": "2022-11-05T06:47:10+01:00", "org.opencontainers.image.description": "[Mariadb](https://mariadb.org/) is one of the most popular database servers. Made by the original developers of MySQL.", "org.opencontainers.image.documentation": "https://docs.linuxserver.io/images/docker-mariadb", "org.opencontainers.image.licenses": "GPL-3.0-only", "org.opencontainers.image.ref.name": "2f13b5a64a857dd49d67278b5abb06e991c5635c", "org.opencontainers.image.revision": "2f13b5a64a857dd49d67278b5abb06e991c5635c", "org.opencontainers.image.source": "https://github.com/linuxserver/docker-mariadb", "org.opencontainers.image.title": "Mariadb", "org.opencontainers.image.url": "https://github.com/linuxserver/docker-mariadb/packages", "org.opencontainers.image.vendor": "linuxserver.io", "org.opencontainers.image.version": "10.6.10-r0-ls73" }, "DDSM": false }, "NetworkSettings": { "Bridge": "", "SandboxID": "41129f258b07912c9cd44392723ca8010677876ba6fd725f6b8f9d2b4d103fbf", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": { "3306/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "3306" } ] }, "SandboxKey": "/var/run/docker/netns/41129f258b07", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "7feb012b60a2278633faabeb1b2d8137d5fd9aea89d32ee51f5b81ebc681a97d", "Gateway": "172.17.0.1", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "172.17.0.2", "IPPrefixLen": 16, "IPv6Gateway": "", "MacAddress": "02:42:ac:11:00:02", "Networks": { "bridge": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "0ecdce302b301515ad78f03b22358badf987b3b717e6d554a487b34e59ed981a", "EndpointID": "7feb012b60a2278633faabeb1b2d8137d5fd9aea89d32ee51f5b81ebc681a97d", "Gateway": "172.17.0.1", "IPAddress": "172.17.0.2", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:11:00:02", "DriverOpts": null } } } } ] ################################################ ## And here's my config.json ################################################ skip@PierHouseFiles:/volume1/docker/nginx-proxy$ cat config.json { "database": { "engine": "mysql", "host": "192.168.0.2", "name": "nginxproxymanager", "user": "hidden", "password": "hidden", "port": 3306 } }
docker-swag
Posts with mentions or reviews of docker-swag.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-05-05.
- Take a look at traefik, even if you don't use containers
- Armar mi propio server
-
Guide: Setting up Local DNS WITH PORTS
I have a NAS on .0.181 and a swag container (on a different port than nginx) on .0.180 that points to my public facing services. For obvious reasons, I don't want my public domain to point to any other ports/addresses on my home network. Additionally, as elegant as swag is, it requires authentication and so won't work for simple local DNS. I now have one local domain for each server and an nginx instance on each that resolves to my different services on each.
-
SWAG + Nextcloud AIO + OnlyOffice + Openproject: Fullchain cert connections required. I have the data but I'm not sure how to plug this all together...
OP is even linking the Github... https://github.com/linuxserver/docker-swag
-
Reverse Proxied services not accessible on LAN
I have an UnRAID server with a few services (Jellyfin, Nextcloud, etc.) running on it behind Linux Servers' SWAG reverse proxy container, which is built on Nginx and Let's Encrypt. This is pointed to a DuckDNS link, which is then pointed at my domain with a CNAME. So I can access Jellyfin, for example, at jellyfin.mydomain.com. A few weeks ago, due to seemingly unrelated issues, I got a new modem/router, an Arris SURFboard G34. For the first few weeks, everything was working as before. But now, when on my LAN, I can't get to my services at the proxied domain. It times out every time. There are no errors in SWAG's logs, nothing seems amiss in the router's web interface, and the services are available both at their IP:port address and, when not on my LAN, I can access them at the domain no problem.
- Fail2Ban – Daemon to ban hosts that cause multiple authentication errors
- Mealie and Swag sut issues
- Can't get Swag instance page
- Site marked dangerous
- Reverse proxy, where to start?